SIRF icon indicating copy to clipboard operation
SIRF copied to clipboard

NiftyRegf3d parameters docs.

Open AnderBiguri opened this issue 4 years ago • 6 comments

As far as I understand there is no way for a user to link NiftyReg's reg_f3d -h docs (really, the only user-oriented docs they seem to have) to sirf.Reg.NiftyRegf3d's set_params function.

One can see the wrapped functions using print_all_wrapped_methods however these do not have the same names as reg_f3d -h variables and the best one can do is assume what they do.

e.g. from the reg_f3d help:

[reg_f3d] *** Spline options (All defined at full resolution):
[reg_f3d]       -sx <float>             Final grid spacing along the x axis in mm (in voxel if negative value) [5 voxels]
[reg_f3d]       -sy <float>             Final grid spacing along the y axis in mm (in voxel if negative value) [sx value]
[reg_f3d]       -sz <float>             Final grid spacing along the z axis in mm (in voxel if negative value) [sx value]

is this the same as SetSpacing(unsigned,dataType) ? possibly, maybe. Or is it not wrapped?

EDIT: apparently the usage is set_parameter("SetSpacing", "2", "-10"), which is not clear by the prior function signature given.

In general, its not documented.


This has the unfortunate effect of basically either making the user to read the source code of possibly 2 repositories, or simply being completely hidden and "not existent". Ideally we would want to let users know what they can do and how. So how can we document this?

Chatting with @rijobro it seems that the solution is not necessarily trivial. The SetXX functions are wrapped and can be valid for more than just f3d.

He suggested adding some docs in /src/Registration/callable_NR_f3d_methods.txt .

I am not sure where they would be best, but as always, I think that the python user should have direct/easy access to the docs/input args of the functions they are using, and not need to "search" many layers.

Any thoughts on how to tackle this are welcome

AnderBiguri avatar Jun 03 '20 11:06 AnderBiguri