Skip to content

Volume reconstruction

Pierre Paleo requested to merge multistage_rec into master

This is a follow-up of !53 (merged).

The aim of this PR is to have a nabu nabu.conf CLI able to reconstruct an entire volume.

If phase retrieval is enabled, a "margin" has to be used (otherwise there are boundaries effects in the 2D convolution on radios). In a multi-stage reconstruction, the "phase margin" should be used with overlapping reconstructions. This is illustrated in a comment below.

However, it can be that there is not enough memory on GPU to load margin_up + margin_down + 1 detector lines ; in this case, the class CudaFullFieldPipelineLimitedMemory should be used.

The core of this PR is the class LocalReconstruction on top of FullFieldPipeline.
This class is very likely to change in the future (ex. integrate other pipelines, add options), so it should stay in nabu.app.

To do:

  • Automatic "Paganin margin" estimation (close #122 (closed))
  • Integrate phase margin in pipeline
  • Multi-stage reconstruction with overlapping chunks (external call)
  • Merge HDF5 reconstructions (close #131 (closed))
  • Make sure it works in the "limited memory settings"
  • Make sure it works with binning/projs subsampling
  • Make sure it works when phase retrieval is off (!)
  • Make phase margin optional
  • Integrate in CLI
  • Documentation on the purpose of CudaFullFieldPipeline, CudaFullFieldPipelineLimitedMemory and LocalReconstruction create a dedicated PR for documentation
Edited by Pierre Paleo

Merge request reports