InsightSoftwareConsortium / ITKElastix

An ITK Python interface to elastix, a toolbox for rigid and nonrigid registration of images
Apache License 2.0
207 stars 22 forks source link

Documentation and import fixing #158

Open Svdvoort opened 2 years ago

Svdvoort commented 2 years ago

Is there any documentation on the full API of ITKElastix? Although the examples are helpful, it can sometimes be hard to find exactly what modules/functions are available and what input parameters they take. For example, I couldn't find an overview of the input parameters for elastix_registration_method, but I guessed most of them from the examples. However, a simple API overview would be very helpful.

Related and in addition to this, I'm having trouble with the ITKElastix import and its functions. I'm using Visual Studio Code to develop my code, and normally it shows the available functions/objects etc from an imported module. For example after having import itk typing itk. would show elastix_registration_method as an available function, along with all its input parameters. However, this does not work for this package, and I get errors that for example ParameterObject and elastix_registration_method are not known for the itk import. I always find this function very helpful, as it allows an overview of functions/input parameters at a quick glance. I think this is an overarching problem with the itk package though, since functions since as join_series_image_filter are also not recognized (however, imread and imwrite are). Is there a way to fix these imports?

dzenanz commented 2 years ago

Recently, there was a push to improve code completion abilities of ITK's Python packages. The most recent PR is https://github.com/InsightSoftwareConsortium/ITK/pull/3444. @tbirdso and @hjmjohnson might comment about current state of things.

dzenanz commented 2 years ago

This is now a duplicate of https://github.com/InsightSoftwareConsortium/ITK/issues/3486.

tbirdso commented 2 years ago

I agree that the issue may lie in ITK Python. I am able to reproduce in VS Code. https://github.com/InsightSoftwareConsortium/ITK/pull/3200 was intended to generate ITK stub files to help with this across platforms but autocomplete testing focused mainly on Linux and macOS, https://github.com/InsightSoftwareConsortium/ITK/pull/3444 was a bugfix for a compiler error but did not test autocomplete on Windows.

I've entered https://github.com/InsightSoftwareConsortium/ITK/issues/3486 to track going forward.

Spenhouet commented 1 year ago

@dzenanz Is there any documentation on all possible parameters for the parameter object? I'm struggling to find anything. Could you share some reference?

thewtex commented 1 year ago

Hi @Spenhouet ,

More documentation for elastix in general can be found in its manual.

Parameter options can be found here. Transform parameters here.

@N-Dekker side-note, the Doxygen CSS seems to not render well on my system:

image

N-Dekker commented 1 year ago

the Doxygen CSS seems to not render well on my system

@thewtex Thanks, it seems that Doxygen CSS is not supported well with some browser settings specifying a dark theme or dark appearance. Haven't yet figured out how to fix it. Any suggestion is welcome.