Skip to main content

A lightweight toolbox for downloading and processing mridata from mridata.org

Project description

mridataPy

mridataPy is

  • a lightweight toolbox for downloading and processing mridata from mridata.org

mridataPy supports to

  • download dataset from either mridata.org or old.mridata.org
  • load mridata to NumPy arrays, which can be stored to .npy files
  • generate sampling masks that can densely sample the center region in k-space while subsample the outer region based on acceleration factor
  • provide the ground truth reconstructed by applying RSS coil-combination to fullysampled data
  • evaluate reconstructions with MSE, NMSE, PSNR, SSIM metrics

Quickstart

Download one case of Stanford Fullysampled 3D FSE Knees (totally, 20 cases) from mridata.org:

import mridatapy

mridata = mridatapy.data.MRIData()
mridata.download(num=1)

Dependencies and Installation

Package Dependencies

pip will handle all package dependencies.

Install mridataPy

$ pip install mridatapy

Documentation

Module data

MRIData

class mridatapy.data.MRIData(data_type=None, path=None)
  • urls

    Attribute: Whole lists of download URLs corresponding to mridata of the given data type.

  • filenames

    Attribute: Whole lists of download filenames corresponding to mridata of the given data type.

  • type

    Attribute: Data type of mridata.

  • dir

    Attribute: Directory to the folder "mridata/" as the default path for mridata.

  • download(num=None)

    Instance method: Downloads mridata of the given data type.

  • to_np(num=None, stack=None)

    Instance method: Loads mridata to complex-valued k-space NumPy arrays. If not exist, download first.

  • to_npy(path=None, num=None, stack=None)

    Instance method: Converts mridata to .npy files. If not exist, download first.

  • get(data_type)

    Static method: Gets whole lists of download URLs and filenames corresponding to mridata of the given data type to be downloaded.

  • fetch(url, filename, path)

    Static method: Fetches mridata given the specific pair of download URL and filename.

  • ismrmrd_to_np(file, filter=None, prewhiten=None, first_slice=None)

    Static method: Loads .h5 ISMRMRD file to complex-valued k-space NumPy array.

  • ismrmrd_to_npy(file, path=None, filter=None, prewhiten=None, first_slice=None)

    Static method: Converts .h5 ISMRMRD file to .npy file.

  • cfl_to_np(file)

    Static method: Loads .cfl file to complex-valued k-space NumPy array.

  • cfl_to_npy(file, path=None)

    Static method: Converts .cfl file to .npy file.

  • unzip(file, path=None, remove=None)

    Static method: Unzips .zip file.

  • load_npy(file)

    Static method: Loads .npy file.

RandomLine

class mridatapy.data.RandomLine(acceleration_factor, center_fraction)

Generates a sampling mask of the given shape that can densely sample the center region in k-space while subsample the outer region based on acceleration factor. The mask randomly selects a subset of columns from input k-space data.

  • __call__(shape, dtype=numpy.complex64, max_attempts=30, tolerance=0.1, seed=None)

    Magic method enables instances to behave like functions.

EquispacedLine

class mridatapy.data.EquispacedLine(acceleration_factor, center_fraction)

Generates a sampling mask of the given shape that can densely sample the center region in k-space while subsample the outer region based on acceleration factor. The mask selects a roughly equispaced subset of columns from input k-space data.

  • __call__(shape, dtype=numpy.complex64, max_attempts=30, tolerance=0.1, seed=None)

    Magic method enables instances to behave like functions.

PoissonDisk

class mridatapy.data.PoissonDisk(acceleration_factor, center_fraction)

Generates a sampling mask of the given shape that can densely sample the center region in k-space while subsample the outer region based on acceleration factor. The mask selects a subset of points from input k-space data, characterized by the Poisson disk sampling pattern.

  • __call__(shape, dtype=numpy.complex64, max_attempts=30, tolerance=0.1, seed=None)

    Magic method enables instances to behave like functions.

Module utils

fft_centered

function mridatapy.utils.fft_centered(input, shape=None, dim=None, norm=None)

Computes the centered N dimensional discrete Fourier transform (FFT) of input.

ifft_centered

function mridatapy.utils.ifft_centered(input, shape=None, dim=None, norm=None)

Computes the centered N dimensional inverse discrete Fourier transform (IFFT) of input.

root_sum_squares

function mridatapy.utils.root_sum_squares(input, dim, complex=False)

Computes the Root Sum of Squares (RSS) of input along the a given dimension (coil dimension).

Module metrics

mean_squared_error

function mridatapy.metrics.mean_squared_error(gt, pred)

Computes the Mean Squared Error (MSE) between two images.

normalized_mse

function mridatapy.metrics.normalized_mse(gt, pred)

Computes the Normalized Mean Squared Error (NMSE) between two images.

peak_signal_noise_ratio

function mridatapy.metrics.peak_signal_noise_ratio(gt, pred, data_range=None)

Computes the Peak Signal to Noise Ratio (PSNR) between two images.

structural_similarity

function mridatapy.metrics.structural_similarity(gt, pred, data_range=None)

Computes the Structural Similarity Index (SSIM) between two images.

Related Projects

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

mridataPy-0.0.6.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

mridataPy-0.0.6-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file mridataPy-0.0.6.tar.gz.

File metadata

  • Download URL: mridataPy-0.0.6.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.8 pkginfo/1.6.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for mridataPy-0.0.6.tar.gz
Algorithm Hash digest
SHA256 a325100a026a86ac8ca35352c6010ce0271f60f419fa9bb4baa9ef981c03ac0a
MD5 c9ff5eaef04ef8dd7bfdb9d4a20bf6b1
BLAKE2b-256 0693a55648ff1d9eab5fe584eb1e317371400b6ca715361f7e1c88a432fc5fdb

See more details on using hashes here.

File details

Details for the file mridataPy-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: mridataPy-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.8 pkginfo/1.6.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.7

File hashes

Hashes for mridataPy-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6b2b5c10f1dcc9f7bacd44d25989ca49807d2c887cc035aa44fbce9278e39310
MD5 eaf7913ff5c0f33125caa08479611d22
BLAKE2b-256 b5cd0314ee37e68df264996556d1826f2e6b28a9e472d9743fe738fb9f0f4470

See more details on using hashes here.

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