Fast Image Acquisition

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Fast Image Acquisition

Brian Ashcroft

Hello,

   I am working with a Labview wrapper of Micromanager.  I need to acquire images as fast as possible from a QuantEM.  As I understand it, this should be done by streaming the images into micromanager and then reading from the circular buffer, but I can only figure out how to do this by acquiring X images and then reading them out after they have been acquired.  This is not possible for my application as I need to acquire 500 images and review them as the images are taken.  Is there a way to set the camera into streaming mode and then read out the images as they are created?

 

Thank you

Brian


------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Fast Image Acquisition

Nico Stuurman
Administrator
Hi Brian,

>    I am working with a Labview wrapper of Micromanager.  I need to acquire images as fast as possible from a QuantEM.  As I understand it, this should be done by streaming the images into micromanager and then reading from the circular buffer, but I can only figure out how to do this by acquiring X images and then reading them out after they have been acquired.  This is not possible for my application as I need to acquire 500 images and review them as the images are taken.  Is there a way to set the camera into streaming mode and then read out the images as they are created?


I wrote the Beanshell script copied below as an example.  Most of it deals with getting the images into the Micro-Manager viewer and you will not care about it.  The important part is:

mmc.startSequenceAcquisition(nrFrames, 0, false);
while (mmc.getRemainingImageCount() > 0 || mmc.isSequenceRunning(mmc.getCameraDevice())) {
   if (mmc.getRemainingImageCount() > 0) {
      img = mmc.popNextImage();
      // do whatever you want with the image
   }
}


Note that mmc.startSequenceacquistion() is non-blocking, so you should have no trouble analyzing the images as they are acquired.

Hope this helps!


Nico


  /*
  * Script to show how to use Sequence acquisition
  */

// file locations
acqName = "test-Burst";
rootDirName = "C:/acquisitionData";

// Number of timepoints
nrFrames = 50;


// clear all previous acquisitions
gui.closeAllAcquisitions();
gui.clearMessageWindow();
gui.openAcquisition(acqName, rootDirName, nrFrames, 1, 1);

long width = mmc.getImageWidth();
long height = mmc.getImageHeight();
long depth = mmc.getBytesPerPixel();

gui.initializeAcquisition(acqName, (int) width, (int) height, (int) depth);

exposure = mmc.getExposure();
binning = mmc.getProperty(mmc.getCameraDevice(), "Binning");


mmc.startSequenceAcquisition(nrFrames, 0, false);
frame = 0;
now = System.currentTimeMillis();
while (mmc.getRemainingImageCount() > 0 || mmc.isSequenceRunning(mmc.getCameraDevice())) {
   if (mmc.getRemainingImageCount() > 0) {
      img = mmc.popNextImage();
      gui.addImage(acqName, img, frame, 0,0);
      frame++;
   }
}

itTook = System.currentTimeMillis() - now;

mmc.stopSequenceAcquisition();

gui.message("Acquisition took: " + itTook + " milliseconds");



------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Loading...