- Notifications
You must be signed in to change notification settings - Fork 536
[FSL] BEDPOSTX Revisited #922
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
Old interfaces are still available as OldBEDPOSTX and OldXFibres
I've been executing the new parallel workflow with the HCP data and looks good, but we could benefit from somebody else taking a look on this PR before merging. |
We are dealing with breaking backward compatibility here. Maybe it's better to add a deprecation warning to the existing interfaces that need updating, create aliases for them with version number in the name (instead of "Old"). This will allow users to use new interfaces (with explicit versioned name) now but will also give other users time to update their code. We will switch the aliases in the next release. What do you think @satra ? This release Next release |
is there any chance we can do it like the FSLGLMInput/OutputSpec? basically it uses FSL's version to determine what parameters are available. also this resulted in deprecation of ContrastMgr as of FSL 5.0.7. |
also for BEDPOSTX it would be good to have support for BEDPOSTX_GPU which is simply a change of command.
|
Ok, I'll have news soon about all these suggestions 👍 |
@chrisfilo my last commit should be OK with the new naming convention. @satra, I've added support to the gpu version, and also implemented the interface choice based on FSL version. Still, I'm unsure about the actual implementation I've done (see this last part: oesteban@2afca1b#diff-367197de1c2db8cdd0dc656b3c96476dR1153) |
@oesteban - i'll review it later today! |
Conflicts: CHANGES nipype/algorithms/misc.py nipype/interfaces/freesurfer/utils.py
i'm going through this now. @oesteban - will send a pull-request shortly |
* upstream/master: typo in nipype/workflows/dmri/fsl/epi.py Add tests [algorithms] Overlap interface revision
* upstream/master: moved the import inside the constructor Fixes nipy#933
* upstream/master: fix: change where nlmeans check is made fix: topup when out_base is a path
@oesteban - sent a pull request to your repo |
* upstream/master: Update test functions BEFORE tests
the travis error in this is due to the fact when there is no fsl, the auto test i generated for fsl 5.0.7 fails. the test should be skipped if there is no fsl. let me see if there is a quick fix for this. |
* master: (59 commits) sty: removed old interface code writer tst: removed test skipping code - can be overwritten easily by adding a named test tst: add generation for removing a test when package is not found tst: updated test for eddy ref: eddy to remove setting inputs tst: fix spm tests fix: environment variable must be a string sty: white spaces enh: add threading option to Eddy fix: set default number of threads for ITK programs to 1 enh: add FAST option for SPM12 Added backward compatibility for old segment. updated docs, deleted older workflows better error reporting add test for niu.Split update auto test added squeeze to split Fixed bug in antsRegistration outputs. Close nipy#944 changelog fixed tests ...
@oesteban - just sent a PR to your branch - should help with the tests. |
@oesteban - for this PR, could you please merge with upstream master, make specs, commit and push? for some reason a couple of files are being included that shouldn't have been. |
@satra: true, both |
@oesteban - i'm going to merge this. can you continue testing this with your workflows? |
@satra sure! I'm processing a batch of cases from the HCP |
BEDPOSTX
andXFibres
.BEDPOSTX
has a new command line interface as of FSL 5.0, which replicatesXFibres
interface. Former interface is still available, and usable in nipype usingOldBEDPOSTX
.XFibres
has some new adaptations.OldBEDPOSTX
andOldXFibres
.create_bedpostx_pipeline
bedpostx_parallel
workflow, that makes a better slicing of data to enable parallel processing in small chunks (when processing diffusion data with many sampled directions, memory consumption explodes even for the slice-by-slice approach).SplitROIs
andMergeROIs
) as helpers for parallel pipelinings. Also created a regresion test to check consistency between both.