DIRECT v2.0.0 Release Notes
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:
- Performance Improvements:
- 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 toJointICNet
without sensitivity map optimization),ResNet
as a new denoiser model,VarSplitNet
for variable splitting optimization with deep learning (#228) andVSharpNet
as presented in vSHARP: variable Splitting Half-quadratic ADMM algorithm for Reconstruction of inverse-Problems along with its 3D variantVSharpNet3D
(#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
andSSIM3DLoss
(#226, #262). - New masking functions:
- Gaussian in 1D (rectilinear sampling) and in 2D (point sampling):
Gaussian1DMaskFunc
andGaussian2DMaskFunc
, respectively. Implemented using Cython (#230).
- Gaussian in 1D (rectilinear sampling) and in 2D (point sampling):
- 3D MRI Reconstruction functionality:
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
fromomegaconf
usingdict_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:
- Code Development & Maintenance: George Yiasemis (@georgeyiasemis).
- Code Review & Project Management: Jonas Teuwen (@jonasteuwen).
Documentation and Changelogs
Access detailed documentation for DIRECT v2.0.0 at our documentation site.
- v1.0.0 to v2.0.0 Changelog: View Changes
- v1.0.4 to v2.0.0 Changelog: View Changes