Skip to main content

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

Release files for mri-fatwater 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mri-fatwater 1.2.2
File Size Uploaded
mri_fatwater-1.2.2.tar.gz 956.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mri-fatwater 1.2.2
File Interpreter ABI Platform
mri_fatwater-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.9 MB

Release files / mri_fatwater-1.2.2.tar.gz

Download URL mri_fatwater-1.2.2.tar.gz
Size 956.5 kB
Tags Source
SHA-256 checksum
How to use checksums
592c5f8ac6fc738dae4aa9fae757ea45a747f96ec7f045f11199807eba38bb07
BLAKE2b-256 checksum
How to use checksums
6d5ca461e1b9bb9f19cd31db3f7d4cf344cb5b32a66c752b3c8b56afbbae8dc2
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / mri_fatwater-1.2.2-py3-none-any.whl

Download URL mri_fatwater-1.2.2-py3-none-any.whl
Size 945.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e0ef45df83e14e0e1cb996f272d829e5f815063b16498b8be56e4f45d49921bc
BLAKE2b-256 checksum
How to use checksums
c989deec5669facac64f36e95c8e83577f4d1e03c557d3e6dd369c8866aba3cc
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page