Micromanager Multidimensional acquisition: camera take an image before reaching the XY position


I’m taking images of multiple XY positions over time, using the micromanager multidimensional acquisition (using the Time Points, Multiple Positions).

Somehow, the camera take an image when the stage is still moving and haven’t reached the actual XY position.
This happens when the distance between the XY position is relatively far, for example from one well to another well.

Is there a fix for this?

Thank you,

MM asks the XY stage if it is busy, and only takes an image when the stage reports it is no longer busy, or when a time-out occurs. Without further information it is difficult to know which of these situations occurred, but since you say this only happens after long movements, I believe that a time-out occurred. To set a longer timeout, change the property Core-TimeoutMs, and set it to something larger than the longest time it ever takes for your stage to move to a new position. It is useful to add this timeout to your System-Startup configuration.

There are other possible reasons why the stage is still moving (for instance, some stages can report they are done moving, but then decide to make a tiny adjustment after all, tricking MM in taking a picture while the stage moves). To see for yourself what is actually happening, choose Help > Report a Problem, reproduce the issue, and look at the System logs to find out the root cause. If thing are too complicated, you can send the error report and someone will get back to you.

In addition to what Nico mentioned, I’ve found that longer stage movements can cause the images to be blurry, because the oil is still flowing. That can be solved my adjusting the stage speed and settings like “finish error” (on ASI stages). Here’s an example of speeding up a stage, but you can try modifying the settings in the opposite direct and see if that helps with settling the sample and oil at a new position:


To add on to Sam’s comment specifically for ASI stages: If you need a fixed amount of time for settling you can have ask the controller wait to report it has finished the move for a certain time after the stage has landed. The property that controls that is the “WaitCycles” property for the ASIStage device adapter (traditional ASI controllers) and the “WaitTime(ms)” on the ASITiger device adapter (modular ASI controllers). This delay in reporting that the move is done works with both serial polling (typical use) as well as TTL triggering if you are using MM’s hardware sequencing capability.