def test_PrepareFieldmap_outputs(): output_map = dict(out_fieldmap=dict(), ) outputs = PrepareFieldmap.output_spec() for key, metadata in output_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(outputs.traits()[key], metakey), value
def _fugue_pipeline(self, **name_maps): pipeline = self.new_pipeline( name='preprocess_pipeline', desc=("Fugue distortion correction pipeline"), citations=[fsl_cite], name_maps=name_maps) reorient_epi_in = pipeline.add( 'reorient_epi_in', fsl.utils.Reorient2Std(output_type='NIFTI_GZ'), inputs={'in_file': ('series', nifti_gz_format)}, requirements=[fsl_req.v('5.0.9')]) fm_mag_reorient = pipeline.add( 'reorient_fm_mag', fsl.utils.Reorient2Std(output_type='NIFTI_GZ'), inputs={'in_file': ('field_map_mag', nifti_gz_format)}, requirements=[fsl_req.v('5.0.9')]) fm_phase_reorient = pipeline.add( 'reorient_fm_phase', fsl.utils.Reorient2Std(output_type='NIFTI_GZ'), inputs={'in_file': ('field_map_phase', nifti_gz_format)}, requirements=[fsl_req.v('5.0.9')]) bet = pipeline.add("bet", BET(robust=True, output_type='NIFTI_GZ'), inputs={'in_file': (fm_mag_reorient, 'out_file')}, wall_time=5, requirements=[fsl_req.v('5.0.9')]) create_fmap = pipeline.add( "prepfmap", PrepareFieldmap( # delta_TE=2.46 ), inputs={ 'delta_TE': ('field_map_delta_te', float), "in_magnitude": (bet, "out_file"), 'in_phase': (fm_phase_reorient, 'out_file') }, wall_time=5, requirements=[fsl_req.v('5.0.9')]) pipeline.add( 'fugue', FUGUE(unwarp_direction='x', dwell_time=self.parameter('fugue_echo_spacing'), unwarped_file='example_func.nii.gz', output_type='NIFTI_GZ'), inputs={ 'fmap_in_file': (create_fmap, 'out_fieldmap'), 'in_file': (reorient_epi_in, 'out_file') }, outputs={'series_preproc': ('unwarped_file', nifti_gz_format)}, wall_time=5, requirements=[fsl_req.v('5.0.9')]) return pipeline
def _fugue_pipeline(self, **kwargs): pipeline = self.create_pipeline( name='preproc_pipeline', inputs=[ DatasetSpec('primary', nifti_gz_format), DatasetSpec('field_map_mag', nifti_gz_format), DatasetSpec('field_map_phase', nifti_gz_format), FieldSpec('field_map_delta_te', float) ], outputs=[DatasetSpec('preproc', nifti_gz_format)], desc=("Fugue distortion correction pipeline"), version=1, citations=[fsl_cite], **kwargs) reorient_epi_in = pipeline.create_node(fsl.utils.Reorient2Std(), name='reorient_epi_in', requirements=[fsl509_req]) pipeline.connect_input('primary', reorient_epi_in, 'in_file') fm_mag_reorient = pipeline.create_node(fsl.utils.Reorient2Std(), name='reorient_fm_mag', requirements=[fsl509_req]) pipeline.connect_input('field_map_mag', fm_mag_reorient, 'in_file') fm_phase_reorient = pipeline.create_node(fsl.utils.Reorient2Std(), name='reorient_fm_phase', requirements=[fsl509_req]) pipeline.connect_input('field_map_phase', fm_phase_reorient, 'in_file') bet = pipeline.create_node(BET(), name="bet", wall_time=5, requirements=[fsl509_req]) bet.inputs.robust = True pipeline.connect(fm_mag_reorient, 'out_file', bet, 'in_file') create_fmap = pipeline.create_node(PrepareFieldmap(), name="prepfmap", wall_time=5, requirements=[fsl509_req]) # create_fmap.inputs.delta_TE = 2.46 pipeline.connect_input('field_map_delta_te', create_fmap, 'delta_TE') pipeline.connect(bet, "out_file", create_fmap, "in_magnitude") pipeline.connect(fm_phase_reorient, 'out_file', create_fmap, 'in_phase') fugue = pipeline.create_node(FUGUE(), name='fugue', wall_time=5, requirements=[fsl509_req]) fugue.inputs.unwarp_direction = 'x' fugue.inputs.dwell_time = self.parameter('fugue_echo_spacing') fugue.inputs.unwarped_file = 'example_func.nii.gz' pipeline.connect(create_fmap, 'out_fieldmap', fugue, 'fmap_in_file') pipeline.connect(reorient_epi_in, 'out_file', fugue, 'in_file') pipeline.connect_output('preproc', fugue, 'unwarped_file') return pipeline
def test_PrepareFieldmap_inputs(): input_map = dict( args=dict(argstr='%s', ), delta_TE=dict( argstr='%f', mandatory=True, position=-2, usedefault=True, ), environ=dict( nohash=True, usedefault=True, ), ignore_exception=dict( nohash=True, usedefault=True, ), in_magnitude=dict( argstr='%s', mandatory=True, position=3, ), in_phase=dict( argstr='%s', mandatory=True, position=2, ), nocheck=dict( argstr='--nocheck', position=-1, usedefault=True, ), out_fieldmap=dict( argstr='%s', position=4, ), output_type=dict(), scanner=dict( argstr='%s', position=1, usedefault=True, ), terminal_output=dict( mandatory=True, nohash=True, ), ) inputs = PrepareFieldmap.input_spec() for key, metadata in input_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(inputs.traits()[key], metakey), value
def test_PrepareFieldmap_inputs(): input_map = dict(delta_TE=dict(mandatory=True, usedefault=True, position=-2, argstr='%f', ), ignore_exception=dict(nohash=True, usedefault=True, ), out_fieldmap=dict(position=5, argstr='%s', ), args=dict(argstr='%s', ), nocheck=dict(position=-1, argstr='--nocheck', usedefault=True, ), terminal_output=dict(mandatory=True, nohash=True, ), environ=dict(nohash=True, usedefault=True, ), in_phase=dict(position=2, mandatory=True, argstr='%s', ), in_magnitude=dict(position=3, mandatory=True, argstr='%s', ), output_type=dict(), scanner=dict(position=1, usedefault=True, argstr='%s', ), ) inputs = PrepareFieldmap.input_spec() for key, metadata in input_map.items(): for metakey, value in metadata.items(): yield assert_equal, getattr(inputs.traits()[key], metakey), value