Flint: Rework channel types
Up until now channels used in Flint was based on dim type + special cases (counter, mca, image, RGB(A))
If we take a look at Lima device
- The image API provides obviously images
- The video API can provide RGB(A?) images
- The XH model provides images which are in fact stack of spectrums
- Lima2 is about to support acquisition of multichannel images.
- Lima2 will maybe expose the single images as
(1,y,x)
for consistency
It would be nice to spend some time to refactor that.
Guesses:
- A channel will not change it's type during the acquisition
- We can decide the type before receiving the 1st data
We could imagine to use a general representation with an auto detection, but there is anyway corner cases which are difficult to infer.
So we need at some place a nomenclature.
COUNTER # 0d
MCA # 1d: channel
MCA_D_C # 2d: detector-like, channel
IMAGE_AUTO # 2d/3d: In case we can't decide
# The type is part of the data
# I mostly think about the video API in this case
IMAGE_Y_X # 2d: y, x
IMAGE_C_Y_X # 3d: channel, y, x
IMAGE_Y_X_RGB # 3d: y, x, rgb
IMAGE_Y_X_RGBA # 3d: y, x, rgba
Edited by Valentin Valls