Revamp data readers and "dataset information holders"
When it comes to browsing a dataset, several operations are considered:
- Browsing/loading metadata
- Loading the data
- Update information based on users overrides (eg. energy, pixel size, exclude projections, etc).
Tasks (1) and (2) are handled by Dataset Information holder classes:
- HDF5-NXTomo :
NXTomoScan
- EDF :
EDFTomoScan
- Fscan:
FscanDataset
-
NabuCheckpoint
: to do (see #341)
Task (2) is handled by Data Readers:
- HDF5-NXTomo:
NXTomoReader
(done in !430 (merged)) - EDF:
EDFStackReader
(to do: replace ChunkReader with this class) - HDF5-Fscan: to do
- Nabu checkpoint: done in pipeline.fullfield, but to be moved
"Dataset Information holder" and "Data Reader" could be one class (per file format), but it's probably better to keep them separate, so that Data Reader can be used in a non-ESRF-centric way.
Dataset Information Holders are mostly done in tomoscan, but the following features are incomplete or missing:
- Exclude projections - see the cumbersome mechanism in nabu.resources.dataset_analyzer
- Update metadata like pixel_size, energy, distance
Edited by Pierre Paleo