Skip to main content

No project description provided

Project description

SUPER IVIM-DC

Intra-voxel incoherent motion (IVIM) analysis of fetal lungs Diffusion-Weighted MRI (DWI) data shows potential in providing quantitative imaging bio-markers that reflect, indirectly, diffusion and pseudo-diffusion for non-invasive fetal lung maturation assessment. However, long acquisition times, due to the large number of different 'b-value' images required for IVIM analysis, precluded clinical feasibility.

We introduce SUPER-IVIM-DC a deep-neural-networks (DNN) approach which couples supervised loss with a data-consistency term to enable IVIM analysis of DWI data acquired with a limited number of b-values.

We demonstrated the added-value of SUPER-IVIM-DC over both classical and recent DNN approaches for IVIM analysis through numerical simulations, healthy volunteer study, and IVIM analysis of fetal lung maturation from fetal DWI data.

Our numerical simulations and healthy volunteer study show that SUPER-IVIM-DC estimates of the IVIM model parameters from limited DWI data had lower normalized root mean-squared error compared to previous DNN-based approaches. Further, SUPER-IVIM-DC estimates of the pseudo-diffusion fraction parameter from limited DWI data of fetal lungs correlate better with gestational age compared to both to classical and DNN-based approaches (0.555 vs. 0.463 and 0.310).

SUPER-IVIM-DC has the potential to reduce the long acquisition times associated with IVIM analysis of DWI data and to provide clinically feasible bio-markers for non-invasive fetal lung maturity assessment.

Usage

Clone and install the package using pip install super-ivim-dc

Run training, generate .pt files

from super_ivim_dc.train import train

import numpy as np
working_dir: str = './working_dir'
super_ivim_dc_filename: str = 'super_ivim_dc'  # do not include .pt
ivimnet_filename: str = 'ivimnet'  # do not include .pt

bvalues = np.array([0,15,30,45,60,75,90,105,120,135,150,175,200,400,600,800])
snr = 10
sample_size = 100

train(
    SNR=snr, 
    bvalues=bvalues, 
    super_ivim_dc=True,
    ivimnet=True,
    work_dir=working_dir,
    super_ivim_dc_filename=super_ivim_dc_filename,
    ivimnet_filename=ivimnet_filename,
    verbose=False
)

This will create the following files:

  • ivimnet_init.json, super_ivim_dc_init.json - contains the initial values used in the training
  • ivimnet.pt, super_ivim_dc.pt - the pytorch models

Generate a random signal and test the generated model

from super_ivim_dc.infer import test_infer

test_infer(
    SNR=snr,
    bvalues=bvalues,
    work_dir=working_dir,
    super_ivim_dc_filename=super_ivim_dc_filename,
    ivimnet_filename=ivimnet_filename,
    save_figure_to=None,  # if set to None, the figure will be shown in the notebook
    sample_size=sample_size,
)

Generate signal

from super_ivim_dc.IVIMNET import simulations

IVIM_signal_noisy, Dt, f, Dp = simulations.sim_signal(
    SNR=snr, 
    bvalues=bvalues, 
    sims=sample_size
)

Dt, f, Dp = np.squeeze(Dt), np.squeeze(f), np.squeeze(Dp)

Run inference on the generated signal

from super_ivim_dc.infer import infer_from_signal

Dp_ivimnet, Dt_ivimnet, Fp_ivimnet, S0_ivimnet = infer_from_signal(
    signal=IVIM_signal_noisy, 
    bvalues=bvalues,
    model_path=f"{working_dir}/{ivimnet_filename}.pt",
)

Dp_superivimdc, Dt_superivimdc, Fp_superivimdc, S0_superivimdc = infer_from_signal(
    signal=IVIM_signal_noisy, 
    bvalues=bvalues,
    model_path=f"{working_dir}/{super_ivim_dc_filename}.pt",
)

References

  • Korngut, N., Rotman, E., Afacan, O., Kurugol, S., Zaffrani-Reznikov, Y., Nemirovsky-Rotman, S., Warfield, S., Freiman, M.: SUPER-IVIM-DC: Intra-voxel incoherent motion based Fetal lung maturity assessment from limited DWI data using supervised learning coupled with data-consistency, https://arxiv.org/abs/2206.03820 (2022)

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

super-ivim-dc-0.4.0.tar.gz (83.4 kB view details)

Uploaded Source

Built Distribution

super_ivim_dc-0.4.0-py3-none-any.whl (77.8 kB view details)

Uploaded Python 3

File details

Details for the file super-ivim-dc-0.4.0.tar.gz.

File metadata

  • Download URL: super-ivim-dc-0.4.0.tar.gz
  • Upload date:
  • Size: 83.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for super-ivim-dc-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9c66568956b7834817737bb00d5f2ffc0ae82a20fb2b3b9c22879aeff3c81a01
MD5 8bfa5677ceb56f68f9f584f6094387d2
BLAKE2b-256 8bb59f58090d96b1d913dee609260760cff584971854e1d480fc8f1be540f44f

See more details on using hashes here.

File details

Details for the file super_ivim_dc-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for super_ivim_dc-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e35816d9575aa39eecf4fbd7ce74cd49979fbca55b884e3ef5521b0a3e2fb6a6
MD5 b132ec0a39e3d1673b76318bc0d3d97e
BLAKE2b-256 82a2435ca7dfe7ad1710e2f716700b955fae72595780ea150ab06418cdc5d428

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