This project was developed as part of the Google Summer of Code (GSoC) 2023 program. The primary objective of this project is to create a robust framework and methodology for categorizing MRI exam series of the brain based on DICOM metadata. Additionally, the framework aims to perform compliance checks on MRI Brain Studies. Supported sequence weighting:
- 'DWI'
- 'T1_MPRAGE'
- 'T2'
- 'FLAIR'
- 'T2*'
- 'T1'
- 'SCOUT'
- 'VIBE'
- 'CISS'
- 'TOF'
- 'DIR_SPACE'
- 'T2_SPACE'
- 'PERF'
- 'DTI'
- 'FGATIR'
- 'T1_FLAIR'
- 'MRV'
- 'FIESTA'
- 'MRA'
Installation
-
After downloading the package, use the
cd
command to navigate to the directory where your Python script is located or the directory where your project files are located:cd path/to/your/project
-
Use the below command to install all requirements from a
Requirements.txt
file:pip install -r Requirements.txt
-
Now enter the following command to run your Python script:
python Code.py
To use this program, you'll need to provide the following inputs:
-
Folder Path: The program expects you to specify the folder path of the parent directory where your MRI study data is stored. Ensure that the only files present in this folder are DICOM files.
-
Change File Extension (Optional): You can choose whether you want to change the file extensions of the DICOM files to
.dcm
. This step is optional and depends on your preference. -
Custom Protocol Compliance (Optional): If you select the custom protocol compliance option, you will need to input the sequence name according to the following format:
- Sequence Name Format:
weighting
+FS
(if fat suppressed) +POST
(if Contrast Bolus Agent used) +MPR
(if applied) +MIP
(if MIP used) +2D/3D
+AX/SAG/COR
(depending on the anatomical plane).
- Remember that the sequence name should match the values in the sequence column of the table output.
- Sequence Name Format:
These inputs allow you to customize how the program processes and categorizes your MRI study data. Make sure to provide accurate information to ensure the desired results.
In the future, you can consider the following enhancements:
-
Add More Sequence Weightings: Consider adding more sequence weightings to improve the prediction capabilities. For more information, please refer to the DeveloperGuide.md document.
-
Create an Input System for Criteria Dictionary: Develop an input system that allows the criteria dictionary to be imported using a CSV or JSON file. This enhancement can make the process of updating and managing criteria more efficient.
-
Add More Protocols in Default Criteria: For more information, please refer to the DeveloperGuide.md document's protocol addition section