Science Score: 67.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 1 DOI reference(s) in README -
✓Academic publication links
Links to: wiley.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.6%) to scientific vocabulary
Repository
Code to Analyze Xenon MRI Data
Basic Info
- Host: GitHub
- Owner: thePIRL
- Language: Python
- Default Branch: main
- Size: 32.5 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
XenonMRI
This is code used by the University of Missouri PIRL (Pulmonary Imaging Research Lab) to analyze 129Xenon MRI data from MRI pulse sequences described in Peter Niedbalski's paper. We have 2 major scipts here: FlipCal.py and Ventanalysis.py (dissolved xenon script coming soon!). Each script essentially contains a single class structure which can perform all analysis operations with just a few methods. The class structures can be called directly (e.g., CalibrationInstance = FlipCal(ismrmrdpath='path/to/my/data')) or you can run the script by itself in which case a GUI will run from the main() function call. This is currently a research only tool - not approved for clinical use.
Authors:
- Robby Thomen [thomenr@health.missouri.edu]
- Gabriela Garcia Delgado
- Mia Ruppel
- Isabella Parks
- Afia Shammi
Overview of FlipCal
This class will analyze data acquired from the spectroscopic calibration sequence (yes, I still call it a FlipCal, short for Flip Angle Calibration, even though it does more than just calculate flip angles). It can input Twix files (Siemens raw data), MatLab files (MatLab workspace after processing data by Scott Robertson's code from the Duke pipeline), ISMRMRD files, or a previously processed FlipCal saved as a `pickle' in python. We're in the process of publishing its routine, but you can probably figure out what it's doing pretty easliy by, you know, reading the code.

Overview of Vent_analysis
There's 2 important pieces to this code. First, this contains the Vent_Analysis class which contains the processing pipeline for analyzing xenon ventilation data given the xenon image set (a DICOM file) and corresponding segmentation (a folder containing mask DICOMs). Second, the main script employs the PySimpleGUI module to create a graphical user interface [GUI] so the data can be processed easily. Here's what the GUI looks like:
The powerpoint gives an overview of how it all works. Essentially, you just plug in paths to your data and click the buttons for methods you want to run. Once they've run, the image windows will update with your data and you can export the analyses. Easy peasy!
Setup
Using your favorite git bash clone this github:
git clone https://github.com/thomenr/Vent_Analysis
Next you'll need to install the python modules listed in the requirements.txt file:
pip install -r requirements.txt
Now, using your favorite IDE, run the code (see the powerpoint for a few ways to do this - slide 3).
Follow the GUI instructions and you'll be calculating VDPs in no time!
If you want, you can also create your own .exe to run the GUI without a python instance or anything...BUT, you'll need to compile the exe yourself in python. I didn't do that here, because the resultant exe is 183 Mb which is too big for github. If you want to create an exe it's super easy. Just install the PyInstaller module:
pip install pyinstaller
Then, in powershell navigate to the repository directory and run the command in the EXEbuildcommand.txt file. It will build the exe for you in a 'dist' folder. Done!
Commercial Use Notice:
This software is released under the MIT License for academic and research use. If you intend to incorporate it into a commercial product or service, we kindly request that you contact the author(s) to discuss licensing and potential collaboration.
Things to do in future versions
- edit mask
- automatic segmentation using proton (maybe DL this?)
- Denoise Option
Owner
- Name: thePIRL
- Login: thePIRL
- Kind: user
- Repositories: 1
- Profile: https://github.com/thePIRL
Citation (citation.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Thomen
given-names: Robert
- family-names: Shammi
given-names: U Afia
- family-names: Garcia Delgado
given-names: Gabriela
- family-names: Ruppel
given-names: Mia
- family-names: Parks
given-names: Isabella
title: "MU PIRL Xenon MRI Analysis Pipeline"
version: "250421"
identifiers:
- type: doi
value: 10.5281/zenodo.1234
date-released: 2024-10-30
repository-code: "https://github.com/thePIRL/XenonMRI"
GitHub Events
Total
- Member event: 1
- Push event: 112
- Pull request review event: 1
- Pull request event: 4
- Fork event: 1
- Create event: 2
Last Year
- Member event: 1
- Push event: 112
- Pull request review event: 1
- Pull request event: 4
- Fork event: 1
- Create event: 2
Dependencies
- Pillow ==10.0.0
- PySimpleGUI ==4.60.5
- SimpleITK ==2.3.1
- et-xmlfile ==1.1.0
- ismrmrd ==1.12.5
- nibabel ==5.1.0
- numba ==0.58.1
- numpy ==1.23.2
- pandas ==2.0.3
- pyMapVBVD ==0.5.4
- pydicom ==2.3.0
- pyinstaller ==6.3.0
- python-dateutil ==2.8.2
- python-git ==2018.2.1
- scikit-image ==0.21.0
- scipy ==1.10.1
- tqdm ==4.66.1