t1bookend-dsc-perfusion
This is DSC perfusion code that does both Delay and Dispersion Correction and not.
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 11 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.6%) to scientific vocabulary
Repository
This is DSC perfusion code that does both Delay and Dispersion Correction and not.
Basic Info
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
T1 Bookend DSC Perfusion with and without delay and dispersion correction
Open source code for use. Please cite relevant publications provided at the bottom of these instructions, as well as the open source repository here, as needed. Mira Liu 2024
DSC Perfusion instructions (mac)
This code takes repositories and returns both delay and dispersion correct and non delay and dispersion corrected CBF maps for a human scan.
Note: for a new session in matlab, remember to addpath. e.g.
addpath '/Users/neuroimaging/Desktop/MR-Code/DSCcode/Perfusion/Code/PerfCore'\ addpath '/Users/neuroimaging/Desktop/MR-Code/DSCcode/Perfusion/Code/Other'
Pre-Processing preparatory requirements
The perfusion code expects the perfusion dicoms to be in a specific directory structure as follows:
- Case1/ (the name of this folder is arbitrary)
- P001/ (the code looks for P### folders)
- ep2d_perf/ (contains the DSC dicoms)
- LLEPIPOST/ (contains the T1 Look-Locker post-contrast)
- LLEPIPRE/ (contains the T1 Look-Locker pre-contrast)
- P001/ (the code looks for P### folders)
- Case1/ (the name of this folder is arbitrary)
All the dicoms (DSC and the LLs) need to be renamed into 1.dcm, 2.dcm, 3.dcm, ... format. Also DSC dicoms need to reordered such that the dicoms are sorted by time first then slice (e.g. s0t0, s0t1, s0t2, ..., s1t0, s1t1, s1t2, ...). Use sortPerfICADUC.m function to rename and sort the dicoms. Or use the python notebook DSCPerfusionSorter_WIP.ipynb.
Before running perfusion code, AIF and VOF should be manually chosen for best results (see 'Manual AIF & VOF instructions.txt'). But the code can run without it (though it's possible the automated AIF/VOF will fail).
When it finishes, perfusion results are stored in the 'Result_MSwcf2' folder (if using T1 quantification), or in the 'DSCanalysis' folder (if relative perfusion) as a .mat file.
- See runperfscript.m for example
Manual AIF & VOF Instructions
Load the DSC dicoms by using "dsc = loadDSC('folder containing DSC')".
Use 'AIFviewer.m' function to browse through DSC ("AIFviewer(dsc)").
Click on the 'ROI AIF' button to draw an ROI, then click on 'Save ROI'.
ROI will be saved in MATLAB workspace as 'aifroi'. Rename this variable to 'aifmask' and save it as 'AIFMaskP001GEM.mat' in the folder that contains the 'P001' folder.
Draw an ROI for VOF and rename the new 'aifroi' to 'veinmask'. And save it as 'VeinMaskP001GEM.mat' in the same folder as above.
Example notated Run
Mira Liu April 26th 2023
Get data from the scanner, then run DicomSort.m on the downloaded DICOM directory. Then need to sort the perfusion code, and rename the folders. There is a python notebook I have for that (DSCPerfusionSorter_WIP.ipynb) but can also write it yourself or use Tim/Yong's code. Then...
Drawing AIF and Vein (VOF)
Example Code
addpath '/Users/neuroimaging/Desktop/MR-Code/DSCcode/Perfusion/Code'\ addpath '/Users/neuroimaging/Desktop/MR-Code/DSCcode/Perfusion/Code/Other'\ addpath '/Users/neuroimaging/Desktop/MR-Code/DSCcode/Perfusion/Code/PerfCore'\ dcmpath = '/Users/neuroimaging/Desktop/DATA/TabithaExample/P001/';\ ep2ddcmpath = [dcmpath, '/ep2dperf'];\ dsc = loadDSC(ep2d_dcmpath);\ AIFviewer(dsc);
Now draw the AIF mask
AIFviewer(dsc);\ aifmask = aifroi; %rename\ save ('/Users/neuroimaging/Desktop/AIFMaskP001GEM.mat', 'aifmask') %savemask
Now also draw the Vein mask
AIFviewer(dsc);\ veinmask = aifroi;\ save ('/Users/neuroimaging/Desktop/VeinMaskP001GEM.mat', 'veinmask') %savemask
Then Run qCBF post-processing
AutoqCBFPhilipsDDall('/Users/neuroimaging/Desktop/Data/Tabitha_Example/')
White Matter Mask
Once the T1 map is done, exit and draw a white matter mask
load('/Users/neuroimaging/Desktop/DATA/TabithaExample/T1mapping/P001T1map.mat')\ figure; imshow(images.t1.T1mappre - images.t1.T1mappost,[0 50]),colormap(gca,'jet'),colorbar, truesize([500 500])\ WMSS = roipoly;\ save ('/Users/neuroimaging/Desktop/WMMaskP001GEM.mat', 'WM_SS')
Then run final time
AutoqCBFPhilipsDDall('/Users/neuroimaging/Desktop/Data/Tabitha_Example/')
Results Viewing
Results can be viewed with imshow, or if you'd like to view it as a volume can use imagestack.
load(‘/Users/neuroimaging/Desktop/DATA/TabithaExample/ResultMSwcf2/P001GEM.mat’)\ imagestack(images.DD.qCBFSVD)
Citations
This code was developed in TJC lab. This version was compiled by ML and YJ, of you use this software, please cite it as shown in citation.cff file. It has been used in papers including:
1) Carroll, TJ, Horowitz, S, SHin W, Mouannes J, Sawlani R, Ali S, Raizer J, Futterer S. Quantification of cerebral perfusion using the "bookend technique": an evaluation in CNS tumors. Magn Reson Med. 2008. https://doi.org/10.1016/j.mri.2008.04.010.
2) Srour JM, Shin W, Shah S, Sen A, Carroll TJ. SCALE-PWI: A Pulse Sequence for Absolute Quantitative Cerebral Perfusion Imaging. Journal of Cerebral Blood Flow & Metabolism. 2011;31(5):1272-1282. doi:10.1038/jcbfm.2010.215
3) Jeong YI, Christoforidis GA, Saadat N, Kawaji K, Cantrell CG, Roth S, Niekrasz M, Carroll TJ. Absolute quantitative MR perfusion and comparison against stable-isotope microspheres. Magn Reson Med. 2019 Jun;81(6):3567-3577. https://doi.org/10.1002/mrm.27669.
4) Christoforidis GA, Saadat N, Liu M, et al. Effect of early Sanguinate (PEGylated carboxyhemoglobin bovine) infusion on cerebral blood flow to the ischemic core in experimental middle cerebral artery occlusion. Journal of NeuroInterventional Surgery 2022;14:1253-1257. https://doi.org/10.1136/neurintsurg-2021-018239
5) Dimov AV, Christoforidis GA, Saadat N, et al. QSM in canine model of acute cerebral ischemia: A pilot study. Magn Reson Med. 2020; 85: 1602–1610. https://doi.org/10.1002/mrm.28498
6) Liu M, Saadat N, Jeong YI, et al. Augmentation of perfusion with simultaneous vasodilator and inotropic agents in experimental acute middle cerebral artery occlusion: a pilot study. Journal of NeuroInterventional Surgery 2023;15:e69-e75. https://doi.org/10.1136/jnis-2022-018990
Owner
- Name: Carroll Lab @ UChicago
- Login: tjcarroll-lab
- Kind: organization
- Repositories: 1
- Profile: https://github.com/tjcarroll-lab
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Liu" given-names: "Mira" orcid: "https://orcid.org/0000-0002-8729-9302" - family-names: "Jeong" given-names: "Yong" - family-names: "Carroll" given-names: "Timothy" orcid: "https://orcid.org/0000-0003-2113-6284" title: "T1Bookend DSC Perfusion with global and local AIF open source code" version: 1.0.0 date-released: 2024-02-19 url: "https://github.com/tjcarroll-lab/T1Bookend-DSC-Perfusion"