Skip to content

TomoPy 1.1.2

Compare
Choose a tag to compare
@dgursoy dgursoy released this 15 Nov 21:04
· 908 commits to master since this release

Updates

  • Removed all remnants of pyfftw, now that mkl_fft is on conda-forge.
  • Moved the logic of loading fft implementation to _fft_loader.py called from init.py.
  • Optimizations to rotation.py to minimize creation of intermediary numpy arrays.
  • Conda-forge channel is set-up as the default distribution channel.
  • Alignment is now available and the FAQ is edited correspondingly.
  • Add UFO wrapper and adapt documentation.
  • Wrote more efficient code for _reciprocal_grid and _reciprocal_coord.
  • Encapsulated uses of fft, ifft and fft2, ifft2 by replacing direct calls to pyfftw.interfaces.numpy functions with calls to wrapper functions defined in tomopy.util.misc.
  • Wrote definitions of these functions in terms of mkl_fft functions, in terms of pyfftw functions and in terms of numpy.fft functions as fall-back.
  • Supported in-place operations with overwrite_input=True.
  • in _retrieve_phase ifft2 is now done in-place for efficiency.
  • Used floating point functions, i.e. ceilf, sinf, cosf, etc. instead
    of functions with doubles signature, i.e. ceil, sin, cos, etc..
  • Replaced use of lroundf(x) with (int) roundf(x).
  • The latter one can be vectorized, while the former can not.
  • Icc-specific pragmas get applied to loops to assist vectorization
    if Intel C Compiler is used to compile the code.
  • The loop updating H was split in two to avoid genuine vector dependencies
    inhibiting vectorization by ICC.
  • Use 64-bytes aligned memory allocation from X/Open-7 posix standard
    instead of using fftw allocator.
  • unctions _elipsoid and _transform now use numpy arrays for intermediate computations rather than Python lists.
  • Added two "re-projection" based algorithms for automated vertical and horizontal alignment of projection images.
  • Changed smin and smax arguments in call to _search_coarse in the large sinograms case to smin / 4.0 and smax / 4.0 in order to incorporate downsampling.
  • VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future.