Skip to main content

PyHySCO

This is a package for Echo-Planar MRI susceptibility artifact correction implemented in PyTorch.

Installation

From PyPI:

pip install PyHySCO

Python package dependencies (automatically installed by pip) are listed in requirements.txt. It is suggested to run the python file tests/test_all.py to ensure all tests are passing and the code is setup properly.

Usage

Command Line Correction

The program can be run directly from a terminal or command line by using the python command to run the file pyhysco.py or if installed using pip the command pyhysco. Supplying the following required parameters:

  • file_1: file path of first image (stored as nii.gz) with phase encoding direction opposite of file_2
  • file_2: file path of second image (stored as nii.gz) with phase encoding direction opposite of file_1
  • ped: phase-encoding dimension (1, 2, or 3)

Use the help flag (--help) to see optional parameters available.

Minimal Usage:

pyhysco --file_1 <image1> --file_2 <image2> --ped <phase encoding direction>

Example:

pyhysco --file_1 image1.nii.gz --file_2 image2.nii.gz --ped 1 --output_dir results/ --max_iter 25

Write a Correction Script

A user-written script can be used to call the methods of the program.

Example:

from EPI_MRI.EPIMRIDistortionCorrection import *
from optimization.GaussNewton import *
import torch

device = 'cuda:0' if torch.cuda.is_available() else 'cpu'

# load the image and domain information
# change this function call to be the filepath for your data
data = DataObject('../data/156334_v.nii.gz', '../data/156334_-v.nii.gz', 1, device=device,dtype=torch.float32)

loss_func = EPIMRIDistortionCorrection(data, 300, 1e-4, regularizer=myLaplacian3D, PC = JacobiCG)
# initialize the field map
B0 = loss_func.initialize(blur_result=True)
# set-up the optimizer
# change path to be where you want logfile and corrected images to be stored
opt = GaussNewton(loss_func, max_iter=500, verbose=True, path='results/gnpcg-Jac/')
# optimize!
opt.run_correction(B0)
# save field map and corrected images
opt.apply_correction()
# see plot of corrected images
opt.visualize()

Examples and Further Documentation

There are a set of examples in the examples directory. Full API documentation is in the docs directory. See also Instructions.md for an overview of the correction process.

Metadata

Release files for PyHySCO 0.0.4

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

Source distribution (sdist)

Source distribution for PyHySCO 0.0.4
File Size Uploaded
PyHySCO-0.0.4.tar.gz 65.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PyHySCO 0.0.4
File Interpreter ABI Platform
PyHySCO-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 128.0 kB

Release files / PyHySCO-0.0.4.tar.gz

Download URL PyHySCO-0.0.4.tar.gz
Size 65.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5408ecc22e920d01dfa5f8d3e653426cadb55d7b8dc73e851357523c26f37b03
BLAKE2b-256 checksum
How to use checksums
0066dbea2440b91e383c7e84c51dda0486cdde968a76a14288be8299434c66d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.8.3

Release files / PyHySCO-0.0.4-py3-none-any.whl

Download URL PyHySCO-0.0.4-py3-none-any.whl
Size 62.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
589e6509602b98b5f275d6e772c8ead8c8641ed1f4f20e2e24efaefb022bd884
BLAKE2b-256 checksum
How to use checksums
31a9a938582f15427c8e2667c4e2d30137146d6651a4db738ffb8ec05b918b12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.8.3

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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