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) BlockDataContainer | 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_TGV_regularisation(image_geometry: ImageGeometry, acquisition_data: AcquisitionData, recon_params: ReconstructionParameters) tuple[BlockOperator, BlockFunction, Function][source]#
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,

class mantidimaging.core.reconstruct.cil_recon.MIProgressCallback(verbose=1, progress: Progress | None = None)[source]#

Bases: Callback

class mantidimaging.core.reconstruct.cil_recon.RecordResidualsCallback(verbose=1, residual_interval: int = 1)[source]#

Bases: Callback

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