nabu.pipeline.fullfield.chunked module

class nabu.pipeline.fullfield.chunked.ChunkedPipeline(process_config, chunk_shape, margin=None, logger=None, use_grouped_mode=False, extra_options=None)[source]

Bases: object

Pipeline for “regular” full-field tomography. Data is processed by chunks. A chunk consists in K contiguous lines of all the radios. In parallel geometry, a chunk of K radios lines gives K sinograms, and equivalently K reconstructed slices.

Initialize a “Chunked” pipeline.

Parameters:
  • processing_config (ProcessConfig) – Process configuration.

  • chunk_shape (tuple) – Shape of the chunk of data to process, in the form (n_angles, n_z, n_x). It has to account for possible cropping of the data, eg. [:, start_z:end_z, start_x:end_x] where start_xz and/or end_xz can be other than None.

  • margin (tuple, optional) – Margin to use, in the form ((up, down), (left, right)). It is used for example when performing phase retrieval or a convolution-like operation: some extra data is kept to avoid boundaries issues. These boundaries are then discarded: the data volume is eventually cropped as data[U:D, L:R] where ((U, D), (L, R)) = margin If not provided, no margin is applied.

  • logger (nabu.app.logger.Logger, optional) – Logger class

  • extra_options (dict, optional) – Advanced extra options.

Notes

Using margin results in a lesser number of reconstructed slices. More specifically, if margin = (V, H), then there will be delta_z - 2*V reconstructed slices (if the sub-region is in the middle of the volume) or delta_z - V reconstructed slices (if the sub-region is on top or bottom of the volume).

backend = 'numpy'
FlatFieldClass

alias of FlatFieldArrays

DoubleFlatFieldClass

alias of DoubleFlatField

CCDCorrectionClass

alias of CCDFilter

PaganinPhaseRetrievalClass

alias of PaganinPhaseRetrieval

CTFPhaseRetrievalClass

alias of CTFPhaseRetrieval

UnsharpMaskClass

alias of UnsharpMask

ImageRotationClass

alias of Rotation

VerticalShiftClass

alias of VerticalShift

MunchDeringerClass

alias of MunchDeringer

SinoMeanDeringerClass

alias of SinoMeanDeringer

VoDeringerClass

alias of VoDeringer

MLogClass

alias of Log

SinoNormalizationClass

alias of SinoNormalization

SinoFilterClass

alias of SinoFilter

FBPClass

alias of OpenCLBackprojector

ConebeamClass = None
MLEMClass

alias of MLEMReconstructor

HBPClass = None
HistogramClass

alias of PartialHistogram

set_subregion(sub_region)[source]

Set the data volume sub-region to process. Note that processing margin, if any, is contained within the sub-region.

Parameters:

sub_region (tuple) – Data volume sub-region, in the form ((start_a, end_a), (start_z, end_z), (start_x, end_x)) where the data volume has a layout (angles, Z, X)

register_callback(step_name, callback)[source]

Register a callback for a pipeline processing step.

Parameters:
  • step_name (str) – processing step name

  • callback (callable) – A function. It will be executed once the processing step step_name is finished. The function takes only one argument: the class instance.

property sub_region_xz

Return the currently processed sub-region in the form (start_x, end_x, start_z, end_z)

property z_min
property sino_shape
property sinos_shape
get_slice_start_index()[source]
process_chunk(sub_region)[source]