Skip to main content

Library for standardized data input/output for musculoskeletal imaging, based on BIDS

Project description

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.

GitHub license

Tutorial

Run the tutorial: Open In Colab

Main contributors

  • Francesco Santini
  • Donnie Cameron
  • Leonardo Barzaghi
  • Judith Cueto Fernandez
  • Jilmen Quintiens
  • Lee Youngjun
  • Jukka Hirvasniemi
  • Gianluca Iori
  • 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:

  1. Running dcm2omids as an executable to convert DICOM data to the MIDS format.
  2. 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

ormir-mids usage: dcm2mbids Made withJupyter

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

ormir-mids usage: MedicalVolume class Made withJupyter

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ormir_mids-0.0.4.tar.gz (24.2 kB view hashes)

Uploaded Source

Built Distribution

ormir_mids-0.0.4-py3-none-any.whl (32.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page