Add XPCS processing
XPCS processing would sparsify (remove 0 photon data) and save the data in the same sparse format than the one used for saving the peaks in the SMX processing. The format we use is basically 3 vectors:
pixel_t pixel_value; // intensity
int pixel_idx; // 1D index in the image
int frame_idx; // index of the beginning of the image in pixel_idx
An empty frame is just one entry in the frame_idx
vector:
frame_idx = [0, 25, 36, 36, 54, 98... ]
^
frame #3 is an empty frame (same pixel index as the previous one)
TODO
-
The writer_sparse
needs to be refactored for this use case -the current implementation is too specific to SMX. The SMX specific part would be moved to the SMX processing. -
A sparsifier algorithm / node needs to be implemented. Implementations already exist in the benchmarks. -
A sparse_frame
, similar to the one designed for SMX but without background, needs to be implemented. Refactoring needed.