pymialsrtk.pipelines.anatomical.abstract module

Abstract base class for the anatomical pipeline.

class pymialsrtk.pipelines.anatomical.abstract.AbstractAnatomicalPipeline(p_bids_dir, p_output_dir, p_subject, p_ga=None, p_stacks=None, p_sr_id=1, p_session=None, p_masks_derivatives_dir=None, p_masks_desc=None, p_dict_custom_interfaces=None, p_verbose=None, p_openmp_number_of_cores=None, p_nipype_number_of_cores=None, p_run_type=None)[source]

Bases: object

Class used to represent the workflow of the anatomical pipeline.

Attributes
  • m_bids_dir (string) – BIDS root directory (required)

  • m_output_dir (string) – Output derivatives directory (required)

  • m_subject (string) – Subject ID (in the form sub-XX)

  • m_wf (nipype.pipeline.Workflow) – Nipype workflow of the reconstruction pipeline

  • m_sr_id (string) – ID of the reconstruction useful to distinguish when multiple reconstructions with different order of stacks are run on the same subject

  • m_session (string) – Session ID if applicable (in the form ses-YY)

  • m_stacks (list(int)) – List of stack to be used in the reconstruction. The specified order is kept if skip_stacks_ordering is True.

  • m_masks_derivatives_dir (string) – directory basename in BIDS directory derivatives where to search for masks (optional)

  • m_do_nlm_denoising (bool) – Whether the NLM denoising preprocessing should be performed prior to motion estimation. (default is False)

  • m_skip_stacks_ordering (bool (optional)) – Whether the automatic stacks ordering should be skipped. (default is False)

Examples

>>> from pymialsrtk.pipelines.anatomical.srr import AnatomicalPipeline
>>> # Create a new instance
>>> pipeline = AnatomicalPipeline(bids_dir='/path/to/bids_dir',
                                  output_dir='/path/to/output_dir',
                                  subject='sub-01',
                                  p_stacks=[1,3,2,0],
                                  sr_id=1,
                                  session=None,
                                  paramTV={deltat_TV = "0.001",
                                           lambda_TV = "0.75",
                                           num_primal_dual_loops = "20"},
                                  masks_derivatives_dir="/custom/mask_dir",
                                  masks_desc=None,
                                  p_dict_custom_interfaces=None)
>>> # Create the super resolution Nipype workflow
>>> pipeline.create_workflow()
>>> # Execute the workflow
>>> res = pipeline.run(number_of_cores=1) 
abstract create_workflow()[source]

Create the Niype workflow of the super-resolution pipeline.

It is composed of a succession of Nodes and their corresponding parameters, where the output of node i goes to the input of node i+1.

The more specific definition given in each node implementing the method.

m_bids_dir = None
m_final_res_dir = None
m_masks_derivatives_dir = None
m_masks_desc = None
m_nipype_number_of_cores = None
m_openmp_number_of_cores = None
m_output_dir = None
m_pipeline_name = None
m_run_elapsed_time = None
m_run_end_time = None
m_run_start_time = None
m_session = None
m_sr_id = None
m_stacks = None
m_sub_path = None
m_sub_ses = None
m_subject = None
m_use_manual_masks = False
m_verbose = None
m_wf = None
m_wf_base_dir = None
run(memory=None, logger=None)[source]

Execute the workflow of the super-resolution reconstruction pipeline.

Nipype execution engine will take care of the management and execution of all processing steps involved in the super-resolution reconstruction pipeline. Note that the complete execution graph is saved as a PNG image to support transparency on the whole processing.

Parameters

memory (int) – Maximal memory used by the workflow