fbp_filter_op

odl.tomo.analytic.filtered_back_projection.fbp_filter_op(ray_trafo, padding=True, filter_type='Ram-Lak', frequency_scaling=1.0)[source]

Create a filter operator for FBP from a RayTransform.

Parameters:
ray_trafoRayTransform

The ray transform (forward operator) whose approximate inverse should be computed. Its geometry has to be any of the following

Parallel2dGeometry : Exact reconstruction

Parallel3dAxisGeometry : Exact reconstruction

FanBeamGeometry : Approximate reconstruction, correct in limit of fan angle = 0. Only flat detectors are supported (det_curvature_radius is None).

ConeBeamGeometry, pitch = 0 (circular) : Approximate reconstruction, correct in the limit of fan angle = 0 and cone angle = 0.

ConeBeamGeometry, pitch > 0 (helical) : Very approximate unless a tam_danielson_window is used. Accurate with the window.

Other geometries: Not supported

paddingbool, optional

If the data space should be zero padded. Without padding, the data may be corrupted due to the circular convolution used. Using padding makes the algorithm slower.

filter_typeoptional

The type of filter to be used. The predefined options are, in approximate order from most noise senstive to least noise sensitive: 'Ram-Lak', 'Shepp-Logan', 'Cosine', 'Hamming' and 'Hann'. A callable can also be provided. It must take an array of values in [0, 1] and return the filter for these frequencies.

frequency_scalingfloat, optional

Relative cutoff frequency for the filter. The normalized frequencies are rescaled so that they fit into the range [0, frequency_scaling]. Any frequency above frequency_scaling is set to zero.

Returns:
filter_opOperator

Filtering operator for FBP based on ray_trafo.

See also

tam_danielson_window

Windowing for helical data