-
Notifications
You must be signed in to change notification settings - Fork 533
ENH: CompositeTransformUtil, new ANTs interface #2785
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2785 +/- ##
==========================================
- Coverage 67.45% 64.04% -3.41%
==========================================
Files 341 339 -2
Lines 43362 43340 -22
Branches 5379 5380 +1
==========================================
- Hits 29248 27757 -1491
- Misses 13417 14513 +1096
- Partials 697 1070 +373
Continue to review full report at Codecov.
|
@effigies sorry, I somehow missed the notification :-/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this looks good. A few minor suggestions. Also, can you merge master and make specs
?
@TheChymera No worries. Tagging you so this hits your inbox with higher probability. |
@effigies done. Did not include changes introduced by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I merged master and added the autotest from make specs
.
Looking at your example, I'm not sure the assemble
option will work. It looks like the first in_file
in that case is the output file name. If this is the case, this will almost always fail, as there is an existence check. And the outputs (affine_transform
, displacement_field
) don't really seem valid.
It may make sense to split this out into two separate interfaces (AssembleTransforms
and DisassembleTransforms
or similar). And it might be worth creating an .h5
file with more than two transforms. I suspect DisassembleTransforms
will then produce more than two outputs. And if you assemble in the opposite order (displacement field and then affine), the outputs won't be valid (the 00
and 01
will be switched).
Does that seem correct, or am I misunderstanding the tool? (I haven't used it myself.)
@effigies The function is generally used to transition between the newer .h5 format and the old .mat + .nii.gz format in ANTs. So generally these assumptions hold. I agree that a general-purpose solution would be even better, but in that case there's no way to know what transforms went into the file. Is there any way for nipype to just monitor what files were produce and return that list for the outputs? In any case I don't think splitting this fairly simple function further up would help. At most we can just disable the |
I don't think it works for |
@effigies with the new PR |
The outputs seem targeted towards disassemble only, with no mention of an assembled output file.
This seems fine, for now. The common case seems to be affine+warp.
If you know the pattern, you can use |
You're right, I've been editing this in parallel to some other things and lost sight of what I had already done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. A couple very minor suggestions. And can you make specs
and add the auto tests for this interface?
I can submit a separate PR for that. Hope this is good now. |
1.1.8 (January 28, 2019) * FIX: ANTS LaplacianThickness cmdline opts fixed up (nipy#2846) * FIX: Resolve LinAlgError during SVD (nipy#2838) * ENH: Add interfaces wrapping DIPY worflows (nipy#2830) * ENH: Update BIDSDataGrabber for pybids 0.7 (nipy#2737) * ENH: Add FSL `eddy_quad` interface (nipy#2825) * ENH: Support tckgen -select in MRtrix3 v3+ (nipy#2823) * ENH: Support for BIDS event files (nipy#2845) * ENH: CompositeTransformUtil, new ANTs interface (nipy#2785) * RF: Move pytest and pytest-xdist from general requirement into tests_required (nipy#2850) * DOC: Add S3DataGrabber example (nipy#2849) * DOC: Skip conftest module in API generation (nipy#2852) * DOC: Hyperlink DOIs to preferred resolver (nipy#2833) * MAINT: Install numpy!=1.16.0 from conda in Docker (nipy#2862) * MAINT: Drop pytest-xdist requirement, minimum pytest version (nipy#2856) * MAINT: Disable numpy 1.16.0 for Py2.7 (nipy#2855) * tag '1.1.8': (79 commits) MNT: Add @feilong to .zenodo, update ordering MNT: Update .mailmap MNT: Update .zenodo ordering Accept invitation as Zenodo release co-author (see nipy#2864) MAINT: Update .mailmap BF: allowing bids_event_file as alternate input MNT: Update .zenodo ordering MNT: Version 1.1.8 DOC: 1.1.8 changelog Update nipype/interfaces/dipy/tracks.py Update nipype/interfaces/dipy/reconstruction.py MNT: Install numpy!=1.16.0 from conda in Docker Add FSL auto test remake specs Update nipype/interfaces/io.py Remove return type named tuple Update nipype/info.py STY: Whitespace, line length Remove out_ prefix from EddyQuad outputs Apply minor edits from code review ...
Haven't pushed with
make specs
, since it edited exclusively files unrelated to this PR.Acknowledgment