Skip to content

Releases: BioMedIA/deepali

0.6.3

21 Nov 11:08
Compare
Choose a tag to compare

What's Changed

  • [core] Multiply input by 'scale' even when 'steps=0' in expv() by @aschuh-hf in #144
  • [utils] Support MetaImage files with unspecified HeaderSize by @sgerber-hf in #149
  • [doc] Add TorchIR to list of related projects by @aschuh-hf in #146

New Contributors

Full Changelog: 0.6.2...0.6.3

0.6.2

02 Feb 21:12
Compare
Choose a tag to compare

DOI

Maintenance release.

  • [losses] Fix MI loss to allow sample ratio of 1 (#139)
  • [doc] Fix regularization weights of pairwise registration tutorial (#142)
  • [ci] Update used GitHub actions to latest versions using Node.js 20 (#143)

0.6.1

14 Dec 17:20
Compare
Choose a tag to compare

DOI

Maintenance release with some minor breaking changes.

  • [core] Fix spatial derivatives when using mode="bspline" or mode="gaussian" (#135).
  • [core] Rename SpatialDerivativeKeys all() and unmixed() argument ndim to spatial_dims (#132).
  • [data] Fix exception when passing a FlowFields batch tensor to F.grid_sample() (#134).
  • [losses] Add spacing option to flow field loss modules (#136).
  • [spatial] Reverse stride order when subsampling DenseVectorFieldTransform (#133).

0.6.0

13 Nov 13:31
Compare
Choose a tag to compare

DOI

Add low-level functions for stationary velocity field based diffeomorphic spatial transforms.

  • Modify mi_loss() to allow use of num_samples to limit maximum number when using a sample_ratio (#121).
  • Ensure Gaussian kernel tensor is 1-dimensional even when sigma=0 (#122).
  • Fix compose_flows() to compute composite displacement field (#128, #129).
  • Add compose_svfs() to compose velocity fields using Baker-Campbell-Hausdorff (BCH) formula (#129, #130).
  • Add lie_bracket() of vector fields which is required for BCH formula (#129).
  • Add logv(), the inverse map of expv(), based on the algorithm proposed by Bossa & Olsom (2008) (#131).
  • Switch from .vscode/ folder to deepali.code-workspace file (#123).

0.5.2

23 Oct 15:56
Compare
Choose a tag to compare

DOI

Maintenance release.

  • Fix calculation of flow field Jacobian determinant (#120).
  • Add add_identity option to jacobian_det() (#120).

0.5.1

04 Sep 20:43
Compare
Choose a tag to compare

DOI

Maintenance release.

  • [core] Ignore error in deepali.core.pathlib.delete() of failed deletion of non-empty directory
  • [utils] Fix check if path exists in deepali.utils.simpleitk.imageio.read_image()
  • [utils] Force pull file from cloud storage in deepali.utils.vtk.polydata.read_polydata()
  • [ci] Update action/checkout to v4

0.5.0

31 Aug 22:11
Compare
Choose a tag to compare

DOI

Maintenance release with some minor breaking changes.

  • Fix DataclassConfig.from_path() when argument is a URI (#111)
  • Fix and extend flow field derivative based losses (#117)
    • Add flow_derivatives() with default spacing for finite differences assuming a normalized flow field.
    • Add curl(), divergence(), and divergence_free_flow() functions to core library.
    • Modify finite_differences() to pad input using replicate instead of padding output with zeros.
    • Add mode='forward_central_backward' to avoid padding using replicate or constant values.
    • Add mode='bspline' to spatial_derivatives().
    • Generalize cubic_bspline_jacobian_*() to jacobian_*() functions for all mode values.
    • Fix bending energy, curvature, and divergence loss functions.

0.4.3

04 Aug 16:37
Compare
Choose a tag to compare

DOI

Maintenance release.

  • Move deepali.utils.storage module to deepali.core.
  • Add EulerRotation.matrix_() setter.
  • Add LogLevel convenience initialization methods.
  • Fix setting default log_level in configure_logging().
  • Fix flattening of direction cosines matrix in write_sitk_iamge().
  • Remove pyyaml dependency, only use ruamel.yaml instead.
  • Install conda-devenv and conda-lock in conda environment.

0.4.2

28 Jul 13:32
d51bbf2
Compare
Choose a tag to compare

DOI

Maintenance release.

  • Modified spatial.ImageTransformer to allow target grid domain to differ from transform.grid() domain.
  • Change image tensor creation functions to return non-batched image tensor when num=0 is passed.
  • Fix assertion condition when comparing data tensor shape to MetaImage DimSize metadata.
  • Fix torch.from_numpy() warning that NumPy array is read-only when reading MetaImage from data blob.
  • Fix circle_image() and cshape_image() functions used to create synthetic 2D registration example images.

0.4.1

20 Jul 22:35
Compare
Choose a tag to compare

DOI

Minor refactoring of deepali.core and deepali.utils with a few breaking changes.

  • Renamed deepali.core.path to deepali.core.pathlib
    • Moved functions make_temp_dir(), temp_dir(), and temp_file() to deepali.core.tempfile.
  • Renamed deepali.core.types to deepali.core.typing.
    • Moved TensorCollections related functions to deepali.core.collections.
  • Move deepali.utils.cli modules to deepali.core such as
    • deepali.core.argparse
    • deepali.core.environ
    • deepali.core.logging
  • Added deepali.utils.imageio library.
    • If installed, use nibabel to read/write NIfTI images instead of SimpleITK.
    • Support direct streaming of .mha MetaImage files from cloud storage (AWS S3).
    • Keep using SimpleITK for all other image file formats.
  • Modified Image.read() and Image.write() methods to use deepali.utils.imageio library.
  • Use absolute imports between deepali.* packages, relative imports only within.
  • Added software citation using Zenodo.