Skip to content

Buffer DataSet instead of reading frames from disk on demand

Zamaan Raza requested to merge buffer-frames into main

Images (notionally Eigen::MatrixXi objects) are not stored in memory rather than read from disk on-demand. This makes the GUI a little smoother.

Note that the data is only buffered when specifically requested by the GUI, so no buffering is done by default for scripted calculations. The buffering is controlled by DataComboBox, which is the only mechanism for switching between DataSets in an experiment. It ensures that only one DataSet is buffered at a time.

By default, all images in a DataSet are buffered, but I have implemented it in such a way that in future, it may be possible to buffer fewer frames.

Resolves #520 (closed), #512 (closed)

Edited by Zamaan Raza

Merge request reports