Coder Social home page Coder Social logo

niral_dti_pipeline's Introduction

NIRAL_DTI_PIPELINE

Table of contents

---
  1. Pipeline flow diagram
  2. Configuring and running the pipeline
  3. Pipeline component specification

1. Pipeline flow diagram

--- !["flow diagram"](https://github.com/munsellb/NIRAL_DTI_PIPELINE/blob/master/pipeline_img.png)

The flow diagram shown above represents the single-process pipeline version. The major difference between the multi-process and single-process version is the multi-process version computes all the seed regions in parallel (i.e. does not include a loop that sequentially processes each seed region).

As illustrated, the pipeline defines six components that perform the sequence of operations listed below:

  1. DWI to DTI: This takes the skull stripped DWI image and creates a DTI, RD, AD, FA, and DWI-b0 image volume.
  2. AutoSeg: Creates a white matter, gray matter, and CSF segmentations using the Imperial atlas and the T1 and T2 images.
  3. FDT masks: Creates the masks required to run FDT bedpost and probtrack. Specifically,
    • no_diff_brain mask
    • waypoint mask
    • exclusion mask
    • seed masks (one for each brain region defined in Imperial parcellation)
    • termination masks (one for each brain region defined in Imperial parcellation)
  4. FDT bedpost: Execute the FDT Bayesian Estimation of Diffusion Parameters Obtained using Sampling Techniques (bedpostx) algorithm that includes modeling for crossing fibers.
  5. FDT probtrack: Execute the FDT probabilistic tracking with crossing fibers (probtrackx) algorithm for each seed region.
  6. Connectome: Create NxN connectivity matrix using the probtrack results.

2. Configuring and running the pipeline

--- There are two ways to run the pipeline: using the single-process version or using the multi-process version. To run the single process version from the command line type:
python dti_pipeline.pyconfig config_pipeline.txt

and to run the the multi-process version form the command line type:

python dti_pipeline_mp.pyconfig config_pipeline.txt

In general, the configuration file defines where the subject folder is located, a list that includes the subjects to be processed, the locations of the Autoseg computation and parameter files, and the pipeline components to be executed. For instance, on a Linux/UNIX/Mac operating system if the study folder is located at

/data/study_subjects

and in this folder the following sub-folders (typically named using subject specific unique ids)

subject_id1
subject_id2
subject_id3
subject_id4

The subjects.txt file can be created using the command ls > subjects.txt. Then the dti pipeline configuration file would have the following key-value pairs.

SubjectFolder:/data/study_subjects
SubjectList:/data/study_subjects/subjects.txt

For the autoseg template and pipeline component flag files, if the git rep was cloned in folder /data/git/NIRAL_DTI_PIPELINE then the dti pipeline configuration file would have the following key-value pairs.

COMPFILE:/data/git/NIRAL_DTI_PIPELINE/autoseg_templates/AutoSeg_Computation.txt
PARMFILE:/data/git/NIRAL_DTI_PIPELINE/autoseg_templates/AutoSeg_Parameters.txt
Flags:/data/git/NIRAL_DTI_PIPELINE/example_config/config_pipeline_flags.txt

In general, the flag file indicates the pipeline components to be executed. A yes value indicates the component will be executed, and a no value indicates the component will not be executed.

Example configuration files and autoseg template files can be found in the github repository.

3. Pipeline component specification

---
DWI to DTI
AutoSeg
FDT masks
FDT bedpost
FDT probtrack
Connectome

niral_dti_pipeline's People

Contributors

munsellb avatar andyanand avatar arthurmmedeiros avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.