Workflows

SABRE

sbl.sabre.workflows.SabreWorkflow(name='SABRE', TIV_template_type='T2', *args, **kwargs)

Create a SABRE workflow.

Parameters:
  • name – Name of workflow
  • TIV_template_type – Type of head-from-brain template to use (‘T2’ or ‘PD’)

Inputs:

inputnode.T1_image :
inputnode.T2_image :
inputnode.PD_image :
inputnode.T1_BET_threshold:
inputnode.T2_BET_threshold:
inputnode.PD_BET_threshold:
inputnode.T2_TIV_threshold:
inputnode.PD_TIV_threshold:
inputnode.TIV_BET_threshold:
inputnode.TIV_template :
inputnode.TIV_template_mask :
inputnode.TIV_cutoff :
inputnode.ACPC_template :
inputnode.T2_hyperintensity_threshold :
inputnode.PD_hyperintensity_threshold :

Outputs:

outputnode.resliced_image : 

Example:

>>> sabre = SabreWorkflow(TIV_template_type='T2')
>>> sabre.inputs.inputnode.T1_image = 'mni_icbm152_T1.nii.gz'
>>> sabre.inputs.inputnode.T2_image = 'mni_icbm152_T2.nii.gz'
>>> sabre.inputs.inputnode.PD_image = 'mni_icbm152_PD.nii.gz'
>>> sabre.inputs.inputnode.TIV_template = 'template_T2.nii.gz'
>>> sabre.inputs.inputnode.TIV_template_mask = 'template_TIV.nii.gz'
>>> sabre.run() 

Overview

digraph SABRE{
  label="SABRE";
  SABRE_inputnode[label="inputnode (utility)"];
  SABRE_Thresholds[label="Thresholds (utility)"];
  SABRE_Images[label="Images (utility)"];
  SABRE_BET[label="BET (fsl)"];
  SABRE_SelectReference[label="SelectReference (utility)"];
  SABRE_SelectRegister[label="SelectRegister (utility)"];
  SABRE_SelectReslice[label="SelectReslice (utility)"];
  SABRE_SelectPD[label="SelectPD (utility)"];
  SABRE_SelectT2[label="SelectT2 (utility)"];
  SABRE_inputnode -> SABRE_Images;
  SABRE_inputnode -> SABRE_Images;
  SABRE_inputnode -> SABRE_Images;
  SABRE_inputnode -> SABRE_Thresholds;
  SABRE_inputnode -> SABRE_Thresholds;
  SABRE_inputnode -> SABRE_Thresholds;
  SABRE_Thresholds -> SABRE_BET;
  subgraph cluster_SABRE_AcpcAlignment {
      label="AcpcAlignment";
    SABRE_AcpcAlignment_inputnode[label="inputnode (utility)"];
    SABRE_AcpcAlignment_BET[label="BET (fsl)"];
    SABRE_AcpcAlignment_N4CorrectT1[label="N4CorrectT1 (ants)"];
    SABRE_AcpcAlignment_MakeIsotropic[label="MakeIsotropic (interfaces)"];
    SABRE_AcpcAlignment_LinearRegistration[label="LinearRegistration (fsl)"];
    SABRE_AcpcAlignment_AlignToAcpc[label="AlignToAcpc (interfaces)"];
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_AlignToAcpc;
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_LinearRegistration;
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_BET;
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_BET;
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_BET;
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_N4CorrectT1;
    SABRE_AcpcAlignment_inputnode -> SABRE_AcpcAlignment_N4CorrectT1;
    SABRE_AcpcAlignment_BET -> SABRE_AcpcAlignment_N4CorrectT1;
    SABRE_AcpcAlignment_N4CorrectT1 -> SABRE_AcpcAlignment_MakeIsotropic;
    SABRE_AcpcAlignment_MakeIsotropic -> SABRE_AcpcAlignment_LinearRegistration;
    SABRE_AcpcAlignment_MakeIsotropic -> SABRE_AcpcAlignment_LinearRegistration;
    SABRE_AcpcAlignment_MakeIsotropic -> SABRE_AcpcAlignment_AlignToAcpc;
    SABRE_AcpcAlignment_LinearRegistration -> SABRE_AcpcAlignment_AlignToAcpc;
  }
  SABRE_Images -> SABRE_BET;
  SABRE_Images -> SABRE_BET;
  SABRE_Images -> SABRE_SelectReslice;
  SABRE_BET -> SABRE_SelectReference;
  SABRE_BET -> SABRE_SelectRegister;
  subgraph cluster_SABRE_Coregister {
      label="Coregister";
    SABRE_Coregister_inputnode[label="inputnode (utility)"];
    SABRE_Coregister_LinearRegistration[label="LinearRegistration (fsl)"];
    SABRE_Coregister_ApplyTransformation[label="ApplyTransformation (fsl)"];
    SABRE_Coregister_outputnode[label="outputnode (utility)"];
    SABRE_Coregister_inputnode -> SABRE_Coregister_LinearRegistration;
    SABRE_Coregister_inputnode -> SABRE_Coregister_LinearRegistration;
    SABRE_Coregister_inputnode -> SABRE_Coregister_LinearRegistration;
    SABRE_Coregister_inputnode -> SABRE_Coregister_ApplyTransformation;
    SABRE_Coregister_inputnode -> SABRE_Coregister_ApplyTransformation;
    SABRE_Coregister_inputnode -> SABRE_Coregister_ApplyTransformation;
    SABRE_Coregister_LinearRegistration -> SABRE_Coregister_outputnode;
    SABRE_Coregister_LinearRegistration -> SABRE_Coregister_ApplyTransformation;
    SABRE_Coregister_ApplyTransformation -> SABRE_Coregister_outputnode;
  }
  subgraph cluster_SABRE_HeadFromBrain {
      label="HeadFromBrain";
    SABRE_HeadFromBrain_inputnode[label="inputnode (utility)"];
    SABRE_HeadFromBrain_BET[label="BET (fsl)"];
    SABRE_HeadFromBrain_N4CorrectT2[label="N4CorrectT2 (ants)"];
    SABRE_HeadFromBrain_N4CorrectPD[label="N4CorrectPD (ants)"];
    SABRE_HeadFromBrain_LinearRegistration[label="LinearRegistration (fsl)"];
    SABRE_HeadFromBrain_InvertTransformation[label="InvertTransformation (fsl)"];
    SABRE_HeadFromBrain_ApplyTransformation[label="ApplyTransformation (fsl)"];
    SABRE_HeadFromBrain_HeadFromBrain[label="HeadFromBrain (interfaces)"];
    SABRE_HeadFromBrain_outputnode[label="outputnode (utility)"];
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_LinearRegistration;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_LinearRegistration;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_ApplyTransformation;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_ApplyTransformation;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_BET;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_BET;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_BET;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_N4CorrectPD;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_N4CorrectPD;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_N4CorrectT2;
    SABRE_HeadFromBrain_inputnode -> SABRE_HeadFromBrain_N4CorrectT2;
    SABRE_HeadFromBrain_BET -> SABRE_HeadFromBrain_ApplyTransformation;
    SABRE_HeadFromBrain_BET -> SABRE_HeadFromBrain_N4CorrectPD;
    SABRE_HeadFromBrain_BET -> SABRE_HeadFromBrain_N4CorrectT2;
    SABRE_HeadFromBrain_BET -> SABRE_HeadFromBrain_LinearRegistration;
    SABRE_HeadFromBrain_N4CorrectT2 -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_N4CorrectPD -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_LinearRegistration -> SABRE_HeadFromBrain_InvertTransformation;
    SABRE_HeadFromBrain_InvertTransformation -> SABRE_HeadFromBrain_ApplyTransformation;
    SABRE_HeadFromBrain_ApplyTransformation -> SABRE_HeadFromBrain_HeadFromBrain;
    SABRE_HeadFromBrain_HeadFromBrain -> SABRE_HeadFromBrain_outputnode;
  }
  SABRE_SelectRegister -> SABRE_Coregister_inputnode;
  SABRE_SelectReslice -> SABRE_Coregister_inputnode;
  SABRE_Coregister_outputnode -> SABRE_SelectPD;
  SABRE_Coregister_outputnode -> SABRE_SelectT2;
  SABRE_SelectReference -> SABRE_Coregister_inputnode;
  SABRE_SelectPD -> SABRE_HeadFromBrain_inputnode;
  SABRE_inputnode -> SABRE_HeadFromBrain_inputnode;
  SABRE_inputnode -> SABRE_HeadFromBrain_inputnode;
  SABRE_inputnode -> SABRE_HeadFromBrain_inputnode;
  SABRE_inputnode -> SABRE_HeadFromBrain_inputnode;
  SABRE_inputnode -> SABRE_AcpcAlignment_inputnode;
  SABRE_inputnode -> SABRE_AcpcAlignment_inputnode;
  SABRE_inputnode -> SABRE_AcpcAlignment_inputnode;
  SABRE_SelectT2 -> SABRE_HeadFromBrain_inputnode;
}

Table Of Contents

Previous topic

Pipeline

Next topic

Coregistration

This Page