LogoLogo
  • 🐿️NeuroInformatics Database
    • HIPAA Compliance
  • Getting Started
    • Installation
      • Quick Install
      • How to change passwords
      • Optional software
      • MySQL/MariaDB tweaks
    • Upgrade
      • Quick Upgrade
      • Migrate Existing Installation
  • Using NiDB
    • User's Guide
      • Importing data
      • Managing data
      • Finding & exporting data
      • Managing projects
      • Pipelines & analysis
      • Calendar
    • Administration
      • Front end (user facing)
      • Back end
      • nidb command line
  • Specifications
    • Data Storage Hierarchy
    • DICOM Anonymization
  • Tutorials
    • Working with Imaging Data
      • Uploading data for a sample project
      • Troubleshooting Missing Imaging Data
      • Import DICOM data
      • MR scan quality control
    • Manipulating Subjects, Studies, & Series
      • Working with subject IDs
      • Renaming series
    • Pipelines
    • Working with Redcap
      • Importing Data from a Redcap Project
      • Importing Subjects from Redcap
      • Reports based on data imported from Redcap
    • Analysis Builder
    • Administration of Users, Projects, & System
      • User Permissions
      • Creating new projects
      • Adding Users to Projects
      • Editing the config file
      • Deleting all the data
  • Contribute
    • Squirrel data sharing format
      • squirrel utilities
      • Using the squirrel library
      • Example package
      • squirrel vs BIDS
      • Specification v1.0
        • Package root
        • package
        • data
          • subjects
            • studies
              • series
                • params
              • analysis
            • observations
            • interventions
          • group-analysis
        • pipelines
          • data-steps
          • Pipeline scripts
        • experiments
        • data-dictionary
        • Modalities
      • Building squirrel library and utils
        • Building Python Wrapper
    • Building NiDB
    • Creating a Development VM
  • Help!
    • Github Issues
    • Github Discussions
Powered by GitBook
On this page
  • Common pipeline configurations
  • Single study, single pipeline
  • Single study, multiple pipeline
  • Multiple study, single pipeline
  • Multiple study, multiple pipeline

Was this helpful?

Export as PDF
  1. Tutorials

Pipelines

Various pipeline tutorials

PreviousRenaming seriesNextWorking with Redcap

Last updated 2 years ago

Was this helpful?

The pipeline system is an automated system to analyze imaging data stored within NiDB. Pipelines can be chained together in parent/child configurations with multiple parents and multiple children. Organizing the pipelines can take some planning, but complex pipeline systems can be created using NiDB.

Pipelines are run on the study level. Every analysis is based on a single imaging study (S1234ABC1)

Your pipeline may pull data from multiple studies, but each analysis will only be associated with one imaging study. Think of it as the "IRB of record"; data may come from many studies, but only one study is the study of record. Therefor all results, statuses, and pipeline logs are associated with just one imaging study.

Common pipeline configurations

Single study, single pipeline

This configuration starts off with a single imaging study, and a single pipeline. An example is a single T1 image which is passed through a freesurfer pipeline.

Here's a sample pipeline specification for the above scenario

Pipeline: Data & Scripts - Options Pipeline dependency --> Criteria: study

Pipeline: Data & Scripts - Data: T1 --> Output --> Data Source: Study

Single study, multiple pipeline

This configuration gets data from a single imaging study, but passed it through one or more pipelines. An example is an fMRI task that requires structural processing as in the HCP pipeline: the fMRI stats require output from a freesurfer pipeline.

Pipeline A: Data & Scripts - Options Pipeline dependency --> Criteria: study

Pipeline A: Data & Scripts - Data Output --> Data Source: Study

Pipeline B: Data & Scripts - Options Pipeline dependency --> dependency: pipeline A Pipeline dependency --> Criteria: study

Multiple study, single pipeline

This configuration takes data from multiple studies and passes it through a single pipeline. An example is an fMRI task analysis that requires a T1 from a different study. The T1 comes from study A, and the fMRI task from study B.

In this example, Study1 is the 'study of record'. All analyses, statuses, and results are associated with Study1. Here's the pipeline settings to use in this example.

Pipeline A - "Preprocessing1" Data & Scripts tab: Options --> Pipeline dependency --> Criteria: study Data (fMRI) --> Output --> Data Source: Study Data (T1) --> Output --> Data Source: Subject Data (T1) --> Output --> Subject linkage: Nearest in time

Pipeline B - "Stats1" Data & Scripts tab: Options --> Pipeline dependency --> dependency: pipeline A Options --> Pipeline dependency --> Criteria: study

Multiple study, multiple pipeline

This configuration takes data from multiple studies and uses multiple pipelines to analyze the data. This can come in multiple ways. Below are some examples of complex pipelines.

In this example, the pipeline settings are the same as above. The only difference is that each analysis (each study) will pull fMRI from the study, and the T1 from 'somewhere'. For the studies that have a T1, it will come from there. For studies that don't have a T1, the T1 will come from the study nearest in time.

Here's the pipeline settings to use in this example.

Pipeline A - "Preprocessing1" Data & Scripts tab: Options --> Pipeline dependency --> Criteria: study Data (fMRI) --> Output --> Data Source: Study Data (T1) --> Output --> Data Source: Subject Data (T1) --> Output --> Subject linkage: Nearest in time

Pipeline B - "Stats1" Data & Scripts tab: Options --> Pipeline dependency --> dependency: pipeline A Options --> Pipeline dependency --> Criteria: study

Simple pipeline example
In this example, Study1 is the study of record.
An HCP example