API Summary#

Geometries#

kernelkit.VolumeGeometry(shape, voxel_size, ...)

Geometry for a single 3D reconstruction object.

kernelkit.ProjectionGeometry(...[, u, v, ...])

Single 3D projection with one source and one detector.

kernelkit.Beam(value[, names, module, ...])

Beam type.

kernelkit.resolve_volume_geometry([shape, ...])

Resolves a VolumeGeometry given partial parameters.

kernelkit.experimental.suggest_volume_extent(...)

Suggest a volume extent for a given geometry.

kernelkit.Detector(rows, cols, pixel_height, ...)

Detector specifications.

kernelkit.rotate(geom[, roll, pitch, yaw])

Creates a new geometry by rotation.

kernelkit.rotate_(geom[, roll, pitch, yaw])

In-place rotation of a geometry.

kernelkit.scale(geom, factor)

Creates a new projection geometry by factor.

kernelkit.scale_(geom, factor)

In-place factor of geometry or geometry sequence.

kernelkit.shift(geom, vector)

Creates a new geometry by a 3D shift.

kernelkit.shift_(geom, vector)

In-place shift of a geometry or geometry sequence.

Kernels#

kernelkit.kernel.BaseKernel(cuda_source)

Abstract base class for CUDA kernels

kernelkit.kernel.copy_to_texture(array[, ...])

Creates a single-channel 2D/3D texture object of type float from a CuPy array.

kernelkit.kernel.copy_to_symbol(module, ...)

Copy array to address on GPU, e.g. constant memory.

kernelkit.kernels.VoxelDrivenConeBP([...])

Voxel-driven conebeam backprojection kernel.

kernelkit.kernels.RayDrivenConeFP([...])

Ray-driven conebeam forward projection kernel.

Projectors#

kernelkit.BaseProjector()

Interface-like base class for projectors.

kernelkit.BackProjector([kernel, texture_type])

Backprojector for conebeam geometry

kernelkit.ForwardProjector([kernel, ...])

Cone-beam forward projector.

kernelkit.toolbox_support.ForwardProjector()

Adapter for ASTRA forward projectors.

kernelkit.toolbox_support.BackProjector()

Adapter for ASTRA backprojectors.

Algorithms#

Reference algorithms:

kernelkit.bp(projections, ...[, filter, ...])

X-ray backprojection.

kernelkit.fp(volume, projection_geometry, ...)

X-ray forward projection.

kernelkit.fdk(projections, ...[, filter])

Feldkamp-Davis-Kress algorithm for conebeam geometry.

kernelkit.sirt(projections, ...[, iters, ...])

Simultaneous Iterative Reconstruction Technique.

Operator-style algorithm building blocks:

kernelkit.BaseOperator()

A mathematical operator.

kernelkit.ProjectorOperator(projector, ...)

An operator \(A : X \to Y\) using a forward and backprojector.

kernelkit.XrayTransform(projection_geometry, ...)

A mathematical operator representing the X-ray transform.

Miscellaneous#

Helpers for cone and Fourier-based algorithms:

kernelkit.processing.filter(projections[, ...])

Filter in Fourier domain

kernelkit.processing.preweight(projections, ...)

Pixelwise rescaling to compensate for ray length in conebeam images

Helpers for pitched 2D memory:

kernelkit.data.ispitched(array)

Returns True if the array is pitched, False otherwise.

kernelkit.data.aspitched(array[, xp])

Pads array to pitched shape and returns a view in original shape.

Helpers for PyTorch:

kernelkit.torch_support.AutogradOperator(...)

Autograd function for Operator objects.