Skip to main content

MRI algorithms for fat-water separation based on chemical shift with B0-correction

Project description

License: GPL v3 Python Version

mri-fatwater

MRI chemical shift-based fat-water separation with B0-correction using multi-scale graph cuts.

Overview

mri-fatwater is a Python package for MRI fat-water separation based on the multi-scale graph-cut algorithm described in Berglund & Skorpil, 2017. It can be used in Python scripts and as a command line tool.

⚠️ Repository rename notice: This repository was previously named fwqpbo. Existing links remain valid.

Installation

pip install mri-fatwater

Alternatively, clone the repository and install dependencies, for instance using uv:

git clone https://github.com/bretglun/mri-fatwater.git
cd mri-fatwater
uv sync

Usage

Command-Line Interface

# Show help
fatwater -h

# Run with parameter files
fatwater -d mri_fatwater/configs/dataParams.yml -a mri_fatwater/configs/algoParams.yml -m mri_fatwater/configs/modelParams.yml -o output_dir/

Python API

Example using config files:

from mri_fatwater import fatwater, io

results = fatwater.separate(
    data_param_file='mri_fatwater/configs/dataParams.yml',
    algo_param_file='mri_fatwater/configs/algoParams.yml',
    model_param_file='mri_fatwater/configs/modelParams.yml'
)
io.save(results, 'output_dir/')

Example using config dicts:

from mri_fatwater import fatwater, io

data_path = 'mri_fatwater/data'
data = io.load_numpy_data('17.npy', data_path)

results = fatwater.separate(
    data=data,
    data_params={'B0': 1.5, 't': [0.00287, 0.00607, 0.00927]}, 
    algo_params={
        'graphcut': True, 
        'output': ['wat', 'fat', 'ff', 'B0map', 'R2map']}, 
    model_params={
        'watCS': 4.7, 
        'fatCS': [5.3, 4.31, 2.76, 2.1, 1.3, 0.9], 
        'relAmps': [0.048, 0.039, 0.004, 0.128, 0.693, 0.087]}
    )
io.save(results, data_path + '/17_REC')

See scripts/demo.py for a complete example.

Configuration

Input parameters can be provided as:

  • Human-readable YAML configuration files
  • Python dictionaries

Example configuration files are available in the mri_fatwater/configs/ directory. Input data should be a complex NumPy array or a .npy file specified in the data configuration file with chemical shift encoded "echoes" along the first dimension.

Dependencies

See pyproject.toml for the complete list of dependencies.

Citation

If you use this software in your research, please cite:

Berglund J and Skorpil M. Multi-scale graph-cut algorithm for efficient water-fat separation. Magn Reson Med, 78(3):941-949, 2017. [doi: 10.1002/mrm.26479]

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3.0.

See LICENSE.md for the full license text.

Contact

Johan Berglund, Ph.D.
Uppsala University Hospital, Uppsala, Sweden
📧 johan.berglund@akademiska.se

Copyright © 2016–2026 Johan Berglund

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

mri_fatwater-1.1.2.tar.gz (955.8 kB view details)

Uploaded Source

Built Distribution

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

mri_fatwater-1.1.2-py3-none-any.whl (944.6 kB view details)

Uploaded Python 3

File details

Details for the file mri_fatwater-1.1.2.tar.gz.

File metadata

  • Download URL: mri_fatwater-1.1.2.tar.gz
  • Upload date:
  • Size: 955.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mri_fatwater-1.1.2.tar.gz
Algorithm Hash digest
SHA256 0f360abf0e277bf67ccbf5cd5a6bdff1291c977e043de3bce292a0caae2f9daf
MD5 6556909bffcdfdf3f2d4dbbc1c0fc578
BLAKE2b-256 d378e6c9a7e7984ff953ee31eb9ec991adb8324661049ae5dec8f3f31a99d93a

See more details on using hashes here.

File details

Details for the file mri_fatwater-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: mri_fatwater-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 944.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mri_fatwater-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1450e065a76ac5863372813815320de028c584e20be56a0d9b608763b97efdda
MD5 d612c9f0eb37dc6401e47fcf5703ba3b
BLAKE2b-256 91bac0190cc410fb5cad2c37418e54a8a31bd0a757a68cf57e7f16c2481ae930

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