Skip to main content

Software tools for the NIfTI-MRS data format

Project description

Python Tools for NIfTI-MRS

PyPI PyPI - Python Version DOI PyPI - License

This package contains python-based tools for representing, validating, and manipulating the NIfTI-MRS format. NIfTI-MRS is a standardised format for storing Magnetic Resonance Spectroscopy data.

These tools are used extensively in the spec2nii format conversion program and the FSL-MRS analysis software. However, this library can also be used as a stand-alone set of tools.

If you use these tools please cite: Clarke, WT, Bell, TK, Emir, UE, et al. NIfTI-MRS: A standard data format for magnetic resonance spectroscopy. Magn Reson Med. 2022; 88: 2358- 2370. doi:10.1002/mrm.29418

Installation

Installation is via conda(-forge) or Pypi.

conda install -c conda-forge nifti-mrs

or

pip install nifti-mrs

Note this package is a requirement of spec2nii (>v0.4.9) and FSL-MRS (>v2.0.9) and will automatically be installed with them.

Using the package

Command-line tool - mrs_tools

MRS data stored in NIfTI-MRS format can contain multiple higher dimensions. For example it might contain dimensions encoding multiple receive coils, multiple temporal averages, or even a spectral editing dimension.

Data might need to be manipulated within the NIfTI-MRS storage framework before, after, or during preprocessing. For this, FLS-MRS provides the mrs_tools command line script. mrs_tools has the ability to merge and split NIfTI-MRS files along the higher encoding dimensions. It can also reorder the higher dimensions, or create a new singleton dimension for further manipulation.

mrs_tools split takes a single file and splits it along a specified dimension e.g. --dim DIM_DYN, at a single point (--index 8) or extracting multiple elements into a second file (--indices 8 9 10).

mrs_tools merge takes two or more files and merges them along a specified dimension e.g. --dim DIM_EDIT.

mrs_tools reorder permutes the dimensions of an existing NIfTI-MRS file. For example, the 5th through 7th dimensions can be changed from DIM_COIL, DIM_DYN, DIM_EDIT to DIM_DYN, DIM_EDIT, DIM_COIL using --dim_order DIM_DYN DIM_EDIT DIM_COIL.

mrs_tools also contains the mrs_tools vis and mrs_tools info options to provide quick visualisation and information on the command line. See the FSL-MRS Visualisation documentation for more information on mrs_tools vis/info.

Note: visualisation of NIfTI-MRS data using mrs_tools requires the installation of the FSL-MRS package

As a code library

The command-line tools presents an interface to the underlying code library. The library can be used directly in interactive or scripted python. For example:

from nifti_mrs.nifti_mrs import NIFTI_MRS
from nifti_mrs import tools

obj = NIFTI_MRS('path/to/data.nii.gz')

# Split the object at index 16 (1-16, 17-N) along the dynamics dimension
part_1, part_2 = tools.split(obj, 'DIM_DYN', 15)

# Save the first part
part_1.save('output/location/part_1.nii.gz')

See the API documentation for details.

Contributing and tests

Contributions to improve or extend these tools via pull requests are extremely welcome. Contributors, please take time to develop tests to continually validate new features or changes.

Acknowledgements

Contributors

William Clarke, University of Oxford

Funding acknowledgments

This work was funded by the Wellcome Trust [225924/Z/22/Z, 203139/Z/16/Z and 203139/A/16/Z].

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

nifti_mrs-0.1.4.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nifti_mrs-0.1.4-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

Details for the file nifti_mrs-0.1.4.tar.gz.

File metadata

  • Download URL: nifti_mrs-0.1.4.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for nifti_mrs-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e5827c3c92cda3339402d4264ba1b56e223ea19e822fa5de115481616bef1b8f
MD5 64a4c183573d5dc51370e33eeb89a30b
BLAKE2b-256 0b0bc236ea6d2c9a9bad05ed7577b7c42802b588027a78bfcc1d68b02f5d540a

See more details on using hashes here.

File details

Details for the file nifti_mrs-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: nifti_mrs-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 30.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for nifti_mrs-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 efd40c5c02d280eb93b7769f061c9234149c0c6f2545c6c1b73072a85622cfd5
MD5 f3751179e18bf1396596f6ace52bb3d8
BLAKE2b-256 70e6e90acd477a583c11db9cd4b18769a9ad75762a97c59375292bf9eec0a5df

See more details on using hashes here.

Supported by

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