Volume reconstruction
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 ofcreate a dedicated PR for documentationCudaFullFieldPipeline
,CudaFullFieldPipelineLimitedMemory
andLocalReconstruction