Edit page History How do I edit this website?

High Speed Acquisition in Micro-Manager

The latest Scientific CMOS (sCMOS) cameras such as the Andor Zyla, Hamamatsu Orca Flash 4.0, and PCO edge boast large format sensors and high frame rates, producing image data at up to 1.1 GB/s. As of version 1.4.15, Micro-Manager has been optimized to be able to acquire images from cameras at these high speeds. Some preparations must be made to be able to store images at that rate, however.

Necessary computer hardware

First, you need a computer that can handle these high data rates. With the right hardware, you can store the images either in RAM (for later copying to disk) or on solid state drives (SSDs).

To use RAM storage, make sure the computer has relatively recent RAM (such as PC1600 or faster) and enough RAM for the desired acquisition. The Micro-Manager team has tested a computer with 128 GB of RAM, storing 100 GB of full frame images from the Andor Zyla and Hamamatsu Orca Flash 4.0 at the full frame rate (90 seconds of images).

For SSD storage, we have used a number of SSDs in tandem using a RAID controller. Our setups included 3 or 4 Samsung 840 Series 256 GB SSDs, which offer write speeds of up to ~500 MB/s. We used the RAID controller configuration software to create a RAID0 virtual drive, setting the stripe size to 1MB and the write policy to Always Write Back. Then we used the Windows 7 disk management tool to format the virtual drive and set the Allocation Unit Size to 64 kB. It was convenient to use a benchmark utility such as HD Tune to measure the writing speed of the virtual drive, which was, as expected for a RAID0 setup, the sum of the SSDs’ speed (~1500 MB/s for 3 SSDs).

We were able to soup up Micro-Manager’s various code modules to enable it to acquire long image sequences at 1.1 GB/s (the full frame rate and full 2560x2160 frame for the 10-tap Andor Zyla), filling the virtual drive with over 900 GB of frames in ~13 min.

Despite this success, we discovered (after purchase) that our test computer did not support TRIM. This lack of TRIM seems to be the reason we experienced a dramatic fall in virtual drive performance after several acquisitions. We were able to restore performance to the highest speed by reformatting the virtual drive using the Windows disk management tool (with “Quick Format” turned off). Reformatting is very inconvenient, so we strongly recommend purchasing a computer and RAID controller that are compatible with TRIM.

How to run a high speed acquisition

Once the computer is running, you’ll need to install the camera driver and the latest version of Micro-Manager, and then configure Micro-Manager to operate the camera. Now you can start testing acquisition. After launching Micro-Manager, select “Options” under the Tools menu and ensure that the “Fast Storage” option is checked. In the future, Fast Storage mode is likely to become the standard acquisition and the checkbox will be hidden.

Start live mode to test that the camera is working. The Live window should appear and the live view should continuously update as new images arrive from the camera. For sCMOS cameras such as the Zyla or Flash 4.0, setting exposure time to 10 ms should result in images arriving at 100 fps, which should be reported in the Live window.

When the camera is confirmed to be working, open Multi-Dimensional Acquisition, and activate Time points. Multiple positions, Z-stacks, Autofocus, and Channels should be deactivated. To acquire to RAM, leave “Save images” unchecked. For disk storage, activate “Save images” and make sure “Image stack file” is selected. Choose a root directory and enter a name prefix for the image file(s). Then press the “Acquire!” button. A window should appear that shows a live view from the camera, and captions indicating the speed of acquisition and number of images already acquired. Micro-Manager’s display will skip frames when necessary to avoid falling behind the most recent images. (Note that the Micro-Manager acquisition itself will not drop frames but report an error if the application is unable to keep up with the frame rate).

At this point, the CPU usage should not be too high – our test computer often shows only about 20% CPU consumption during a high speed acquisition. If images are being stored to RAM, you can open the Windows Task Manager and watch RAM usage ramp up linearly with time.

When acquisition has finished, you can immediately review the movie by dragging the time slider on the display window. If the images have been acquired to RAM, one can press the save button to save the images to disk. (Depending on the disk type, saving from RAM may take much longer than the acquisition itself.) When the image window is closed, Micro-Manager’s memory usage should fall back to the level before acquisition was started.

Micro-Manager’s high-speed hardware triggering capabilities can be combined with high-speed cameras to produce fast multi-dimensional image sets. A microcontroller compatible with Micro-Manager can pass trigger signals from the camera to an AOTF- or LED-based illuminator to produce high-speed multi-channel movies, and by triggering a piezo-driven focus drive, can produce high-speed Z stacks.