micro-manager/AcqEngJ

Documentation improvement

nicost opened this issue · 3 comments

Some more documentation of this engine would be nice. I just started looking at the api to figure out how to send it a "recipe" of a desired acquisition (for instance, a time lapse with a z-stack in two channels at each time point), but it is not clear to me how to send such instructions to the "Engine" object (which would be step 1 in using this to replace the current engine in Micro-Manager). There are quite a few classes in the api, but it is not obvious what these are or what they can be used for.

Some more javadoc, and possibly a few simple examples would go a long way.

  1. Create an acquisition (acq):

public Acquisition(DataSink sink) {

  1. acq.start();

  2. Call acq.submitEventIterator(Iterator<AcquisitionEvent> evt) one or more times

  3. acq.finish()

AcquisitionEvent can be constructed from JSON:

public static AcquisitionEvent fromJSON(JSONObject json, AcquisitionAPI acq) {

With the specification defined here:

https://pycro-manager.readthedocs.io/en/latest/apis.html#acquisition-event-specification

Or manually, like this:

timePointEvent.setMinimumStartTime((long) (interval_ms * frameIndex_));

More detailed information here:
micro-manager/micro-manager#809

You never use Engine directly after instantiating it. It gets called by Acquisition

added