Skip to content

Toeplitz NUFFT, code harmonization

Compare
Choose a tag to compare
@mmuckley mmuckley released this 08 Jan 14:46

This update adds the Toeplitz NUFFT, a new module that can execute a sequence of forward and backward NUFFTs as much as 80 times faster than a sequence of forward and adjoint NUFFT calls. The update also includes code harmonization and better use of inheritance.

Code harmonization

  • Refactored interpolation code to reduce duplication across subroutines.
  • Changed testing framework to use fixtures instead of globals.
  • Added new KbModule class for __repr__ statements. All classes now inherit from KbModule, which reduces __repr__ duplication.
  • Minor performance improvements.

Toeplitz NUFFT

  • Added ToepNufft and ToepSenseNufft classes. These can be used to execute forward/backward NUFFT operations with an FFT filter and no interpolations. The filter can be calculated using the new calc_toep_kernel function in nufft.toep_functions.
  • The new Toeplitz Nufft routine can be used to execute forward/backward NUFFTs as much as 80 times faster than a sequence of forward and backward NUFFT calls.