We're using improv to handle process & memory management. Visualization data will be sent to jupyter using zmq.
Need to write and decide the following:
Acquisition information. Probably just a json dict that is submitted via zmq from matlab after the improv setup is invoked. We want:
mesmerize batch dir or database name
animal_id
channel information
shape of each channel
dtype
framerate
laser power
zoom
all other scanimage info
date
Per-frame acquisition header of size 5,000 bytes with each frame that is sent via zmq from matlab/scanimage:
frame_index - uint32
trial_index - uint32
trigger_state - uint32
timestamp - float32
Many empty bytes for future use
We could just define these using a yaml file or something.
Note: 5,000 byte header is less than 1% the size of (512 512 2) bytes which is the size of a 512 x 512 int16 frame.
Matlab class using parfeval to send data using zmq. The frame data and per-frame acquisition information are sent together in a single zmq message as raw bytes in this format:
header: 5,000 bytes
channel_a: shape_x shape_y dtype.nbytes
channel_b: shape_x shape_y dtype.nbytes
MesmerizeWriter to write incoming data as a "batch item"
How to keep the cnmf Estimates object and read from it during live visualization.
We're using
improv
to handle process & memory management. Visualization data will be sent to jupyter usingzmq
.Need to write and decide the following:
Acquisition information. Probably just a json dict that is submitted via zmq from matlab after the improv
setup
is invoked. We want:Per-frame acquisition header of size 5,000 bytes with each frame that is sent via
zmq
from matlab/scanimage:Note: 5,000 byte header is less than 1% the size of (512 512 2) bytes which is the size of a 512 x 512 int16 frame.
Matlab class using parfeval to send data using zmq. The frame data and per-frame acquisition information are sent together in a single zmq message as raw bytes in this format:
MesmerizeWriter
to write incoming data as a "batch item"How to keep the cnmf Estimates object and read from it during live visualization.