Releases: mrphys/tensorflow-mri
TensorFlow MRI 0.12.0
Release 0.12.0
Major Features and Improvements
-
tfmri.linalg
:- New module containing linear algebra operators.
- New classes
LinearOperator
,LinearOperatorAddition
,
LinearOperatorAdjoint
,LinearOperatorComposition
,
LinearOperatorDiag
,LinearOperatorFiniteDifference
,
LinearOperatorGramMatrix
,LinearOperatorMRI
and
LinearOperatorScaledIdentity
and new functionconjugate_gradient
.
-
tfmri.plot
:- New module containing plotting utilities.
- New functions
image_sequence
,tiled_image_sequence
andshow
.
-
tfmri.recon
:- New module containing functionality for image reconstruction.
- New functions
adj
,grappa
,lstsq
,pf
andsense
. These
are now the canonical API for image reconstruction.
Bug Fixes and Other Changes
- New API export system, currently enabled for namespaces
tfmri.linalg
,
tfmri.plot
,tfmri.recon
andtfmri.summary
. The remaining
namespaces will be moved to this API system in future releases. - Improvements to documentation: reduced verbosity of TOC tree and added links
for common types.
TensorFlow MRI 0.11.0
Release 0.11.0
This release includes a redesign of the API docs.
Breaking Changes
-
tfmri
:LinearOperatorMRI
: Argumentsens_norm
now defaults toTrue
.conjugate_gradient
: Argumentmax_iter
is now called
max_iterations
.SVDCoilCompressor
renamed toCoilCompressorSVD
for consistency
with the rest of the API.filter_kspace
: Argumentfilter_type
has been renamed to
filter_fn
and can accept a callable in addition to a string.
Major Features and Improvements
-
tfmri
:- Added new ops
expand_trajectory
andexpand_density
, which
complement the existingflatten_trajectory
andflatten_density
.
- Added new ops
Bug Fixes and Other Changes
-
tfmri
:hann
andhamming
now return 0 outside their domain, as expected.atanfilt
now returns the correct values for the negative part of the
domain.- Improved error reporting for
filter_kspace
.
TensorFlow MRI 0.10.0
Release 0.10.0
This release focuses on MRI reconstruction, with new functionality and major
refactoring of image reconstruction module as well as the associated linear
algebra and convex optimization modules.
This release also bumps the supported TensorFlow version to 2.8.
Breaking Changes
-
tfmri
:compress_coils
no longer accepts amatrix
argument. Use
SVDCoilCompressor
instead.compress_coils
no longer accepts atol
argument.coil_compression_matrix
has been removed. UseSVDCoilCompressor
instead.- Keyword argument
num_output_coils
ofcompress_coils
has been renamed
toout_coils
. - Removed
LinearOperatorFFT
,LinearOperatorNUFFT
,
LinearOperatorParallelMRI
,LinearOperatorSensitivityModulation
,
LinearOperatorInterp
,LinearOperatorRealWeighting
.
UseLinearOperatorMRI
instead. - Removed
LinearOperatorDifference
. UseLinearOperatorFiniteDifference
instead. ConvexOperator
abstract base class and all its subclasses have been
removed. UseConvexFunction
and/or one of its subclasses instead.- Removed
reconstruct
op. Use one of the new reconstruction ops instead
(see below). - Removed
reconstruct_partial_kspace
op. Usereconstruct_pf
instead.
Major Features and Improvements
-
tfmri
:- Added new ops
broadcast_dynamic_shapes
andbroadcast_static_shapes
to broadcast multiple shapes. estimate_coil_sensitivities
withmethod='espirit'
can now be called
with a statically unknown number of coils (graph mode).estimate_coil_sensitivities
withmethod='espirit'
will now set the
static number of maps, if possible (graph mode).- Added new class
SVDCoilCompressor
for flexible coil compression
functionality. - Added new ops
ConvexFunction
,
ConvexFunctionAffineMappingComposition
,
ConvexFunctionLinearOperatorComposition
,
ConvexFunctionL1Norm
,ConvexFunctionL2Norm
,
ConvexFunctionL2NormSquared
,ConvexFunctionTikhonov
,
ConvexFunctionTotalVariation
,ConvexFunctionQuadratic
and
ConvexFunctionLeastSquares
. - Added new image ops
image_gradients
andgradient_magnitude
. - Added new image ops
gmsd
,gmsd2d
andgmsd3d
. - Added new image op
extract_and_scale_complex_part
. - Added new ops
LinearOperatorMRI
andLinearOperatorFiniteDifference
. conjugate_gradient
now has seamless support for linear operators with
the imaging mixin.- Added new math op
normalize_no_nan
. - Added new math ops
block_soft_threshold
,shrinkage
and
soft_threshold
. - Added new op
admm_minimize
implementing the ADMM algorithm. - Added new reconstruction ops
reconstruct_adj
,reconstruct_lstsq
,
reconstruct_grappa
,reconstruct_sense
andreconstruct_pf
. - Added new signal ops
hann
andatanfilt
. filter_kspace
now supports Cartesian inputs and additional keyword
arguments for filtering function viafilter_kwargs
.- Added new ops
density_grid
andrandom_sampling_mask
for generation
of Cartesian masks. radial_density
: added new parametertiny_number
, mirroring the one
inradial_trajectory
.
- Added new ops
-
tfmri.callbacks
:TensorBoardImages
: added new parametersdisplay_fn
,concat_axis
,
feature_keys
,label_keys
,prediction_keys
andcomplex_part
.
These enable different levels of customization of the display function.
-
tfmri.metrics
:- Added new argument
multichannel
toPeakSignalToNoiseRatio
,
StructuralSimilarity
andMultiscaleStructuralSimilarity
. This
enables these metrics to accept inputs that do not have a channel axis,
by settingmultichannel=False
. - Added new argument
complex_part
toPeakSignalToNoiseRatio
,
StructuralSimilarity
andMultiscaleStructuralSimilarity
. This
enables these metrics to accept complex inputs and calculate the metric
from the specified part.
- Added new argument
TensorFlow MRI 0.9.0
Release 0.9.0
Major Features and Improvements
-
tfmr
:- Added new parameter
tiny_number
toradial_trajectory
and
spiral_trajectory
. This parameter can be used to control which tiny golden
angle is used for tiny golden angle trajectories. Previously it was only
possible to use the 7th tiny golden angle (which is now the default). radial_trajectory
andspiral_trajectory
will now warn the user when
a non-optimal number of views is specified for golden angle ordering.
- Added new parameter
-
tfmr.layers
:-
Added new functionality to
ConvBlock
:- A different activation for the last layer can now be specified with
out_activation
. - Bias vectors for convolutional layers can now be disabled with
use_bias=False
. - Block can now be made residual with
use_residual=True
. - Dropout layers may now be added with
use_dropout=True
. Additionally,
the parametersdropout_rate
anddropout_type
can be used to specify
the dropout rate and type (standard or spatial), respectively.
- A different activation for the last layer can now be specified with
-
Added optional dropout layers to
UNet
. Dropout can be configured with the
parametersuse_dropout
,dropout_rate
anddropout_type
.
-
TensorFlow MRI 0.8.0
Release 0.8.0
This release bumps the supported TensorFlow version to 2.7.
TensorFlow MRI 0.7.0
Release 0.7.0
Breaking Changes
-
tfmr
:- The scaling of the densities returned by
estimate_density
,
radial_density
andestimate_radial_density
has changed. This harmonizes
the values returned by all three functions and enables correct NUFFT
normalization. Any application relying on exact density values should be
checked. Applications that only rely on the relative scaling between points
should not be affected. estimate_radial_density
no longer accepts the inputbase_resolution
.
However, it will now accept the optional inputreadout_os
.
- The scaling of the densities returned by
Major Features and Improvements
-
tfmr
:- Added new ops
flatten_trajectory
andflatten_density
. central_crop
andresize_with_crop_or_pad
now acceptshape
arguments
whose length is less than the rank oftensor
.- Added new argument
norm
toLinearOperatorFFT
,LinearOperatorNUFFT
and
LinearOperatorParallelMRI
. This argument controls FFT normalization. - Added new argument
mask
toLinearOperatorParallelMRI
. - Added new argument
padding_mode
to opresize_with_crop_or_pad
. - Added new method
'pics'
toreconstruct
. - Added new parameter
ndim
toTotalVariationRegularizer
.
- Added new ops
-
tfmr.callbacks
:- Added module.
- Added new callback
TensorBoardImages
.
-
tfmr.io
:- Added module.
- Added new function
encode_gif
.
-
tfmr.layers
:- Added module.
- Added new convolutional layers
ConvBlock
andUNet
. - Added new preprocessing layers
AddChannelDimension
,Cast
,ExpandDims
,
KSpaceResampling
,RepeatTensor
,ResizeWithCropOrPad
,
ScaleByMinMax
andTranspose
.
-
tfmr.losses
:- Added module.
- Added new losses
StructuralSimilarityLoss
,
MultiscaleStructuralSimilarityLoss
,ssim_loss
and
ssim_multiscale_loss
.
-
tfmr.metrics
:- Added new metrics
DiceIndex
andJaccardIndex
(aliases ofF1Score
and
IoU
, respectively).
- Added new metrics
-
tfmr.summary
:- Added module.
- Added new function
gif
.
Bug Fixes and Other Changes
-
tfmr
:- Fixed a bug in static shape inference for ops
central_crop
and
resize_with_crop_or_pad
. - Fixed a bug in
view_as_complex
that would result in incorrect results for
multidimensional arrays. - Fixed a bug in
LinearOperatorNUFFT
that would result in incorrect batch
shape processing when the rank ofdomain_shape
was equal to the number of
spatial dimensions. - Fixed a bug in
TotalVariationRegularizer
that would sometimes cause it to
return an array instead of a scalar.
- Fixed a bug in static shape inference for ops
TensorFlow MRI 0.6.2
Release 0.6.2
Bug Fixes and Other Changes
-
tfmr
:- Fixed a bug that would cause
radial_density
to fail when in graph mode.
- Fixed a bug that would cause
TensorFlow MRI 0.6.1
Release 0.6.1
This release contains some improvements to the documentation.
TensorFlow MRI 0.6.0
Release 0.6.0
Breaking Changes
- The keyword arguments
spacing
anddomain
of the ops
tfmr.radial_trajectory
andtfmr.spiral_trajectory
have been renamed to
ordering
andangle_range
, respectively. - The range of the angles in 2D "full" radial/spiral trajectories will now be
[0, 2 * pi]
instead of[0, pi]
. - The range of the angles in 2D "half" radial trajectories will now be
[0, pi]
instead of[-pi/2, pi/2]
. - Multi-phase linear trajectories will now be interleaved.
- The density calculated by
radial_density
will now be scaled differently. - Arguments
domain_shape
andpoints
ofLinearOperatorNUFFT
have changed
order.
Major Features and Improvements
-
tfmr
:- Added new image ops
total_variation
andphantom
. - Addew new array ops
cartesian_product
,meshgrid
,ravel_multi_index
and
unravel_index
. - Added new geometry module with ops
rotate_2d
androtate_3d
. - Added new optimizers module with op
lbfgs_minimize
. - Added new convex operators module with ops
ConvexOperator
,
ConvexOperatorL1Norm
,Regularizer
andTotalVariationRegularizer
. - Added new signal processing module with ops
crop_kspace
,filter_kspace
andhamming
. - Added new linear algebra ops
LinearOperatorFFT
andLinearOperatorInterp
. - Added new math ops
make_val_and_grad_fn
,view_as_complex
and
view_as_real
. - Added new k-space trajectory op
estimate_radial_density
. - Added new ordering methods
"golden_half"
,"tiny_half"
and
"sphere_archimedean"
to functionradial_trajectory
. - Added new method
"inufft"
toreconstruct
. - Added new method
"pipe"
toestimate_density
. - Added keyword argument
rank
to functionradial_waveform
.
- Added new image ops
Bug Fixes and Other Changes
-
tfmr
:- Fixed a bug in
radial_density
that resulted in the DC component being
underweighted. - Fixed a few bugs that would cause some ops to fail in graph mode.
- Added graph mode tests.
- Refactored testing modules.
- Refactored linear algebra module.
- Refactored utilities modules.
- Added new utilities module
plot_util
.
- Fixed a bug in
TensorFlow MRI 0.5.0
Release 0.5.0
This release focuses on the new metrics
module and implements several
Keras metrics. It also adds some image reconstruction functionality.
Major Features and Improvements
-
tfmr
:- Added new method
"grappa"
toreconstruct
operation, implementing
generalized autocalibrating partially parallel acquisitions (GRAPPA). - Added new operation
reconstruct_partial_kspace
for partial Fourier (PF)
reconstruction. Supported PF methods are zero-filling, homodyne detection
and projection onto convex sets. - Added new operation
ravel_multi_index
to convert arrays of
multi-dimensionalindices to arrays of flat indices. - Added new operation
extract_glimpses
to extract patches or windows at the
specified locations from N-dimensional images.
- Added new method
-
tfmr.metrics
:- Added new confusion metrics module with multiple binary, multiclass and
multilabel metrics:Accuracy
,TruePositiveRate
,TrueNegativeRate
,
PositivePredictiveValue
,NegativePredictiveValue
,Precision
,Recall
,
Sensitivity
,Specificity
,Selectivity
,TverskyIndex
,FBetaScore
,
F1Score
andIoU
. This module also exposes the abstract base class
ConfusionMetric
. - Added new image quality assessment metrics module with 2D/3D
PeakSignalToNoiseRatio
,StructuralSimilarity
and
MultiscaleStructuralSimilarity
.
- Added new confusion metrics module with multiple binary, multiclass and
Bug Fixes and Other Changes
-
tfmr
:- Added new keyword argument
coil_axis
tocoil_compression_matrix
operation.
- Added new keyword argument