Sequence aquisition

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

Sequence aquisition

Brian Ashcroft
I am trying to figure out how to collect 100 images in burst mode.  I am using the python wrapper and have tried the following steps.
 
mmc.startSequenceAcquisition(100,100,False)
while(mmc.isSequenceRunning()):
    pass
 
for i in range(100):
       img = mmc.popNextImage()
       print img
       
This fails after about 20 images
 
getLastImage only seems to return the last image collected, so the sequence is worthless.  How do you set it up to collect a sequence of 100 images.  If I dont wait for the sequence to finish, i.e. collect the images as they are being aquired, then i just get a static image.  
 
Thank you


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
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: Sequence aquisition

Arthur D. Edelstein
Hi Brian,

Maybe you need to increase the size of the circular buffer? You can use the function setCircularBufferMemoryFootprint(megabytes) .

Arthur


On Fri, Oct 21, 2011 at 12:45 PM, Brian Ashcroft <[hidden email]> wrote:
I am trying to figure out how to collect 100 images in burst mode.  I am using the python wrapper and have tried the following steps.

mmc.startSequenceAcquisition(100,100,False)
while(mmc.isSequenceRunning()):
   pass

for i in range(100):
      img = mmc.popNextImage()
      print img

This fails after about 20 images

getLastImage only seems to return the last image collected, so the sequence is worthless.  How do you set it up to collect a sequence of 100 images.  If I dont wait for the sequence to finish, i.e. collect the images as they are being aquired, then i just get a static image.

Thank you


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
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: Sequence aquisition

Nico Stuurman-4
In reply to this post by Brian Ashcroft

On Oct 21, 2011, at 12:45 PM, Brian Ashcroft wrote:

I am trying to figure out how to collect 100 images in burst mode. How do you set it up to collect a sequence of 100 images.  If I dont wait for the sequence to finish, i.e. collect the images as they are being aquired, then i just get a static image.  

See: 


for an example.  The most relevant code is the following:

 while ((core_.getRemainingImageCount() > 0 || core_.isSequenceRunning()) && !error && !stop_)
         {
            if (core_.getRemainingImageCount() > 0)
            {
               long start = GregorianCalendar.getInstance().getTimeInMillis();
               Object img = core_.popNextImage();
               double interval = core_.getBufferIntervalMs();
               if (stack_) {
                  ip.setPixels(img);
                  stack.addSlice(Integer.toString(stack.getSize()+1), ip);
                  acqData_.insertImageMetadata(count, 0, 0);                  
               } else {
                  acqData_.insertImage(img, count, 0, 0);                  
               }
               acqData_.setImageValue(count, 0, 0, ImagePropertyKeys.EXPOSURE_MS, expMs);
               
            } else {
               // wait for next image
               //gui_.displayStreamingMessage("Waiting...");
               Thread.sleep(100);
            }
         }




Thank you


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general


------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
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: Sequence aquisition

Brian Ashcroft
In reply to this post by Arthur D. Edelstein
So I have tried to set up a bigger buffer, so I am not getting any errors thrown, but all I get is 100 black images.  Is there something big that I am missing?
 
from pylab import *
ion()
import MMCorePy
mmc = MMCorePy.CMMCore()
mmc.loadDevice("cam","DemoCamera","DCam")
mmc.initializeDevice("cam")
print "Test acquire and display of monochrome images."
figure()
mmc.setCameraDevice("cam")
mmc.snapImage()
im1 = mmc.getImage()
imshow(im1,cmap = cm.gray)
width=mmc.getImageWidth()
height=mmc.getImageHeight()
BufferSize=width*height*2*100/1048576
mmc.setCircularBufferMemoryFootprint(BufferSize)
mmc.startSequenceAcquisition(100,100,False)
while(mmc.isSequenceRunning()):
 pass
for i in range(100):
        img = mmc.popNextImage()
        imshow(im1,cmap = cm.gray)

________________________________

From: Arthur D. Edelstein [mailto:[hidden email]]
Sent: Fri 10/21/2011 1:18 PM
To: Micro-Manager General
Subject: Re: [micro-manager-general] Sequence aquisition


Hi Brian,

Maybe you need to increase the size of the circular buffer? You can use the function setCircularBufferMemoryFootprint(megabytes) .

Arthur



On Fri, Oct 21, 2011 at 12:45 PM, Brian Ashcroft <[hidden email]> wrote:


        I am trying to figure out how to collect 100 images in burst mode.  I am using the python wrapper and have tried the following steps.
       
        mmc.startSequenceAcquisition(100,100,False)
        while(mmc.isSequenceRunning()):
           pass
       
        for i in range(100):
              img = mmc.popNextImage()
              print img
       
        This fails after about 20 images
       
        getLastImage only seems to return the last image collected, so the sequence is worthless.  How do you set it up to collect a sequence of 100 images.  If I dont wait for the sequence to finish, i.e. collect the images as they are being aquired, then i just get a static image.
       
        Thank you
       
       
        ------------------------------------------------------------------------------
        The demand for IT networking professionals continues to grow, and the
        demand for specialized networking skills is growing even more rapidly.
        Take a complimentary Learning@Cisco Self-Assessment and learn
        about Cisco certifications, training, and career opportunities.
        http://p.sf.net/sfu/cisco-dev2dev
        _______________________________________________
        micro-manager-general mailing list
        [hidden email]
        https://lists.sourceforge.net/lists/listinfo/micro-manager-general
       



------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general

winmail.dat (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Sequence aquisition

Brian Ashcroft
In reply to this post by Arthur D. Edelstein
My bad.  Just totally screwed up something unrelated and now it works great.
 
Brian

________________________________

From: Arthur D. Edelstein [mailto:[hidden email]]
Sent: Fri 10/21/2011 1:18 PM
To: Micro-Manager General
Subject: Re: [micro-manager-general] Sequence aquisition


Hi Brian,

Maybe you need to increase the size of the circular buffer? You can use the function setCircularBufferMemoryFootprint(megabytes) .

Arthur



On Fri, Oct 21, 2011 at 12:45 PM, Brian Ashcroft <[hidden email]> wrote:


        I am trying to figure out how to collect 100 images in burst mode.  I am using the python wrapper and have tried the following steps.
       
        mmc.startSequenceAcquisition(100,100,False)
        while(mmc.isSequenceRunning()):
           pass
       
        for i in range(100):
              img = mmc.popNextImage()
              print img
       
        This fails after about 20 images
       
        getLastImage only seems to return the last image collected, so the sequence is worthless.  How do you set it up to collect a sequence of 100 images.  If I dont wait for the sequence to finish, i.e. collect the images as they are being aquired, then i just get a static image.
       
        Thank you
       
       
        ------------------------------------------------------------------------------
        The demand for IT networking professionals continues to grow, and the
        demand for specialized networking skills is growing even more rapidly.
        Take a complimentary Learning@Cisco Self-Assessment and learn
        about Cisco certifications, training, and career opportunities.
        http://p.sf.net/sfu/cisco-dev2dev
        _______________________________________________
        micro-manager-general mailing list
        [hidden email]
        https://lists.sourceforge.net/lists/listinfo/micro-manager-general
       



------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general

winmail.dat (6K) Download Attachment
Loading...