Hi! I am a new user of micro-manager. I am trying to take images with a pco.panda camera using the multi-dimensional acquisition in micromanager. I would like to take images at 30fps (frames per second) for 30 seconds, so I set the count = 900 and interval = 33ms. Since I would like to take images at different exposure times (for example 20ms and 10ms), I set the exposure time in ‘‘Channels’’ to be 20 (or 10), however, the image acquisition does not work (it takes a much longer time than 30sec). But if I set the exposure time to be 33ms, which matches with the interval, then it can take the images normally. Does that mean I can not change the exposure time? Or I did something wrong. Thank you very much!
Hi (and welcome to this forum!),
There are two camera “modes”, one in which the camera acts like a photo camera and “snaps” images, and one in which it acts like a video camera and streams images. The latter mode is always considerably faster than the first (how much faster depends on the camera). To speed things up, MM tries to use the video mode whenever it can. When you set an interval that is less than the exposure time, MM will use video mode (assuming that the exposure time for both channels is the same). So, if you really want different exposure times for the two channels, then you will need to live with slow(er) acquisition. You could try changing illumination intensity so that you can use the same exposure time for both channels. If the interval is less than the exposure time, the interval will be more or less ignored (as the time between images will become almost the same as the exposure time).
Just because you set the interval to be 33 ms doesn’t mean that the system can actually run that fast. Each camera exposure requires readout, which can take longer than the exposure. Then the system needs to change filters or whatever other hardware changes happen between channels. Plus there is communication time between the computer and the pieces of hardware the computer controls. So each image can take much longer than just the exposure time. When you set an impossibly short interval, Micro-Manager will do the count you set (900) as fast as it can with no intentional delays between channels. But it will be much longer than 30 s total.
To decrease the delay between channels, you can set up hardware triggering, which uses the TTL pulse train from the camera and a sequence reloaded in an Arduino or TriggerScope to turn on different lasers without waiting for communication from the software. If that’s something you’re interested in, you can ask more questions here, but start with this paper: https://www.jbmethods.org/jbm/article/view/36/29
Hi Nico. Thank you so much for your reply. Sorry I did not make myself clear. I only have one channel. The reason that I select ‘channel’ is that I thought that was the place to change the exposure time of the camera. Sorry that I am still a little bit confused. If I would like to take images at 30 fps for 30seconds with an exposure time of 20ms, how should I set the frame rate and the exposure time in micro-manager? (I tried count =900, interval = 33ms for setting the frame rate to be 30fps and changed the exposure time in ‘channel’ to be 20. But unfortunately, the image acquisition did not work. It was really slow.) Hope I make it clearer. Thank you!
Hi Sam. Thank you for your help! Sorry I did not make myself clear. I only have one channel. I plan to take the 30 seconds image sequence at 30fps for several times, and for each time, I would like to use a different exposure time, but I only have one channel. If this the case, will the delay be reduced? I tried the interval = 33ms and exposure time =33ms, the image acquisition worked fine. But when interval = 33ms and exposure time = 20ms or anything different than interval, the image acquisition became really slow. Is that the same reason as you described earlier. I am confused about how can I set a fixed frame rate and vary the exposure time. Thank you!
Sorry, I’m not familiar enough with your camera to know its particularities. But I doubt the entire readout and software communication process can happen in 33 ms. So either the camera runs at full speed (movie mode streaming the frames to the software without delay between exposures), or any interval between frames will require significant time for the camera to send the image to the computer, and then the software to send a command to the camera to snap another frame, then the camera to complete it’s cleaning cycles and snap another image.
What you observe is a little curious, however, in that the camera gets slower when you lower the exposure time. It might be going into a different mode at very short exposure times? Have you tried the newest nightly builds of Micro-Manager? (That won’t fix the problem that you won’t be able to set such a short interval—that’s limited by the communication times.)
For advanced exposure sequencing like this, you may need TTL board to externally trigger the lasers with a varying pulse width. Maybe the TriggerScope can do that? Or maybe you can program an Arduino to send a defined pulse with every camera TTL signal? https://micro-manager.org/wiki/Arduino