Skip to content

Scripts to batch convert dicoms to BIDS in parallel on an HPC environment, followed by a file check

License

Notifications You must be signed in to change notification settings

kdestasio/bidsQC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BidsQC

DOI

Overview

The scripts in this repo are a combination of wrappers and quality checking scripts that take neuroimaging files from DICOMS to Niftis named and structured as per BIDS. They add functionality to the Dcm2Bids scripts that allow the user to:

  1. Convert dicoms for all or only a subset of participants in the dicom directory (/conversion)
  2. Run the conversion on Talapas, the University of Oregon's high performance cluster (/conversion)
  3. Check that the expected files exist for each participant and notify the user if there is a discrepency (/qualityCheck)
  4. Rename task runs, retaining those that occured latest in time (/qualityCheck)

The purpose of these scripts is to allow the user to run batches of specific subjects on a high performance cluster -- or -- to run the subjects serially on a local machine. They also provide some functionality to check that the resultant data contains the expected runs.

bidsQC Table of Contents

Using BidsQC

  1. Using either git clone or the download button, copy this repo to the machine you will use for dicom conversion. This can be your local machine or a high performance cluster such as the UO's Talapas.
  2. Convert your DICOMS to Nifti files that adhere to BIDS. To do so, you can:
    1. Convert all DICOMS in a specified directory. Simply follow the instructions on the Dcm2Bids tutorial. The tutorial is comprehensive and should have all of the information you need.
    2. Or you can convert only a subset of the participant data, or run the conversion in a cluster environment such as Talapas. To do so, see the instructions and scripts in the conversion folder of this repo.
  3. Check that the results of the conversion and renaming are as expected. You can use the files in the qualityCheck folder of this repo to help you do so.
  4. Verify your data are in BIDS using the BIDS Validator

Dependencies

  • Python 3 with the future module (pip install of cbedetti's dcm2bids will install the future module)
  • dcm2niix conversion tool. If it is not already available on your machine or cluster, install it.
  • dcm2Bids If it is not already available on your machine or cluster, install it.
    • bidsQC is confirmed compatible with dcm2bids v2.1.5.
    • Available from UNFmontreal for your local machine.
    • Here are instructions for getting a singularity image for use on a cluster. You will need to module load singularity prior to running the singularity command.

Note: to check if Python 3, dcm2niix, or other packages are available on a Linux cluster, type module avail [packageName] at the command line, e.g. module avail Python3

Repo Contents

Conversion Folder

The scripts located in the conversion folder allow the user to convert dicoms for only a subset of participants in the dicom directory and to run the conversion on Talapas, the University of Oregon's high performance cluster. They build off of Dcm2Bids, which on its own will allow you to convert the DICOM files to Nifti files en masse. See the Dcm2Bids tutorial to learn how to do the basic conversion and for detailed instructions on how to create the configuration file specific to your study's dicoms.

For instructions on how to use the conversion scripts, see the conversion folder README.

qualityCheck Scripts

Once Niftis are in BIDS, these scripts can be used to check whether each sequence has the correct number of runs. Files in the target directories are checked against values in the configuration file where the user specifies how many runs of each sequence are expected at each time point. Optional: append the run-## key-value string to file names based on sequence order (option specifed in config file).

For step-by-step instructions and a description of the naming rules, see the qualityCheck README.

Final BIDS Steps

Manually Create Metadata Files

As per: http://bids.neuroimaging.io/bids_spec1.0.0-rc2.pdf

Place these files in the top level bids directory.

  • dataset_description.json
  • phasediff.json
  • A JSON for each functional task with TaskName and RepetitionTime
  • README (optional, but strongly recommended)
  • CHANGES (optional, but strongly recommended)

Check the BIDS Conversion

BIDS validator: http://incf.github.io/bids-validator

About

Scripts to batch convert dicoms to BIDS in parallel on an HPC environment, followed by a file check

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages