@@ -586,7 +586,7 @@ class EddyInputSpec(FSLCommandInputSpec):
586
586
default_value = 'eddy_corrected' ,
587
587
usedefault = True ,
588
588
argstr = '--out=%s' ,
589
- desc = 'basename for output (warped) image' )
589
+ desc = 'Basename for output image' )
590
590
session = File (
591
591
exists = True ,
592
592
argstr = '--session=%s' ,
@@ -595,37 +595,39 @@ class EddyInputSpec(FSLCommandInputSpec):
595
595
exists = True ,
596
596
argstr = '--topup=%s' ,
597
597
requires = ['in_topup_movpar' ],
598
- desc = 'topup file containing the field coefficients' )
598
+ desc = 'Topup results file containing the field coefficients' )
599
599
in_topup_movpar = File (
600
600
exists = True ,
601
601
requires = ['in_topup_fieldcoef' ],
602
- desc = 'topup movpar.txt file' )
602
+ desc = 'Topup results file containing the movement parameters ' )
603
603
field = File (
604
604
argstr = '--field=%s' ,
605
- desc = ('NonTOPUP fieldmap scaled in Hz - filename has '
606
- 'to be provided without an extension. TOPUP is '
607
- 'strongly recommended' ))
605
+ desc = ('Non-topup derived fieldmap scaled in Hz' ))
608
606
field_mat = File (
609
607
exists = True ,
610
608
argstr = '--field_mat=%s' ,
611
- desc = ('Matrix that specifies the relative locations of '
612
- 'the field specified by --field and first volume '
613
- 'in file --imain' ))
609
+ desc = ('Matrix specifying the relative positions of '
610
+ 'the fieldmap, --field, and the first volume '
611
+ 'of the input file, --imain' ))
614
612
615
613
flm = traits .Enum (
616
- 'linear' ,
617
614
'quadratic' ,
615
+ 'linear' ,
618
616
'cubic' ,
617
+ usedefault = True ,
619
618
argstr = '--flm=%s' ,
620
619
desc = 'First level EC model' )
621
620
slm = traits .Enum (
622
621
'none' ,
623
622
'linear' ,
624
623
'quadratic' ,
624
+ usedefault = True ,
625
625
argstr = '--slm=%s' ,
626
626
desc = 'Second level EC model' )
627
627
fep = traits .Bool (
628
- False , argstr = '--fep' , desc = 'Fill empty planes in x- or y-directions' )
628
+ False ,
629
+ argstr = '--fep' ,
630
+ desc = 'Fill empty planes in x- or y-directions' )
629
631
initrand = traits .Bool (
630
632
False ,
631
633
argstr = '--initrand' ,
@@ -634,6 +636,7 @@ class EddyInputSpec(FSLCommandInputSpec):
634
636
interp = traits .Enum (
635
637
'spline' ,
636
638
'trilinear' ,
639
+ usedefault = True ,
637
640
argstr = '--interp=%s' ,
638
641
desc = 'Interpolation model for estimation step' )
639
642
nvoxhp = traits .Int (
@@ -660,6 +663,8 @@ class EddyInputSpec(FSLCommandInputSpec):
660
663
desc = "Do NOT perform a post-eddy alignment of "
661
664
"shells" )
662
665
fwhm = traits .Float (
666
+ default_value = 0.0 ,
667
+ usedefault = True ,
663
668
desc = ('FWHM for conditioning filter when estimating '
664
669
'the parameters' ),
665
670
argstr = '--fwhm=%s' )
@@ -668,6 +673,7 @@ class EddyInputSpec(FSLCommandInputSpec):
668
673
method = traits .Enum (
669
674
'jac' ,
670
675
'lsr' ,
676
+ usedefault = True ,
671
677
argstr = '--resamp=%s' ,
672
678
desc = ('Final resampling method (jacobian/least '
673
679
'squares)' ))
@@ -721,35 +727,36 @@ class EddyInputSpec(FSLCommandInputSpec):
721
727
mporder = traits .Int (
722
728
argstr = '--mporder=%s' ,
723
729
desc = 'Order of slice-to-vol movement model' ,
724
- requires = ['slspec' ],
725
730
min_ver = '5.0.11' )
726
731
s2v_niter = traits .Int (
727
732
argstr = '--s2v_niter=%s' ,
728
733
desc = 'Number of iterations for slice-to-vol' ,
729
- requires = ['slspec ' ],
734
+ requires = ['mporder ' ],
730
735
min_ver = '5.0.11' )
731
736
s2v_lambda = traits .Int (
732
737
agstr = '--s2v_lambda' ,
733
738
desc = 'Regularisation weight for slice-to-vol movement (reasonable range 1-10)' ,
734
- requires = ['slspec ' ],
739
+ requires = ['mporder ' ],
735
740
min_ver = '5.0.11' )
736
741
s2v_interp = traits .Enum (
737
742
'trilinear' ,
738
743
'spline' ,
739
744
argstr = '--s2v_interp=%s' ,
740
745
desc = 'Slice-to-vol interpolation model for estimation step' ,
741
- requires = ['slspec ' ],
746
+ requires = ['mporder ' ],
742
747
min_ver = '5.0.11' )
743
748
slspec = traits .File (
744
749
exists = True ,
745
750
argstr = '--slspec=%s' ,
746
751
desc = 'Name of text file completely specifying slice/group acquisition' ,
752
+ requires = ['mporder' ],
747
753
xor = ['json' ],
748
754
min_ver = '5.0.11' )
749
755
json = traits .File (
750
756
exists = True ,
751
757
argstr = '--json=%s' ,
752
758
desc = 'Name of .json text file with information about slice timing' ,
759
+ requires = ['mporder' ],
753
760
xor = ['slspec' ],
754
761
min_ver = '6.0.1' )
755
762
@@ -887,14 +894,18 @@ class Eddy(FSLCommand):
887
894
>>> eddy.inputs.in_bval = 'bvals.scheme'
888
895
>>> eddy.inputs.use_cuda = True
889
896
>>> eddy.cmdline # doctest: +ELLIPSIS
890
- 'eddy_cuda --ff=10.0 --fwhm=0 --acqp=epi_acqp.txt --bvals=bvals.scheme \
891
- --bvecs=bvecs.scheme --imain=epi.nii --index=epi_index.txt \
892
- --mask=epi_mask.nii --niter=5 --nvoxhp=1000 --out=.../eddy_corrected'
897
+ 'eddy_cuda --flm=quadratic --ff=10.0 --fwhm=0.0 \
898
+ --acqp=epi_acqp.txt --bvals=bvals.scheme --bvecs=bvecs.scheme \
899
+ --imain=epi.nii --index=epi_index.txt --mask=epi_mask.nii \
900
+ --interp=spline --resamp=jac --niter=5 --nvoxhp=1000 \
901
+ --out=.../eddy_corrected --slm=none'
893
902
>>> eddy.inputs.use_cuda = False
894
903
>>> eddy.cmdline # doctest: +ELLIPSIS
895
- 'eddy_openmp --ff=10.0 --fwhm=0 --acqp=epi_acqp.txt --bvals=bvals.scheme \
896
- --bvecs=bvecs.scheme --imain=epi.nii --index=epi_index.txt \
897
- --mask=epi_mask.nii --niter=5 --nvoxhp=1000 --out=.../eddy_corrected'
904
+ 'eddy_openmp --flm=quadratic --ff=10.0 --fwhm=0.0 \
905
+ --acqp=epi_acqp.txt --bvals=bvals.scheme --bvecs=bvecs.scheme \
906
+ --imain=epi.nii --index=epi_index.txt --mask=epi_mask.nii \
907
+ --interp=spline --resamp=jac --niter=5 --nvoxhp=1000 \
908
+ --out=.../eddy_corrected --slm=none'
898
909
>>> res = eddy.run() # doctest: +SKIP
899
910
900
911
"""
0 commit comments