Skip to content

DIRECT v2.0.0 Release Notes

Latest
Compare
Choose a tag to compare
@jonasteuwen jonasteuwen released this 03 Apr 12:51
· 3 commits to main since this release

We're excited to announce DIRECT v2.0.0, featuring several advancements and updates. Here's a snapshot of what's new:

  • New Features: New MRI transforms, datasets, loss functions and models including challenge winning models.
  • User Experience Enhancements: Updated commands and additional examples
  • Performance Optimizations: Addressed memory and performance issues.
  • Code Quality Enhancements: Significant improvements for a more robust and reliable codebase.

Dive into the details below to see how DIRECT v2.0.0 can enhance your work.

Major Updates Since v1.0.0

  • Major New Features:
    • Additional MRI transforms (#210, #226, #233, #235)
    • Additional Loss functions (#226, #262)
    • Additional MRI models including challenge winning models (RecurrentVarNet winner at MC-MRI challenge 2022, vSHARPNet winner at CMRxRecon challenge 2023) (#156, #180, #228, #271, #273)
    • Additional subsampling functions, including Variable density Poisson, Equispaced with exploited symmetry, Gaussian 1D and Gaussian 2D (#216, #230)
    • Additional (Shepp Logan phantom) dataset (#202)
    • 3D functionality including transforms and vSHARP 3D (#272, #273)
  • User Experience Improvements:
    • Refactored direct train and direct predict commands (#202)
    • Add experiment configurations and/or examples (#180, #199, #271)
  • Performance Improvements:
    • Fix high memory consumption caused by h5py (#174)
    • Fix RIM performance (#208)
  • Code quality changes (#194, #196, #226, #228, #266)

Changes Since v1.0.4

New Features

  • New MRI model architectures: including ConjGradNet for improved imaging, IterDualNet (similar to JointICNet without sensitivity map optimization), ResNet as a new denoiser model, VarSplitNet for variable splitting optimization with deep learning (#228) and VSharpNet as presented in vSHARP: variable Splitting Half-quadratic ADMM algorithm for Reconstruction of inverse-Problems along with its 3D variant VSharpNet3D (#270, #273).
  • New MRI transforms: including EspiritCalibration transform via power-method algorithm, CropKspace, RandomFlip, RandomRotation., ComputePadding, ApplyPadding, ComputeImage , RenameKeys, ComputeScalingFactor.
  • New functionals and loss functions: NMSE, NRMSE, NMAE, SobelGradL1Loss, SobelGradL2Loss, hfen_l1, hfen_l2, HFENLoss, HFENL1Loss, HFENL2Loss, snr, SNRLoss and SSIM3DLoss (#226, #262).
  • New masking functions:
    • Gaussian in 1D (rectilinear sampling) and in 2D (point sampling): Gaussian1DMaskFunc and Gaussian2DMaskFunc, respectively. Implemented using Cython (#230).
  • 3D MRI Reconstruction functionality:
    • MRI transforms extended to work for input 3D k-space data, in which the third dimension represents slice or time (#272).
    • Implemented 3D variant of vSHARP, VSharpNet3D, (#273).

Improvements

  • Refactored MRI model engines to only implement forward_method instead of _do_iteration. (#226)
  • Transforms configuration for training and inference now implemented by flattening input DictConfig from omegaconf using dict_flatten (#235, #250).

Code Quality Changes

  • Minor quality improvements (#226).
  • Introduction of DirectEnum as a base class for clean typing of options of modules such as transforms, etc (#228, #266).

Other Changes

  • New version of black reformatting (#241)
  • Update for new versions of tooling packages (#263)
  • Updated documentation (#226, #242 - #272)

Acknowledgments

This release was made possible by the hard work and dedication of our team and contributors:

Documentation and Changelogs

Access detailed documentation for DIRECT v2.0.0 at our documentation site.