Skip to content

Releases: tomopy/tomopy

New filtering method and bug fixes

13 Nov 18:40
51b58c8
Compare
Choose a tag to compare

What's Changed

  • BUG: Convert upsample_factor from positional to key argument by @dgursoy in #563
  • REF: Fixed mismatched function prototype vs. implementation by @jrmadsen in #565
  • STY: Use NotImplementedError instead of logging by @carterbox in #559
  • NEW: Adding a Median Filter for Non-Finite Values by @WilliamJudge94 in #566
  • TST: Add atol param to ordered subset tests by @carterbox in #561

New Contributors

Full Changelog: 1.10.4...1.11.0

Mitigate instability in MLEM and other batch methods

18 Jun 17:42
0508c6a
Compare
Choose a tag to compare

Added a small constant to prevent zero-division in MLEM/OSEM. Fixed how blocks in ordered subset methods are chosen, so they actually match the number of requested blocks.

Additional simulated artifacts and new CUDA versions

18 Jun 17:37
d04e73c
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.9.2...1.10.0

Interpolation-based stripe removal

28 Sep 21:00
1047c0b
Compare
Choose a tag to compare

Adds a new stripe removal method along with tests for prep.stripe and updating the some of the stripe removal parameters. Also adds fixes for zero division in the stripe removal algorithms.

Optional build dependencies

04 Sep 14:12
aeee299
Compare
Choose a tag to compare

Previously, TomoPy required both OpenCV and MKL as build dependencies. These libraries are used for the CPU accelerated versions of SIRT/MLEM and the gridrec reconstruction algorithm, respectively. However, users of TomoPy may not need the functionality provided by them or want these dependencies installed, so it does not make sense for them to be required during the TomoPy build process.

The best way to make these dependencies optional was modularization of the TomoPy C/C++ extensions. This is accomplished by breaking up the shared-object library file into five separate library files that have no inter-dependencies. These libraries are "accel" (the accelerated MLEM and SIRT functions), "gridrec" (the gridrec reconstruction algorithm), "misc", "prep" and "recon", which contain the C implementations of functions from the Python modules of the same name. Under this new file organization, if MKL or OpenCV are not found during the build process, the corresponding shared-library object will be skipped, but the other library files will build succesfully.

The header files for the C extensions are now divided into one of five folders depending on which library they provide forward declarations for and functions are removed from headers that are not meant to be in the public API. This source reorganization's purpose is to conform to common practice for C shared libraries. Also, since it was not possible to remove all non-public functions from the headers, internal headers were created to provide forward declarations when multiple files rely on a function.

The main contributor for this release was @dreycenfoiles.

Allow using gridrec with align_adjoint

02 Jul 21:23
a61a0da
Compare
Choose a tag to compare

This release contains a bug fix that prevented the user from choosing gridrec as the algorithm for align_adjoint.

Patch external package interfaces

18 Feb 21:29
2105545
Compare
Choose a tag to compare

Update the documentation and fix broken integrations with ASTRA, Binder, and the NumPy FFT library.

Lens distortion correction

11 Sep 18:00
Compare
Choose a tag to compare

Adds lens distortion correction methods from @nghia-vo for projection and sinograms.

Tikhonov regularization with Identity Tikhonov matrix

07 Aug 18:29
Compare
Choose a tag to compare

Add a simple extension of the gradient descent method for solving Tikhonov regularization of the form:

equation

Example of usage:

recon = tomopy.recon(
    proj, theta, center=rot_center, algorithm='tikh',
    reg_data=v, reg_par=[-1, alpha], num_iter=32,
) # where -1 refers to automatic gradient step search 

Patch broken ring removal and add Python 2 deprecation warning

08 Jul 23:38
Compare
Choose a tag to compare
BUG: Fix name of functions used in remove_all_stripe (#427)

Closes #426