fdk.pyΒΆ

Source: LION/classical_algorithms/fdk.py

Filtered backprojection utilities for LION CT operators.

LION.classical_algorithms.fdk.cite(cite_format='MLA')[source]ΒΆ

Print the Feldkamp-Davis-Kress reconstruction citation.

Parameters:

cite_format (str)

Return type:

None

LION.classical_algorithms.fdk.make_fdk_filter(width, *, filter_type=None, frequency_scaling=1.0, device=None)[source]ΒΆ

Construct a windowed Ram–Lak filter for FDK/FBP.

Parameters:
  • width (int) – Spatial filter width, including projection padding when enabled.

  • filter_type (str, optional) – ram-lak, hann, hamming, cosine, shepp-logan, or none.

  • frequency_scaling (float, optional) – Cut-off frequency as a fraction of Nyquist.

  • device (torch.device, optional) – Destination device.

Returns:

Real spatial filter, or None to use the backend default.

Return type:

torch.Tensor or None

LION.classical_algorithms.fdk.fdk(sino, op, clip=True, *, padded=True, filter=None, filter_type=None, frequency_scaling=1.0, batch_size=10)[source]ΒΆ

Apply batched FDK/FBP reconstruction.

Parameters:
  • sino (torch.Tensor) – Sinogram with shape (N, C, angles, detector) or without N.

  • op (tomosipo.Operator or Geometry) – Projection operator or geometry from which one can be constructed.

  • clip (bool, optional) – Clip negative output values.

  • padded (bool, optional) – Pad projections during filtering.

  • filter (torch.Tensor, optional) – Explicit filter overriding filter_type.

  • filter_type (str, optional) – Window generated by make_fdk_filter().

  • frequency_scaling (float, optional) – Filter cut-off fraction.

  • batch_size (int, optional) – Internal projector batch size.

Returns:

Reconstruction with the input batch convention preserved.

Return type:

torch.Tensor