mantidimaging.core.reconstruct.cil_recon module

class mantidimaging.core.reconstruct.cil_recon.CILRecon[source]

Bases: BaseRecon

static find_cor(images: ImageStack, slice_idx: int, start_cor: float, recon_params: ReconstructionParameters) float[source]
static full(images: ImageStack, cors: List[ScalarCoR], recon_params: ReconstructionParameters, progress: Progress | None = None) ImageStack[source]

Performs a volume reconstruction using sample data provided as sinograms.

Parameters:
  • images – Array of sinogram images

  • cors – Array of centre of rotation values

  • proj_angles – Array of projection angles in radians

  • recon_params – Reconstruction Parameters

  • progress – Optional progress reporter

Returns:

3D image data for reconstructed volume

static get_data(sino: np.ndarray, ag: AcquisitionGeometry, recon_params: ReconstructionParameters, num_subsets: int) AcquisitionData[source]
static set_approx_norm(A2d: BlockOperator, acquisition_data: AcquisitionGeometry, image_geometry: ImageGeometry) None[source]

Use an analytic approximation of the norm of the operator Otherwise this is slow to calculate, this approximation is good to with in 5% When running in debug mode, check the approximation and raise an error if it is bad

static set_up_TV_regularisation(image_geometry: ImageGeometry, acquisition_data: AcquisitionData, recon_params: ReconstructionParameters) tuple[BlockOperator, BlockFunction, Function][source]
static single_sino(sino: np.ndarray, cor: ScalarCoR, proj_angles: ProjectionAngles, recon_params: ReconstructionParameters, progress: Progress | None = None) np.ndarray[source]

Reconstruct a single slice from a single sinogram. Used for the preview and the single slice button. Should return a numpy array,

mantidimaging.core.reconstruct.cil_recon.allowed_recon_kwargs() dict[str, list[str]][source]