Recently, I am working on acquiring images with pycro-manager. My task can be demonstrated as this:
The sample flows in the capillary, and there is an interval between each adjacent sample. All I want is to capture each sample. Here is my schematic.
At first, my camera is working in live mode and calcite the minimum of the live image. It starts to acquire image only when the minimum of the live image is below a threshold th (e.g. th = 200). After the gray level is above th, the acquisition stops, and set the camera mode back to live and waiting for another sample coming.
How can I do this work by pycro-manager? The acquisition code may like this:
from pycromanager import Acquisition, multi_d_acquisition_events, Bridge bridge = Bridge() core = bridge.get_core() with Acquisition(directory=save_dir, name=save_name) as acq: events = multi_d_acquisition_events(num_time_points=100) acq.acquire(events)
But the first step is to stop the acquisition? Does core.stop() help? Do I need to use another thread to stop it? I really need help, even for a program framework.