Several Questions about micro manager and arduino set up

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

Several Questions about micro manager and arduino set up

madison
Hi Micro manager developers

I am a graduate student from UW-madison.

First of all, thanks so much for developing micro manager and make it free and easy to use. Recently, I installed arduino to control the shutter of two lasers and I changed the timeout in the existing code from 1000 to 50ms, because I am planning to take a fast movie, however, I encounter the following problems and am really confused.

1. How can I take  a fast movie, for example 300ms as the interval time? I tried to reduce the answer time in the configuration set up, but it seems that the min interval time I could use was 500ms or so. I found out there are some delay between each laser and am wondering how can I find the exact delay time between each channel.

2. I saw the manual saying I can click burst button and do fast speed acquisition in 13 version. Why there is no such plug-in in the latest version?

3. When i am taking the fast movie for a long time, is there are anyway that I can take the movie while saving, like solis software spooling function? It seems that, the max frames I can have for micro manager is 3000 or so.

Thanks a lot!

zhilin



------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
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

Re: Several Questions about micro manager and arduino set up

EdESImaging
Hi Zhilin,


On 13/03/15 03:45, young madison wrote:

> Hi Micro manager developers
>
> I am a graduate student from UW-madison.
>
> First of all, thanks so much for developing micro manager and make it
> free and easy to use. Recently, I installed arduino to control the
> shutter of two lasers and I changed the timeout in the existing code
> from 1000 to 50ms, because I am planning to take a fast movie,
> however, I encounter the following problems and am really confused.
>
> 1. How can I take  a fast movie, for example 300ms as the interval
> time? I tried to reduce the answer time in the configuration set up,
> but it seems that the min interval time I could use was 500ms or so. I
> found out there are some delay between each laser and am wondering how
> can I find the exact delay time between each channel.
>
> 2. I saw the manual saying I can click burst button and do fast speed
> acquisition in 13 version. Why there is no such plug-in in the latest
> version?
>
> 3. When i am taking the fast movie for a long time, is there are
> anyway that I can take the movie while saving, like solis software
> spooling function? It seems that, the max frames I can have for micro
> manager is 3000 or so.
>
> Thanks a lot!
>
> zhilin
>
Please take a look at the ESio AOTF and TTL controllers.
http://www.esimagingsolutions.com/products/esio-controllers

Both these controllers allow sequences of output states to be loaded and
played back in sync with the trigger signal from the camera.

By defining the channels you need for your two (or more) lasers in MM,
everything then knows what is needed and sequences can be loaded to the
controller by MM... The behaviour of the sequences is controlled by the
channels settings in the MDA.

If you need any help with this application please feel free to contact us...

Many thanks,
Ed

--
Ed Simmons
[hidden email]
http://www.esimagingsolutions.com


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
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

Re: Several Questions about micro manager and arduino set up

Sam Lord
In reply to this post by madison
Hi,

First of all, why don't you send us your Micro-Manager configuration file so we can see how you have this set up. That might help us locate some problems. I am assuming that you are new to Micro-Manager and still figuring out the best way to configure it from scratch. It's a steep learning curve, but the curve flattens very very fast and you'll have an awesome system up and running soon.

young madison wrote
Recently, I installed arduino to control the shutter of
two lasers and I changed the timeout in the existing code from 1000 to
50ms
I don't think the timeout will change how fast the Arduino shutters the lasers. You shouldn't change that.

1. How can I take  a fast movie, for example 300ms as the interval time? I
tried to reduce the answer time in the configuration set up, but it seems
that the min interval time I could use was 500ms or so.
Don't change the answer time.

To take a movie with 300 ms exposures and zero delay between frames, simply set the exposure time to 300 in the main window, click "Time Lapse" in the Multi-Dimensional Acquisition window, set the number of frames you want the movie to be, and set the interval to 0.

Read especially this part of the manual:
https://micro-manager.org/wiki/Micro-Manager_User%27s_Guide#Multi-dimensional_acquisition

I found out there
are some delay between each laser and am wondering how can I find the exact
delay time between each channel.
You probably didn't set up "sequencing" correctly. You need to use the Multi-D window and select multiple color channels, each with the same exposure time. There are some details here:
http://www.jbmethods.org/jbm/article/view/36/29

But, again, it will be easier if we can see you config file.

2. I saw the manual saying I can click burst button and do fast speed
acquisition in 13 version. Why there is no such plug-in in the latest
version?
Burst happens automatically now. Simply take a movie as I described above.

3. When i am taking the fast movie for a long time, is there are anyway
that I can take the movie while saving, like solis software spooling
function? It seems that, the max frames I can have for micro manager is
3000 or so.
Use the option at the bottom of the Multi-D window to save your images as they are taken.

As far as ESio boxes, I have two and I love them. For combo digital and analog outputs, his AOTF box with a breakout board is great. And Ed is very helpful. But what you're trying to (simply shutter lasers and sequence them very fast) is totally doable with an Arduino. I have two Arduinos doing that, too!

-Sam
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Several Questions about micro manager and arduino set up

madison
In reply to this post by EdESImaging
EdESImaging wrote
Hi Zhilin,


On 13/03/15 03:45, young madison wrote:
> Hi Micro manager developers
>
> I am a graduate student from UW-madison.
>
> First of all, thanks so much for developing micro manager and make it
> free and easy to use. Recently, I installed arduino to control the
> shutter of two lasers and I changed the timeout in the existing code
> from 1000 to 50ms, because I am planning to take a fast movie,
> however, I encounter the following problems and am really confused.
>
> 1. How can I take  a fast movie, for example 300ms as the interval
> time? I tried to reduce the answer time in the configuration set up,
> but it seems that the min interval time I could use was 500ms or so. I
> found out there are some delay between each laser and am wondering how
> can I find the exact delay time between each channel.
>
> 2. I saw the manual saying I can click burst button and do fast speed
> acquisition in 13 version. Why there is no such plug-in in the latest
> version?
>
> 3. When i am taking the fast movie for a long time, is there are
> anyway that I can take the movie while saving, like solis software
> spooling function? It seems that, the max frames I can have for micro
> manager is 3000 or so.
>
> Thanks a lot!
>
> zhilin
>
Please take a look at the ESio AOTF and TTL controllers.
http://www.esimagingsolutions.com/products/esio-controllers

Both these controllers allow sequences of output states to be loaded and
played back in sync with the trigger signal from the camera.

By defining the channels you need for your two (or more) lasers in MM,
everything then knows what is needed and sequences can be loaded to the
controller by MM... The behaviour of the sequences is controlled by the
channels settings in the MDA.

If you need any help with this application please feel free to contact us...

Many thanks,
Ed

--
Ed Simmons
[hidden email]
http://www.esimagingsolutions.com


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
micro-manager-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/micro-manager-general
Hi I have three more questions about the sequence set up
1) Is it ok for me to use arduino to control two lasers and a delay generator to control white light? Would it mess up the sequences?
2) If I want to take Laser A image, Laser B image and white light every 6 secs, with exposure time being 50ms. What should I do? Is it to change "byte triggerPattern_[SEQUENCELENGTH] = {0,0,0,0,0,0,0,0,0,0,0,0};
   unsigned int triggerDelay_[SEQUENCELENGTH] = {0,0,0,0,0,0,0,0,0,0,0,0};" to "byte triggerPattern_[SEQUENCELENGTH] = {0,6000,0,6000,0,6000,0,6000,0,6000,0,6000};
   unsigned int triggerDelay_[SEQUENCELENGTH] = {0,50,0,50,0,50,0,50,0,50,0,50};" in the link below?
https://valelab.ucsf.edu/svn/micromanager2/trunk/DeviceAdapters/Arduino/AOTFcontroller/AOTFcontroller.ino

3. Our lab was using delay generator to control all the sequences. Because the shutter for white light was slower to respond. What we used to do is to set A=0, B=0.055, C=5.5, D=6.5. (A B for laser shutter, C D for white light shutter). I am wondering whether I can do the same set up using Arduino.

Thanks!

Zhilin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Several Questions about micro manager and arduino set up

Sam Lord
madison wrote
1) Is it ok for me to use arduino to control two lasers and a delay generator to control white light? Would it mess up the sequences?
I think you are *not* trying to do true sequencing. Sequencing is a specific kind of multi-channel imaging that lets the camera run at full frame rates without any added delay between frames. The TTL train coming from the camera tells the Arduino to shutter and when sequencing is turned on, the Arduino also cycles through different outputs that it has pre-loaded into its memory.

If you're simply trying to do a multi-channel time-lapse, you don't need sequencing. You just set the appropriate shutter in each channel preset (using Core-Shutter) and set the appropriate filters, etc. Then check the "time lapse" and "channels" sections of the Multi-D window. Read more about it in the documentation on the Micro-Manager website.

If you are doing a brightfield image along with fluorescence, you simply set the Core-Shutter as the brightfield shutter instead of the lasers.

2) If I want to take Laser A image, Laser B image and white light every 6 secs, with exposure time being 50ms. What should I do? Is it to change "byte triggerPattern_[SEQUENCELENGTH] = {0,0,0,0,0,0,0,0,0,0,0,0};
   unsigned int triggerDelay_[SEQUENCELENGTH] = {0,0,0,0,0,0,0,0,0,0,0,0};" to "byte triggerPattern_[SEQUENCELENGTH] = {0,6000,0,6000,0,6000,0,6000,0,6000,0,6000};
   unsigned int triggerDelay_[SEQUENCELENGTH] = {0,50,0,50,0,50,0,50,0,50,0,50};" in the link below?
https://valelab.ucsf.edu/svn/micromanager2/trunk/DeviceAdapters/Arduino/AOTFcontroller/AOTFcontroller.ino
No. Just use the Multi-D window. This is all a lot easier than you're making it. You shouldn't need to be editing any code. You need to read this manual a lot more carefully:
https://micro-manager.org/wiki/Micro-Manager_User%27s_Guide#Multi-dimensional_acquisition

3. Our lab was using delay generator to control all the sequences. Because the shutter for white light was slower to respond. What we used to do is to set A=0, B=0.055, C=5.5, D=6.5. (A B for laser shutter, C D for white light shutter). I am wondering whether I can do the same set up using Arduino.
Is your white light shuttered using a Sutter or Uniblitz shutter? Or are you powering on and off your lamp each time you need to acquire an image? I think Sutter will know the time it takes to shutter so you shouldn't have to add a delay. In the white light preset, set the Core-Shutter to Sutter-B or whatever that shutter is called and it should just work fine.

Or are you trying to control the white light with an Arduino? If you want more help, you really have to give us more info about how you set up your hardware.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Several Questions about micro manager and arduino set up

Chen
This post has NOT been accepted by the mailing list yet.
Hi Sam,

I am also new to arduino. Is there an example showing how to pre-load the sequences into arduino before acquisition? Is it done in the beanshell editor?

Best,
Chen
Loading...