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, first_slice=None)

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

  • ismrmrd_to_npy(file, path=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, 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, 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, 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.5.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

mridataPy-0.0.5-py3-none-any.whl (16.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mridataPy-0.0.5.tar.gz
  • Upload date:
  • Size: 13.4 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.5.tar.gz
Algorithm Hash digest
SHA256 7e34b768d6a2916b70845310ea35dce10ca37acd45cc168cb6d88c8fe5e5c357
MD5 1473e6b43728863abe5f208115e7ffa3
BLAKE2b-256 c4f377293b89e680888be210af3f0c3fba1569cd075854cd523cc695cceeba48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mridataPy-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 16.5 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7a723b7e15f06c60ee4e6b387365aa71cd15e545a1766f80715aa61ee8484fd6
MD5 7f990a9fa24e85fcad43ed41a3778c79
BLAKE2b-256 485fe7987601e4728314de5ebbcd57bf6ec547c7bc35867d82381213aa4a5d92

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