ormir-mids
I/O of Medical Image Data Structure (MIDS) for Open and Reproducible Musculoskeletal Imaging Research (ORMIR). Based on the BIDS data structure.
[!NOTE]
This package is a fork of muscle-bids for muscle MR imaging data.
Tutorial
Run the tutorial on Binder
Run the tutorial on Colab
Main contributors
- Francesco Santini
- Donnie Cameron
- Leonardo Barzaghi
- Judith Cueto Fernandez
- Jilmen Quintiens
- Lee Youngjun
- Jukka Hirvasniemi
- Gianluca Iori
- Simone Poncioni
- Serena Bonaretti
Installation
Dependencies
To install ormir-mids
, run the code below, noting this list of dependencies.
It is recommended to install ormir-mids
in a separate virtual environment:
conda env create -n ormir-mids
conda activate ormir-mids
Clone the git repository:
git clone https://github.com/ormir-mids/ormir-mids.git
Now we can install the package using pip
. This will also install the required dependencies.
cd ormir-mids
pip install .
pip install --upgrade nibabel # the default nibabel has bugs
Usage
ormir-mids
can be used in two ways:
- Running
dcm2omids
as an executable to convert DICOM data to the MIDS format. - Importing
ormir-mids
as a Python module to find, load, and interrogate ORMIR-MIDS-format data.
1. Converting DICOMs to the ORMIR-MIDS structure
The commandline script is called dcm2omids.exe
. To view the commandline script help type
dcm2omids -h
To use ormir-mids
within Python, import the following modules
from ormir_mids.utils.io import find_bids, load_bids
import nibabel as nib
For a detailed description of how to use ormir-mids
see the following notebook
2. Exploring medical volumes with ORMIR-MIDS
ormir-mids
can be used within Python to load, manipulate, and visualize medical volume datasets, without having to convert them to the ORMIR-MIDS structure.
- Load a DICOM file to a MedicalVolume object
from ormir_mids.utils.io import load_dicom
mv = load_dicom('<Path-to-DICOM-file>')
- Slice the volume. This will create a separate subvolume. Metadata will be sliced appropriately.
mv_subvolume = mv[50:90, 50:90, 30:70]
mv_itk = mv.to_sitk()
Examples of how to use ormir-mids
for common data handling, image manipulation and processing tasks within Python can be found in this notebook
Acknowledgement
The development of ORMIR-MIDS specification and package started during the 2nd ORMIR workshop Sharing and Curating Open Data in Musculoskeletal Imaging Research and is currently ongoing. ORMIR-MIDS is an extension of muscle-BIDS, which was partly developed during the 1st ORMIR workshop Building the Jupyter Community in Musculoskeletal Imaging Research.