Rework "Volume viewer"
Goal
This PR add a task dedicated to display reconstructed volume.
It extract three slices along each direction and allow user to display them side by side.
The idea on the long term:
- delegate to nabu the generation of the slices 'on the fly' during the volume reconstruction
- replace the 'tomwer.gui.visualization.volume_reconstruction_summary' module by https://gitlab.esrf.fr/tomotools/tetraview (when available) (But at least on the meantime users can have a view and provide feedbacks). General features will be done silx.
Screenshots
Extra
Closes #1390
Warning
This is not a "complete" work. Several things will need to be added (like opening a slice with imageJ, speeding up IOs - here the best option is probably to have an option in nabu to extract the slices, making sure that the geometry is correct ...) But this a first step to start collecting feedback on it and it can already be useful to users as it is.
Demo
Short demo. With already outdated window. But it gives an idea. Video to update once validated.
know limitation
reading HDF5
Today allow users to read along the fast axis before slices (or volume) are loaded. When reading those they will use tomoscan HDF5Volume reading mechanism. The mechanism is using the silx 'open_hdf5' than read without swmr mode. So in the specific case of HDF5 users won't be able to read directly the slice. For it some swmr
would need to be used. Out of the scope of the PR. Already way too large.
This could also enter in conflict when reading the slices for publishing to the data portal. I tried to move to swmr but as we are reading the full volume at the same time at the end this doesn't improve things. The real solution is to have nabu creating the sub slices when reconstructing the volume.
view reset
When resetting the 'overall view' () the widget is not strictly split into four equal space. This comes from the metadata view and the colorbar which seems to force other size. Couldn't find a way out for the moment.
Dealing for legacy
The previous code has been added in a 'legacy' section to be safer. It will be removed in the future (2.0 ?)