@@ -552,7 +552,7 @@ class EddyInputSpec(FSLCommandInputSpec):
552
552
default_value = 'eddy_corrected' ,
553
553
usedefault = True ,
554
554
argstr = '--out=%s' ,
555
- desc = 'basename for output (warped) image' )
555
+ desc = 'Basename for output image' )
556
556
session = File (
557
557
exists = True ,
558
558
argstr = '--session=%s' ,
@@ -561,37 +561,39 @@ class EddyInputSpec(FSLCommandInputSpec):
561
561
exists = True ,
562
562
argstr = '--topup=%s' ,
563
563
requires = ['in_topup_movpar' ],
564
- desc = 'topup file containing the field coefficients' )
564
+ desc = 'Topup results file containing the field coefficients' )
565
565
in_topup_movpar = File (
566
566
exists = True ,
567
567
requires = ['in_topup_fieldcoef' ],
568
- desc = 'topup movpar.txt file' )
568
+ desc = 'Topup results file containing the movement parameters ' )
569
569
field = File (
570
570
argstr = '--field=%s' ,
571
- desc = ('NonTOPUP fieldmap scaled in Hz - filename has '
572
- 'to be provided without an extension. TOPUP is '
573
- 'strongly recommended' ))
571
+ desc = ('Non-topup derived fieldmap scaled in Hz' ))
574
572
field_mat = File (
575
573
exists = True ,
576
574
argstr = '--field_mat=%s' ,
577
- desc = ('Matrix that specifies the relative locations of '
578
- 'the field specified by --field and first volume '
579
- 'in file --imain' ))
575
+ desc = ('Matrix specifying the relative positions of '
576
+ 'the fieldmap, --field, and the first volume '
577
+ 'of the input file, --imain' ))
580
578
581
579
flm = traits .Enum (
582
- 'linear' ,
583
580
'quadratic' ,
581
+ 'linear' ,
584
582
'cubic' ,
583
+ usedefault = True ,
585
584
argstr = '--flm=%s' ,
586
585
desc = 'First level EC model' )
587
586
slm = traits .Enum (
588
587
'none' ,
589
588
'linear' ,
590
589
'quadratic' ,
590
+ usedefault = True ,
591
591
argstr = '--slm=%s' ,
592
592
desc = 'Second level EC model' )
593
593
fep = traits .Bool (
594
- False , argstr = '--fep' , desc = 'Fill empty planes in x- or y-directions' )
594
+ False ,
595
+ argstr = '--fep' ,
596
+ desc = 'Fill empty planes in x- or y-directions' )
595
597
initrand = traits .Bool (
596
598
False ,
597
599
argstr = '--initrand' ,
@@ -600,6 +602,7 @@ class EddyInputSpec(FSLCommandInputSpec):
600
602
interp = traits .Enum (
601
603
'spline' ,
602
604
'trilinear' ,
605
+ usedefault = True ,
603
606
argstr = '--interp=%s' ,
604
607
desc = 'Interpolation model for estimation step' )
605
608
nvoxhp = traits .Int (
@@ -626,6 +629,8 @@ class EddyInputSpec(FSLCommandInputSpec):
626
629
desc = "Do NOT perform a post-eddy alignment of "
627
630
"shells" )
628
631
fwhm = traits .Float (
632
+ default_value = 0.0 ,
633
+ usedefault = True ,
629
634
desc = ('FWHM for conditioning filter when estimating '
630
635
'the parameters' ),
631
636
argstr = '--fwhm=%s' )
@@ -634,6 +639,7 @@ class EddyInputSpec(FSLCommandInputSpec):
634
639
method = traits .Enum (
635
640
'jac' ,
636
641
'lsr' ,
642
+ usedefault = True ,
637
643
argstr = '--resamp=%s' ,
638
644
desc = ('Final resampling method (jacobian/least '
639
645
'squares)' ))
@@ -687,35 +693,36 @@ class EddyInputSpec(FSLCommandInputSpec):
687
693
mporder = traits .Int (
688
694
argstr = '--mporder=%s' ,
689
695
desc = 'Order of slice-to-vol movement model' ,
690
- requires = ['slspec' ],
691
696
min_ver = '5.0.11' )
692
697
s2v_niter = traits .Int (
693
698
argstr = '--s2v_niter=%s' ,
694
699
desc = 'Number of iterations for slice-to-vol' ,
695
- requires = ['slspec ' ],
700
+ requires = ['mporder ' ],
696
701
min_ver = '5.0.11' )
697
702
s2v_lambda = traits .Int (
698
703
agstr = '--s2v_lambda' ,
699
704
desc = 'Regularisation weight for slice-to-vol movement (reasonable range 1-10)' ,
700
- requires = ['slspec ' ],
705
+ requires = ['mporder ' ],
701
706
min_ver = '5.0.11' )
702
707
s2v_interp = traits .Enum (
703
708
'trilinear' ,
704
709
'spline' ,
705
710
argstr = '--s2v_interp=%s' ,
706
711
desc = 'Slice-to-vol interpolation model for estimation step' ,
707
- requires = ['slspec ' ],
712
+ requires = ['mporder ' ],
708
713
min_ver = '5.0.11' )
709
714
slspec = traits .File (
710
715
exists = True ,
711
716
argstr = '--slspec=%s' ,
712
717
desc = 'Name of text file completely specifying slice/group acquisition' ,
718
+ requires = ['mporder' ],
713
719
xor = ['json' ],
714
720
min_ver = '5.0.11' )
715
721
json = traits .File (
716
722
exists = True ,
717
723
argstr = '--json=%s' ,
718
724
desc = 'Name of .json text file with information about slice timing' ,
725
+ requires = ['mporder' ],
719
726
xor = ['slspec' ],
720
727
min_ver = '6.0.1' )
721
728
@@ -845,14 +852,18 @@ class Eddy(FSLCommand):
845
852
>>> eddy.inputs.in_bval = 'bvals.scheme'
846
853
>>> eddy.inputs.use_cuda = True
847
854
>>> eddy.cmdline # doctest: +ELLIPSIS
848
- 'eddy_cuda --ff=10.0 --fwhm=0 --acqp=epi_acqp.txt --bvals=bvals.scheme \
849
- --bvecs=bvecs.scheme --imain=epi.nii --index=epi_index.txt \
850
- --mask=epi_mask.nii --niter=5 --nvoxhp=1000 --out=.../eddy_corrected'
855
+ 'eddy_cuda --flm=quadratic --ff=10.0 --fwhm=0.0 \
856
+ --acqp=epi_acqp.txt --bvals=bvals.scheme --bvecs=bvecs.scheme \
857
+ --imain=epi.nii --index=epi_index.txt --mask=epi_mask.nii \
858
+ --interp=spline --resamp=jac --niter=5 --nvoxhp=1000 \
859
+ --out=.../eddy_corrected --slm=none'
851
860
>>> eddy.inputs.use_cuda = False
852
861
>>> eddy.cmdline # doctest: +ELLIPSIS
853
- 'eddy_openmp --ff=10.0 --fwhm=0 --acqp=epi_acqp.txt --bvals=bvals.scheme \
854
- --bvecs=bvecs.scheme --imain=epi.nii --index=epi_index.txt \
855
- --mask=epi_mask.nii --niter=5 --nvoxhp=1000 --out=.../eddy_corrected'
862
+ 'eddy_openmp --flm=quadratic --ff=10.0 --fwhm=0.0 \
863
+ --acqp=epi_acqp.txt --bvals=bvals.scheme --bvecs=bvecs.scheme \
864
+ --imain=epi.nii --index=epi_index.txt --mask=epi_mask.nii \
865
+ --interp=spline --resamp=jac --niter=5 --nvoxhp=1000 \
866
+ --out=.../eddy_corrected --slm=none'
856
867
>>> res = eddy.run() # doctest: +SKIP
857
868
858
869
"""
0 commit comments