def test_BuildConnectome_outputs(): output_map = dict(out_file=dict(), ) outputs = BuildConnectome.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 test_BuildConnectome_inputs(): input_map = dict(args=dict(argstr='%s', ), environ=dict(nohash=True, usedefault=True, ), ignore_exception=dict(nohash=True, usedefault=True, ), in_file=dict(argstr='%s', mandatory=True, position=-3, ), in_parc=dict(argstr='%s', position=-2, ), in_scalar=dict(argstr='-image %s', ), in_weights=dict(argstr='-tck_weights_in %s', ), keep_unassigned=dict(argstr='-keep_unassigned', ), metric=dict(argstr='-metric %s', ), nthreads=dict(argstr='-nthreads %d', nohash=True, ), out_file=dict(argstr='%s', mandatory=True, position=-1, usedefault=True, ), search_forward=dict(argstr='-assignment_forward_search %f', ), search_radius=dict(argstr='-assignment_radial_search %f', ), search_reverse=dict(argstr='-assignment_reverse_search %f', ), terminal_output=dict(nohash=True, ), vox_lookup=dict(argstr='-assignment_voxel_lookup', ), zero_diagonal=dict(argstr='-zero_diagonal', ), ) inputs = BuildConnectome.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_BuildConnectome_inputs(): input_map = dict( args=dict(argstr='%s', ), environ=dict( nohash=True, usedefault=True, ), ignore_exception=dict( nohash=True, usedefault=True, ), in_file=dict( argstr='%s', mandatory=True, position=-3, ), in_parc=dict( argstr='%s', position=-2, ), in_scalar=dict(argstr='-image %s', ), in_weights=dict(argstr='-tck_weights_in %s', ), keep_unassigned=dict(argstr='-keep_unassigned', ), metric=dict(argstr='-metric %s', ), nthreads=dict( argstr='-nthreads %d', nohash=True, ), out_file=dict( argstr='%s', mandatory=True, position=-1, usedefault=True, ), search_forward=dict(argstr='-assignment_forward_search %f', ), search_radius=dict(argstr='-assignment_radial_search %f', ), search_reverse=dict(argstr='-assignment_reverse_search %f', ), terminal_output=dict(nohash=True, ), vox_lookup=dict(argstr='-assignment_voxel_lookup', ), zero_diagonal=dict(argstr='-zero_diagonal', ), ) inputs = BuildConnectome.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 create_workflow(self, flow, inputnode, outputnode): #conflow = pe.Workflow(name='MRTRix_connectome_pipeline') #connectome_inputnode = pe.Node(interface=util.IdentityInterface(fields=['intck','fod_file','roi_volumes']),name='inputnode') #connectome_outputnode = pe.Node(interface=util.IdentityInterface(fields=['connectome']),name='outputnode') def get_first(output): return output[0] # Additional maps map_merge = pe.Node(interface=util.Merge(4), name="merge_additional_maps") flow.connect([ (inputnode, map_merge, [('gFA', 'in1'), ('skewness', 'in2'), ('kurtosis', 'in3'), ('P0', 'in4')]) #(map_merge,cmtk_mrtrixcmat, [('out','additional_maps')]), ]) #print "INTCK : ",intck if self.config.fiber_filter: fibers_filter = pe.Node( interface=FilterTractogram(out_file='streamlines_weights.txt'), name='fibers_filter') flow.connect([(inputnode, fibers_filter, [('track_file', 'in_tracks')])]) # if inputnode.inputs.diffusion_model == 'Deterministic': # flow.connect([ # (inputnode,fibers_filter,[('track_file','in_tracks')]) # ]) # else: # flow.connect([ # (inputnode,fibers_filter,[(('track_file',get_first),'in_tracks')]), # ]) flow.connect([(inputnode, fibers_filter, [('fod_file', 'in_fod')]) ]) connectome_builder = pe.Node(interface=BuildConnectome(), name='connectome_builder') #connectome_builder.inputs.zero_diagonal = True #Test if trackfile is a list of tracks filename (Probabilistic tracking) or only a filename (Deterministic tracking) flow.connect([(inputnode, connectome_builder, [('track_file', 'in_file')])]) # if inputnode.inputs.diffusion_model == 'Deterministic': # print "Deterministic" # flow.connect([ # (inputnode,connectome_builder,[('track_file','in_file')]) # ]) # else: # print "Probabilistic" # flow.connect([ # (inputnode,connectome_builder,[(('track_file',get_first),'in_file')]) # ]) flow.connect([ (inputnode, connectome_builder, [(('roi_volumes_registered', get_first), 'in_parc')]), ]) if self.config.fiber_filter: flow.connect([(fibers_filter, connectome_builder, [('out_weights', 'in_weights')])]) flow.connect([(inputnode, outputnode, [('track_file', 'streamline_final_file')]), (connectome_builder, outputnode, [('out_file', 'connectivity_matrices')])])