Source code for dmriprep.workflows.dwi.outputs

# -*- coding: utf-8 -*-

"""
Output dwi
^^^^^^^^^^

.. autofunction:: init_dwi_derivatives_wf

"""

from nipype.pipeline import engine as pe
from nipype.interfaces import io as nio, utility as niu


[docs]def init_dwi_derivatives_wf(subject_id, session_id, output_folder): output_wf = pe.Workflow(name="output_wf") inputnode = pe.Node( niu.IdentityInterface( fields=[ "subject_id", "session_id", "dwi", "bval", "bvec", "index", "acq_params", "mask", "b0", "b0_mask", "eddy_quad_json", "eddy_quad_pdf", "dtifit_FA", "dtifit_MD", "dtifit_AD", "dtifit_RD", "dtifit_V1", "dtifit_sse", "noise", ] ), name="inputnode", ) def build_path(output_folder, subject_id, session_id): import os return os.path.join( output_folder, "dmriprep", "sub-" + subject_id, "ses-" + session_id, "dwi" ) concat = pe.Node( niu.Function( input_names=["output_folder", "subject_id", "session_id"], output_names=["built_folder"], function=build_path, ), name="build_path", ) datasink = pe.Node(nio.DataSink(), name="datasink") output_wf.connect( [ ( inputnode, concat, [ ("subject_id", "subject_id"), ("session_id", "session_id"), ("output_folder", "output_folder"), ], ), (concat, datasink, [("built_folder", "base_directory")]), ( inputnode, datasink, [ ("dwi", "@result.@dwi"), ("bvec", "@result.@bvec"), ("bval", "@result.@bval"), ("mask", "@result.@mask"), ("b0", "@result.@b0"), ("eddy_quad_json", "@result.@eddy_quad_json"), ("eddy_quad_pdf", "@result.@eddy_quad_pdf"), ("dtifit_FA", "@result.@fa"), ("dtifit_MD", "@result.@md"), ("dtifit_AD", "@result.@ad"), ("dtifit_RD", "@result.@rd"), ("dtifit_V1", "@result.@v1"), ("dtifit_sse", "@result.@sse"), ], ), ] ) return output_wf