Skip to content

New full-field pipeline

Pierre Paleo requested to merge new_pipeline into 2022.3

Description

This MR is a major rework of the full-field pipelines. The aim is to have something simpler and more maintainable.

There will be one single (base) class for all approaches ("chunked" and "grouped"). The new pipeline automatically switches to "grouped" mode if end_angle < n_angles.

To do

  • Basic structure/features of base class
    • Init with different sub-regions (in all axes)
    • Init all components
  • Create a helper class for data dump (DataDumpManager)
  • Rework WriterConfigurator to use tomoscan.esrf.Volume
    • Change API (metadata etc)
    • Force h5py >= 3.0 (done by tomoscan anyway) - close #257 (closed)
    • Ensure files are written in the correct location (partial sinograms, final tiff, etc)
    • Check it works for histogram (have to use NabuNXProcessWriter because 1D
  • Fix z_binning, once and for all (see !143 (closed)) (close #160 (closed), #167 (closed), #168 (closed) )
  • Test grouped mode
  • Don't duplicate radios to build sinograms in HA (close #314 (closed) )
  • Rename new_pipeline.NewPipeline
  • Get rid of CudaChunkedPipelineLimitedMemory (close #262 (closed))
  • Write Reconstructor
    • Adapt files merge
    • Adapt app.reconstruct
  • Tests!

Close #292 (closed), #195 (closed)

To be moved to another MR

  • Make distortion correction work for GPU backend (see #301 (closed) )
  • In "group mode", add mechanism to avoid dumping sinograms to disk if there is enough memory
  • Ensure subsampling/binning works with user-provided files
  • Ensure binning works with "margin"
Edited by Pierre Paleo

Merge request reports