You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
use the napari threading framework to spawn multiple QRunnable to stream data from a detector to a file;
one thread is spawned for each detector currently flagged forAcquisition;
add streaming support for OME-TIFF and HDF5 files support;
change the getChunk method in the DetectorManager class to return a tuple of two numpy arrays:
one for the actual data chunk to be written;
one for a list of frame IDs used for checking possible frame losses during long acquisitions;
add a synchronization mechanism to update the GUI whenever a new recording is done similarly to what was already being implemented.
Not everything is currently supported:
time lapses are not supported yet;
the synchronization when using multiple cameras is a bit buggy;
zarr streaming is still missing;
data chunks are continously collected by a direct call to the getChunk function of the DetectorManager class; this is inefficient when one has (like I have) an instrument which aims for going at very high acquisition speed (i.e. hundreds of microseconds of exposure time, even lower).
What I would like to have:
a thread-safe memory buffer which allows a camera to write on a specific RAM section continously, while the streaming object continously write it. If the streaming object is fast enough there should be no data losses.
for reduced data storage requirements, support for lossy/lossless compression algorithms would be nice.
EDIT: fixed links
The text was updated successfully, but these errors were encountered:
I did some refactor on the
RecordingManager
and also theDetectorManager
.What I did was:
napari
threading framework to spawn multipleQRunnable
to stream data from a detector to a file;forAcquisition
;getChunk
method in theDetectorManager
class to return a tuple of two numpy arrays:Not everything is currently supported:
getChunk
function of theDetectorManager
class; this is inefficient when one has (like I have) an instrument which aims for going at very high acquisition speed (i.e. hundreds of microseconds of exposure time, even lower).What I would like to have:
EDIT: fixed links
The text was updated successfully, but these errors were encountered: