Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project is planned to adhere to Semantic Versioning when it reaches version 1.0.
Unreleased -
Added
Changed
Fixed
Removed
Deprecated
Security
0.7.0 - 2025-04-30
Added
New AutogradOperator for easier autograd support
Numpy 2 compatibility
Fixed
Removed astra-toolbox 2.3.0 support from package metadata
Improved Monai interoperability of to_autograd
Fix copy semantics with NumPy 2
Fix print options with NumPy 2
Fixed wrong dimensions in learned_pd example code
Fix positional args passed to kwarg-only function (VolumeGeometry.__init__)
Fix error message in AssertionError in OperatorFunction
0.6.0 - 2022-08-02
Added
References and links to ts_algorithms were added to the readme
Changed
Changed the Tomosipo autograd operators made by the tomosipo.torch_support.to_autograd function. By default they now expect the same input shape (3 dimensions) as a normal Tomosipo operator. New arguments have been added to also support the input shapes expected in Pytorch neural networks.
0.5.1 - 2022-06-15
Small bugfix to the to_autograd operator. (Pull request 16)
Fixed
Fixed to_autograd operator to always output 32 bit results, also with a 64 bit input just like the normal operator. Before the fix it only worked with 32 bit inputs.
0.5.0 - 2022-02-01
This release is mostly about maintaining existing functionality. The tomosipo paper and Astra toolbox 2 were released, there is a new maintainer, and some bugs were fixed. The conda package is now the default installation option.
Added
Added information and Bibtex entry of the tomosipo paper to the readme
Changed
Changed repository maintainer from Allard Hendriksen to Dirk Schut
The conda package is now the default installation option, instead of cloning from Github with pip. This is changed in the readme
Astra toolbox 2 was released so it is now the required version. There were no API changes compared to the recent development version that was required before.
Removed cupy and odl packages from the environment presented in the documentation. Cupy was removed because of cudatoolkit error messages ODL was removed because it changes the global numpy formatting options
Fixed
Replaced usage of np.int which was deprecated in numpy 1.20 with int
Replaced the usage of collect_ignore in setup.cfg because it was removed from pytest
Licence information was updated to show GPLv3
0.4.1 - 2021-07-18
Bug fix release for ts.rotate (again)..
Fixed
ts.rotate: the rotation matrix had become transposed while fixing https://github.com/ahendriksen/tomosipo/issues/7. This has now been fixed.
0.4.0 - 2021-07-15
Bug fix release for ts.rotate. Minor bump for automatic torch and cupy
linking.
NOTE: ts.rotate is broken in this release. Please use v0.4.1.
Changed
It is no longer necessary to import
tomosipo.torch_supportortomosipo.cupyto enable support for linking torch and cupy arrays. Support for these arrays is now added automatically when the packages are installed in the host environment.
Fixed
ts.rotatecan now correctly deal with a changing axis of rotation over time. https://github.com/ahendriksen/tomosipo/issues/7
Removed
The
ts.forwardandts.backwardtop-level bindings have been removed. They are still available asts.astra.forwardandts.astra.backward.The
ts.fdktop-level binding has been removed. It is still available asts.astra.fdk.
0.3.1 - 2021-06-17
Fixed
ts.operator: making an operator with a volume vector geometry would fail. This has been fixed.
0.3.0 - 2021-06-17
In this release, mostly small things have been polished for consistency. In addition, the transforms functions have gained some added functionality to easily move and scale things over time.
Added
All geometry classes implement
len(), which returns the number of steps in the geometry.Convenience methods
Transform.transform_vecandTransform.transform_pointts.svg(): Render geometries to an animated SVG (no dependencies required(!)).ts.svg(): Added progress bar.ts.svg(): Optionally show z,y,x-axes in top-left corner withshow_axes=True.ts.reflect(): Add reflection geometrical transform.ts.from_perspective()/ts.to_perspective(): Addignore_scaleparameter, which isTrueby default.ts.scale(): Add alpha parameter so that object can easily be scaled in certain directions over time.ts.translate(): Add alpha parameter so that object can easily be translated along a certain axis over time.
Changed
ts.svg(): Removebase64keyword parameter. This functionality has been moved to the_repr_markdown_method.ts.rotate(): Disallow passingposandaxisby position. All parameters are now keyword-only.ts.rotate(): Deprecateradanddegparameters in favor ofangles. This makests.rotatemore consistent withts.parallel(), etc.ts.from_perspective()/ts.to_perspective(): All parameters are now keyword-only.ts.from_perspective()/ts.to_perspective(): Theboxparameter has been renamed tovol..to_box(): Rename the.to_box()method on projection geometries to.to_vol().
0.2.0 - 2020-10-13
This is a major release. It introduces two features that define tomosipo in its current form:
Geometric transformations such as rotation, translation, and scaling are introduced. They can be composed and applied to all supported geometries.
Automatic linking of arrays, both for NumPy arrays and arrays on the GPU. This enables a paradigm shift in programming for ASTRA in Python, because it is no longer necessary to create
astra.data3dobjects. This greatly simplifies coding and makes the whole experience of using ASTRA considerably more pleasant.
Added
Support for parallel geometries (both parameterized and vector geometries)
Volume vector geometry: this is a non-axis aligned version of the standard ASTRA volume geometry and replaces the Box object.
PyTorch support
CuPy support
tomosipo.qt.animate: inline videos of geometries in Jupyter notebooks, which can also be saved to disk in.mp4format.Support for import ODL geometries
ts.operator: this creates a wrapper for an ASTRA projector and can forward project arbitrary arrays. Note: This function might be renamed tots.projector.ts.to_astraandts.from_astra: generic conversion functions that convert geometry objects to and from their ASTRA representation.
Changed
Almost all APIs have been changed in some way or form. I will be more careful going forward.
Moved from unittest to pytest framework for testing.
0.0.1 - 2018-09-25
Added
Initial support for cone and volume geometries
Initial support for displaying data and geometries
Conversion to and from astra geometry format