Skip to content

Commit dbfa85a

Browse files
authored
Merge pull request #1742 from rwblair/enh/expand_ants_out
[WIP]add new files to ants brain extraction output spec and list outputs
2 parents ff36588 + 9053015 commit dbfa85a

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

nipype/interfaces/ants/segmentation.py

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,22 @@ class BrainExtractionInputSpec(ANTSCommandInputSpec):
655655
class BrainExtractionOutputSpec(TraitedSpec):
656656
BrainExtractionMask = File(exists=True, desc='brain extraction mask')
657657
BrainExtractionBrain = File(exists=True, desc='brain extraction image')
658+
BrainExtractionCSF = File(exists=True, desc='segmentation mask with only CSF')
659+
BrainExtractionGM = File(exists=True, desc='segmentation mask with only grey matter')
660+
BrainExtractionInitialAffine = File(exists=True, desc='')
661+
BrainExtractionInitialAffineFixed = File(exists=True, desc='')
662+
BrainExtractionInitialAffineMoving = File(exists=True, desc='')
663+
BrainExtractionLaplacian = File(exists=True, desc='')
664+
BrainExtractionPrior0GenericAffine = File(exists=True, desc='')
665+
BrainExtractionPrior1InverseWarp = File(exists=True, desc='')
666+
BrainExtractionPrior1Warp = File(exists=True, desc='')
667+
BrainExtractionPriorWarped = File(exists=True, desc='')
668+
BrainExtractionSegmentation = File(exists=True, desc='segmentation mask with CSF, GM, and WM')
669+
BrainExtractionTemplateLaplacian = File(exists=True, desc='')
670+
BrainExtractionTmp = File(exists=True, desc='')
671+
BrainExtractionWM = File(exists=True, desc='segmenration mask with only white matter')
672+
N4Corrected0 = File(exists=True, desc='N4 bias field corrected image')
673+
N4Truncated0 = File(exists=True, desc='')
658674

659675

660676
class BrainExtraction(ANTSCommand):
@@ -685,6 +701,72 @@ def _list_outputs(self):
685701
self.inputs.out_prefix +
686702
'BrainExtractionBrain.' +
687703
self.inputs.image_suffix)
704+
if isdefined(self.inputs.keep_temporary_files) and self.inputs.keep_temporary_files != 0:
705+
outputs['BrainExtractionCSF'] = os.path.join(
706+
os.getcwd(),
707+
self.inputs.out_prefix + 'BrainExtractionCSF.' + self.inputs.image_suffix
708+
)
709+
outputs['BrainExtractionGM'] = os.path.join(
710+
os.getcwd(),
711+
self.inputs.out_prefix + 'BrainExtractionGM.' + self.inputs.image_suffix
712+
)
713+
outputs['BrainExtractionInitialAffine'] = os.path.join(
714+
os.getcwd(),
715+
self.inputs.out_prefix +'BrainExtractionInitialAffine.mat'
716+
)
717+
outputs['BrainExtractionInitialAffineFixed'] = os.path.join(
718+
os.getcwd(),
719+
self.inputs.out_prefix + 'BrainExtractionInitialAffineFixed.' + self.inputs.image_suffix
720+
)
721+
outputs['BrainExtractionInitialAffineMoving'] = os.path.join(
722+
os.getcwd(),
723+
self.inputs.out_prefix + 'BrainExtractionInitialAffineMoving.' + self.inputs.image_suffix
724+
)
725+
outputs['BrainExtractionLaplacian'] = os.path.join(
726+
os.getcwd(),
727+
self.inputs.out_prefix + 'BrainExtractionLaplacian.' + self.inputs.image_suffix
728+
)
729+
outputs['BrainExtractionPrior0GenericAffine'] = os.path.join(
730+
os.getcwd(),
731+
self.inputs.out_prefix + 'BrainExtractionPrior0GenericAffine.mat'
732+
)
733+
outputs['BrainExtractionPrior1InverseWarp'] = os.path.join(
734+
os.getcwd(),
735+
self.inputs.out_prefix + 'BrainExtractionPrior1InverseWarp.' + self.inputs.image_suffix
736+
)
737+
outputs['BrainExtractionPrior1Warp'] = os.path.join(
738+
os.getcwd(),
739+
self.inputs.out_prefix + 'BrainExtractionPrior1Warp.' + self.inputs.image_suffix
740+
)
741+
outputs['BrainExtractionPriorWarped'] = os.path.join(
742+
os.getcwd(),
743+
self.inputs.out_prefix + 'BrainExtractionPriorWarped.' + self.inputs.image_suffix
744+
)
745+
outputs['BrainExtractionSegmentation'] = os.path.join(
746+
os.getcwd(),
747+
self.inputs.out_prefix + 'BrainExtractionSegmentation.' + self.inputs.image_suffix
748+
)
749+
outputs['BrainExtractionTemplateLaplacian'] = os.path.join(
750+
os.getcwd(),
751+
self.inputs.out_prefix + 'BrainExtractionTemplateLaplacian.' + self.inputs.image_suffix
752+
)
753+
outputs['BrainExtractionTmp'] = os.path.join(
754+
os.getcwd(),
755+
self.inputs.out_prefix + 'BrainExtractionTmp.' + self.inputs.image_suffix
756+
)
757+
outputs['BrainExtractionWM'] = os.path.join(
758+
os.getcwd(),
759+
self.inputs.out_prefix + 'BrainExtractionWM.' + self.inputs.image_suffix
760+
)
761+
outputs['N4Corrected0'] = os.path.join(
762+
os.getcwd(),
763+
self.inputs.out_prefix + 'N4Corrected0.' + self.inputs.image_suffix
764+
)
765+
outputs['N4Truncated0'] = os.path.join(
766+
os.getcwd(),
767+
self.inputs.out_prefix + 'N4Truncated0.' + self.inputs.image_suffix
768+
)
769+
688770
return outputs
689771

690772

nipype/interfaces/ants/tests/test_auto_BrainExtraction.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,23 @@ def test_BrainExtraction_inputs():
5555

5656
def test_BrainExtraction_outputs():
5757
output_map = dict(BrainExtractionBrain=dict(),
58+
BrainExtractionCSF=dict(),
59+
BrainExtractionGM=dict(),
60+
BrainExtractionInitialAffine=dict(),
61+
BrainExtractionInitialAffineFixed=dict(),
62+
BrainExtractionInitialAffineMoving=dict(),
63+
BrainExtractionLaplacian=dict(),
5864
BrainExtractionMask=dict(),
65+
BrainExtractionPrior0GenericAffine=dict(),
66+
BrainExtractionPrior1InverseWarp=dict(),
67+
BrainExtractionPrior1Warp=dict(),
68+
BrainExtractionPriorWarped=dict(),
69+
BrainExtractionSegmentation=dict(),
70+
BrainExtractionTemplateLaplacian=dict(),
71+
BrainExtractionTmp=dict(),
72+
BrainExtractionWM=dict(),
73+
N4Corrected0=dict(),
74+
N4Truncated0=dict(),
5975
)
6076
outputs = BrainExtraction.output_spec()
6177

0 commit comments

Comments
 (0)