operators#

Defines implementations for all operators.

All of the solvers, rely on operators including forward and adjoint operators. In tike, forward and adjoint operators are paired as fwd and adj methods of an Operator.

In this way, multiple solvers (e.g. ePIE, gradient descent, SIRT) implemented in Python can share the same core operators and can be upgraded to better operators in the future.

All operator methods accept the array type that matches the output of their asarray() method.

Module for operators utilizing the CuPy library.

This module implements the forward and adjoint operators using CuPy. This removes the need for interface layers like pybind11 or SWIG because kernel launches and memory management may by accessed from Python.

Operator

A base class for Operators.

Alignment

An alignment operator composed of pad, flow, and rotate operations.

CachedFFT

Provides a multi-plan per-device cache for CuPy FFT.

Convolution

A 2D Convolution operator with linear interpolation.

Flow

Map input 2D arrays to new coordinates by Lanczos interpolation.

Lamino

A Laminography operator.

Pad

Pad a stack of 2D images to the same shape but with unique pad_widths.

Propagation

A Fourier-based free-space propagation using CuPy.

Ptycho

A Ptychography operator.

Rotate

Rotate a stack of 2D images along last two dimensions.

Shift

Shift last two dimensions of an array using Fourier method.