Sinogram normalization
This PR brings sinogram normalization (close #118 (closed)).
To do
-
SinoNormalization
class -
Cuda implementation -
Unit tests -
Integrate in pipeline: config, process_config -
Integrate in FullFieldPipeline
-
Integrate in FullFieldPipelineLimitedMemory
-
Test on datasets
Notes
- Tested on "ha_refill".
- In the pipeline (
FullFieldPipeline
), normalization is done before building the sinogram. The reason is that in the case of half-tomo, thebuild_sino
step modifies the sinogram structure, making normalization not work as expected. There is no really alternatives. The drawback is that any "normalization" that might need to happend afterbuild_sino
would need another intantiation/step. - In the limited memory setting, normalization is done on host. It might be too slow for large chunks of data. Doing the processing on GPU might needs more work: either doing
VerticalShifts
on GPU, or doing on normalization on GPU only ifVerticalShift
is disabled. - Only Chebyshev normalization is implemented. Splines normalization will have to wait.
Edited by Pierre Paleo