mantidimaging.core.reconstruct.base_recon module

class mantidimaging.core.reconstruct.base_recon.BaseRecon[source]

Bases: object

static allowed_filters() List[str][source]
static find_cor(images: mantidimaging.core.data.images.Images, slice_idx: int, start_cor: float, recon_params: mantidimaging.core.utility.data_containers.ReconstructionParameters) float[source]
static full(images: mantidimaging.core.data.images.Images, cors: List[mantidimaging.core.utility.data_containers.ScalarCoR], recon_params: mantidimaging.core.utility.data_containers.ReconstructionParameters, progress: Optional[mantidimaging.core.utility.progress_reporting.progress.Progress] = None) mantidimaging.core.data.images.Images[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

  • recon_params – Reconstruction Parameters

  • progress – Optional progress reporter

Returns

3D image data for reconstructed volume

static negative_log(data: numpy.ndarray) numpy.ndarray[source]
static prepare_sinogram(data: numpy.ndarray, recon_params: mantidimaging.core.utility.data_containers.ReconstructionParameters)[source]
static single_sino(sino: numpy.ndarray, cor: mantidimaging.core.utility.data_containers.ScalarCoR, proj_angles: mantidimaging.core.utility.data_containers.ProjectionAngles, recon_params: mantidimaging.core.utility.data_containers.ReconstructionParameters, progress: Optional[mantidimaging.core.utility.progress_reporting.progress.Progress] = None) numpy.ndarray[source]

Reconstruct a single sinogram

Parameters
  • sino – The 2D sinogram as a numpy array

  • cor – Center of rotation for parallel geometry. It will be converted to vector geometry before reconstructing

  • proj_angles – Projection angles

  • recon_params – Reconstruction parameters to configure which algorithm/filter/etc is used

Returns

2D image data for reconstructed slice