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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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