Пример #1
0
def apply_transform_2_points(input_csv, transforms, output_csv):

    at = ApplyTransformsToPoints()
    at.inputs.dimension = 2
    at.inputs.input_file = input_csv
    at.inputs.transforms = transforms
    at.inputs.invert_transform_flags = [False, False]
    at.inputs.output_file = output_csv
    args = shlex.split(at.cmdline)
    p = subprocess.Popen(args)
    p.wait()
Пример #2
0
def _tr_points_wf():
    wf = pe.Workflow('trpointswf')
    inputspec = pe.Node(IdentityInterface(['T1', 'model', 'points']), 'inputspec')
    reg = pe.Node(ants_registration_affine_node(write_composite_transform=False), name='register')
    convertpoints = pe.Node(ConvertPoints(in_format='tsv', out_format='ants'), 'convert_points')
    trpoints = pe.Node(ApplyTransformsToPoints(dimension=3), name='transform_points')
    convertpoints2 = pe.Node(ConvertPoints(in_format='ants', out_format='tsv'), 'convert_points2')
    outputspec = pe.Node(IdentityInterface(['out_points']), 'outputspec')
    wf.connect([(inputspec, reg, [('T1', 'moving_image'),
                                  ('model', 'fixed_image')]),
                (inputspec, convertpoints, [('points', 'in_file')]),
                (reg, trpoints, [('forward_transforms', 'transforms')]),
                (convertpoints, trpoints, [('out_file', 'input_file')]),
                (trpoints, convertpoints2, [('output_file', 'in_file')]),
                (convertpoints2, outputspec, [('out_file', 'out_points')])])
    return wf