Problems with the use of Micromanager2 with Andor Ultra 897 camera

Hi all,

We use Micromanager to interface with our home-build microscope setup. We perform localization microscopy which requires acquiring ~300K frames with no intervals (full frame - 512X512). The optical setup currently has an Andor Ultra 897 camera.

We were using Micromanager 1.4 and everything was working fine. However, recently for various reasons we had to upgrade to Micro-Manager-2.0gamma220722. After this upgrade, when I tried to set up an acquisition with 300K frames, after a considerable delay I got an error message (please see image below):

And so I tried setting up acquisitions with a lower number of frames to see what the limit was. I found that I could start an acquisition for frame numbers 200K and below. I also noticed that the delay between the first images appearing on the acquisition window and when the acquisition was started, was increasing corresponding to the increase in number of frames wished to be acquired.

I then looked up help online and came across https://micro-manager.org/wiki/Andor#iXon_Error_20010_DRV_ERROR_PAGELOCK . From the site, I gathered that the reason for the error was a Bug in Andor PCI/e card driver version 4.31.0 and older. So I tried the suggested remedy and that was to get/install the latest version of camera driver which had an upgrade for PCI/e card driver. This however, did not seem to help with solving the problem. In addition to this, I was not able to find the PCI/e card driver or version for the andor camera that we use on our computer system. The camera is connected to the computer via a USB.

As a work-around of the inability to acquire the full 300K frames, I broken the acquisition up to 2 acquisitions consisting of 150K frames each to be acquired consecutively. However, after the acquisition, I found that the first acquisition had 149998 frames and the second one had 139615 frames. This is a major problem for my acquisitions that are time course dependent.

I would appreciate any help towards solving this problem.

Thank you.

Not sure if this will help, but maybe check your memory settings:
https://micro-manager.org/wiki/Micro-Manager_Configuration_Guide#MemorySettings

Do you know which nightly build of 1.4 worked for you?

If possible, test the current nightly build of 1.4. If that has the same error, then the issue is most likely in the device adapter code. If this is the case, you can triangulate when the problem started, by testing nightly build in between the working and not-working one.

There was a considerable change to the Andor SDK2 device adapter on 2019-03-07 - 2019-09-03.

Sam’s suggestion to look at memory assignment (which has become a complicated topic) is also good. The error suggests that the Andor driver can not get enough memory (I do not know how the driver handles memory).

Hi Samjlord,
We have tried and increased the memory size, but this still did not help.
Thank you.

Hi nicost,
It works with MM1.4.22 (does this answer your question on nightly build?).
We had moved from MM1 to MM2 cause we changed our hardware controller from a mojo to a fpga.
My ex-colleague (who managed the software and hardware of the optical system previously) has helped me to configure the new fpga to work with MM1.
And so as it seems now, things seem to be working as per norm with MM1. So I dont think there is a problem with the device adapter code. I think there is a bug? in MM2.
I will test it our tonight with an overnight acquisition.

Thank you very much for your comments and help.

best, Jervis

MM1 and MM2 share the device control code. This code has changed over the time. So, it would be helpful if you can test a recent nightly build of MM1.4 and see if that also has the bug. If it does, then the problem is in the device control code. If it does not, then it is related to the UI code.

Hi Nicost,

I tested out a couple of 1.4.23 nightly builds and narrowed it down to 160301 nightly build. From this nightly build the acquistion fails to launch (Micromanager crashes.).

Thank you.

best,
Jervis

Hi Jervis,

That is a very long time ago! Interestingly, it coincides with a change labeled: “Fix for Andor CCD camera generating an extra Fire TTL pulse at the end of an acquisition sequence.” The change is not extensive, but does change how the software starts the sequence of images in the camera driver. It would need careful study to figure out what triggers the bug, and what the actual underlying issue is.
Since Andor maintains the device adapter code, and knows the driver well, and has actual cameras to test with, they are in a much better position to test and fix. The best way forward will be to contact Andor support with the information in this thread, and ask them to help.

Hi Nico,

I have heard back form Andor and they have found the root of the problem. This is their reply:

" Apologies for the delay in responding to you.
Our software team has found the root of the problem and have developed a new device adapter which provides an option to work around the memory problem.

The new adapter will enable the option to switch on a ‘Force Run til Abort’ mode which resolves the memory problem, however the number of fire pulses generated by the camera will not be correct, you may wish to consider this in regards to your application. Please see the Wiki at the following link for further details:-

I have tested this adapter in both 1.4.23 and 2.0 and it appears to work fine.

The next nightly build will include the new adapter but if you wish to use it now you can download and extract the attached file, then copy the new adapter into the relevant micromanager directory overwriting the current file. The new feature can then be enabled in the device property browser:-

"

mmgr_dal_Andor.zip (131.7 KB)

Thank you.

Awesome! I think this new device adapter will be in tonight’s build (20201022 and later) of 1.4 and 2.0.

Great support by Andor!