CBFBIRN Processing

The Cerebral Blood Flow Biomedical Informatics Research Network (CBFBIRN) was a project to collect and share CBF data acquired using a magnetic resonance imaging (MRI)-based perfusion technique called arterial spin labeling (ASL).

The project’s current iteration consists of several processing scripts that intake p-files and DICOMs to produce BRIKs for further analysis.

Code Flow

To process your data, follows this sequence of execution in MATLAB:

SubjectSetupScript
dofmapGEN
processASLGEN2

Understanding Your Files

We recommend you take a look at your cfmricp_log.txt file to see what each of your files represent. An example is shown below, indicating your scans for the s-folders (DICOMs) and p-files (raw GE scanner data).

_images/cfmricp_log.png

All MRI scans record the raw k-space data acquired by each of the receive coil (at CMFRI, either the 8ch or 32ch) channels during the scan. For many scans, the scanner itself converts this raw k-space data to DICOMs as output. Using certain tools, these DICOMs can be converted to formats like BRIK or NIFTI for research needs. For remaining scans, the raw k-space data is output as a p-file. These are typically “research-grade” scans that need external tools to convert into BRIK or NIFTI formats for further research use.

Subject Setup Script

The subject setup script is a MATLAB file where you specify:

  • Data directory.
  • Anatomical and Fieldmap DICOM folders.
  • ASL, CSF, and MinCon p-files.
  • Processed directory name.
  • Name stems for output BRIKs.

Constructing Initial BRIKs and Fieldmap Correction - dofmapGEN

The dofmapGEN script first converts p-files to BRIKs, then applies fieldmap correction to those BRIKs. For example, the ASL data p-file is converted into aslbrik+orig.BRIK on the first step (the exact name would depend on the previous step’s setup script). After fieldmap correction, the output is called aslbrik+dbl+orig.BRIK (where +dbl stands for deblurring to indicate fieldmap corrected).

What is the purpose of fieldmap correction? This is an important step that can correct some artifacts in the data. Areas of the head like the sinuses tend to distort the local magnetic field. To the scanner, this causes signals to “look like” they’re coming from one area of the head while in reality they come from an area nearby. With spiral k-space acquisitions, this misattribution tends to cause bunching artifacts in the reconstructed image.

_images/beforefmap.png

The fieldmap scan measures the magnetic field around the head. Fieldmap correction uses this data to estimate what the image should really look like - to “undo” the artifact as best it can.

_images/afterfmap.png

Quantifying CBF - processASLGEN2

The processASLGEN2 script completes the quantification of CBF data. Overall, it writes out a number of additional outputs:

  • ASL data after volume registration
  • CSF data after alignment to ASL
  • Anatomical data after alignment to ASL, skull-stripping, partial volume estimation, tissue segmentation
  • CBF data

The exact CBF quantification processing depends on many factors, such as whether PASL (pulsed ASL) or PCASL (pseudocontinuous ASL) was used, background suppression was applied, voxel-wise vs reference tissue calibration, etc. Ultimately, the pipeline should CBF images like below.

_images/cbf1.png

Reference - Table of Outputs

Fieldmap Correction Outputs
Output Description
csfbriktcat1+orig.BRIK Proton-density image used for calibration of CBF data. This ‘tcat’ output only exists if the CSF and ASL data are acquired in the same scan.
csfbrik+orig.BRIK Proton-density image used for calibration of CBF data. This output only exists if the CSF data is acquired separately from the ASL data.
csfbrik+dbl+orig.BRIK Fieldmap correction applied to csfbrik+orig.BRIK. This output only exists if the CSF data is acquired separately from the ASL data.
aslbrik+orig.BRIK BRIK constructed from the ASL scan p-file
aslbrik+dbl+orig.BRIK Fieldmap correction applied to aslbrik+orig.BRIK
aslbrik+dbltcat+orig.BRIK The ASL data from aslbrik+dbl+orig.BRIK. This ‘tcat’ output only exists if the CSF and ASL data are acquired in the same scan.
minconbrik+orig.BRIK Minimum contrast data used for coil sensitivity correction.
minconbrik+dbl+orig.BRIK Minimum contrast data after fieldmap correction.
ASL Processing Outputs
Output Description
anat+nonRAI+orig.BRIK The anatomical data.
anat+orig.BRIK The same anatomical data but reoriented to RAI - 1st axis is R(-) to L(+), 2nd axis is A(-) to P(+), 3rd axis is I(-) to S(+).
aslbrik+dbltcat+reg+orig.BRIK Volume registration applied to the ASL data using AFNI’s 3dvolreg. By default, it will register all timepoints to the middle repetition of the data. Note that if CSF and ASL are acquired in the same scan, this will be aslbrik+dbl+reg+orig.BRIK instead.
aslbrik+dbltcat+reg+motion Motion parameters from applying 3dvolreg to the ASL data.
csfbriktcat1+reg+orig.BRIK Proton-density image registered to the ASL data.
anat+reg+orig.BRIK The anatomical data registered to the ASL data.
anat+reg_+orig.BRIK The anatomical data anat+orig.BRIK refitted to the ASL data by centering their prescriptions.
anat+reg__ns+orig.BRIK Skull-stripped output of anat+reg_+orig.BRIK using AFNI’s 3dSkullStrip.
anat+reg__ns_al+orig.BRIK Skull-stripped and aligned/registered anatomical data (aligned to the ASL data) using AFNI’s align_epi_anat.py.
anat+reg__al_e2a_only_mat.aff12.1D The alignment/registration matrix of the anatomical data to the ASL Data. Produced from AFNI’s align_epi_anat.py.
anat+reg+orig.BRIK The anatomical data aligned to the ASL data.
anat+reg+rs+orig.BRIK Resampled version of anat+reg+orig.BRIK to the ASL data voxel resolution. Produced from AFNI’s 3dResample.
anat+reg+stripped+orig.BRIK. The anatomical data aligned to the ASL data and skull-stripped. Equivalent to anat+reg__ns_al+orig.BRIK
anat+reg+stripped+rs+orig.BRIK Resampled version of anat+reg+stripped+orig.BRIK to the ASL data voxel resolution. Produced from AFNI’s 3dResample.
anat+reg+stripped+rs+mask+orig.BRIK Brain mask derived from anat+reg+stripped+rs+orig.BRIK
anat+reg+gray+pv+orig.BRIK Gray matter partial volume data from using FSL’s FAST.
anat+reg+gray+pv+rs+orig.BRIK Gray matter partial volume data resampled to the ASL data voxel resolution, produced from AFNI’s 3dResample.
anat+reg+white+pv+orig.BRIK White matter partial volume data from using FSL’s FAST.
anat+reg+white+pv+rs+orig.BRIK White matter partial volume data resampled to the ASL data voxel resolution, produced from AFNI’s 3dResample.
anat+reg+csf+pv+orig.BRIK Cerebral spinal fluid partial volume data from using FSL’s FAST.
anat+reg+csf+pv+rs+orig.BRIK Cerebral spinal fluid partial volume data resampled to the ASL data voxel resolution, produced from AFNI’s 3dResample.
CBF+nomask+orig.BRIK The cerebral blood flow (CBF) data calculated from the ASL and proton-density data. Units of mL/100g/min.
CBF+orig.BRIK The CBF data masked by anat+reg+stripped+rs+mask+orig.BRIK. Units of mL/100g/min.
gm.txt Average gray matter CBF, units of mL/100g/min. Gray matter voxels picked out by thresholding the GM PV data. By default, the threshold is 0.6 to be considered a GM voxel.
white.txt Average white matter CBF, units of mL/100g/min. White matter voxels picked out by thresholding the WM PV data. By default, the threshold is 0.6 to be considered a WM voxel.
CBF_gm+rs+orig.BRIK Gray matter CBF image produced via partial volume correction (PVC). This only exists if the pvc option is used.
CBF_wm+rs+orig.BRIK White matter CBF image produced via partial volume correction (PVC). This only exists if the pvc option is used.