--
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuit...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/1bd34514-2aa4-429c-9e16-5066a23e8f09%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAAZq5f4oJJRfE2AKgrjOdAbVe5-gW6T-MY6F_Gwm4W-WY0m45Q%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAKBMk%2BcRn-wfv%2B_sPLpHSWaFEr3PBJX_gc3xQRcLW0JZvQ3kUg%40mail.gmail.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAGC6y-LyjoJSgquy1bKpZG-N3V5Wn7%3DtorEtXWMYFTSdiFDkPQ%40mail.gmail.com.

Hi Russ,Thanks for the clarification. I will make sure to put the SDK path properly.About the MicroManager, I didn't integrate it into labscript. Since we just got our ZYLA cameras delivered, I wanted to make sure they are taking pictures.So I used MicroManager, since we didn't buy ANDOR SOLIS. Since this method was pretty quick and ANDOR themselves give guidelines on how to test their cameras with 3rd party software.Regards,
Rohit Prasad Bhatt
On Mon, Feb 17, 2020, 12:02 PM Russell Anderson <> wrote:
Hi Rohit,The AndorSolis device class does not require you to have Solis installed, and on the other hand it should work just the same alongside an existing Solis installation (so long as the camera isn't open in Solis when you're trying to program it via labscript).Is the SDK installed in C:\Program Files\Andor SDK? If not, you will need to point the device class at the location you installed the SDK. The default is defined as sdk_dir in labscript_devices\AndorSolis\andor_solis.py.Your workaround using μManager sounds interesting, especially as it is a very popular open-source tool in microscopy. Were you able to integrate this into your labscript workflow or was the testing you refer to separate to an experiment shot conducted using labscript?– Russ
On Mon, 17 Feb 2020 at 17:28, Rohit Prasad Bhatt <> wrote:
Hi Phil,Sorry for the late response. Thanks a lot for mentioning this!I have a question regarding this. Does this approach require ANDOR SOLIS software to be installed?OR will it also work if I just have ANDOR SDK3 installed?We did not buy SOLIS with our cameras. But we did buy the SDK3.To access our ZYLA cameras for testing, I just used the free 3rd party software Micro Manager along with freely downloadable support library from ANDOR.Regards,
Rohit Prasad Bhatt
On Wed, Feb 12, 2020, 12:53 PM 'Philip Starkey' via The labscript suite <labscriptsuite@googlegroups.com> wrote:
Hi Rohit,Have you seen this? https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/80/andorcamera/Might not work with your camera immediately but might be a good starting point!Cheers,Phil
On Wed., 12 Feb. 2020, 8:07 pm Rohit Prasad Bhatt, <> wrote:
--Hi all,We will soon start using Andor Zyla 5.5 Camera for our experiment. Since we don't have NI Vision we need a code to integrate the camera into labscript. Andor also provides SDK3 support for the camera.I see that there exists python wrapper from David Meyer (LINK). Now as far as I understand, some code still needs to be written for integrating this camera into labscript using the Python wrapper.I did a similar thing for our Mako camera by writing a code for integrating it into labscript using Pymba wrapper.So I would like to ask if someone has already written a patching code using this wrapper to include ANDOR cameras into labscript.Regards,Rohit Prasad Bhatt
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuite+unsubscribe@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/1bd34514-2aa4-429c-9e16-5066a23e8f09%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuite+unsubscribe@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAAZq5f4oJJRfE2AKgrjOdAbVe5-gW6T-MY6F_Gwm4W-WY0m45Q%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuite+unsubscribe@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAKBMk%2BcRn-wfv%2B_sPLpHSWaFEr3PBJX_gc3xQRcLW0JZvQ3kUg%40mail.gmail.com.
----Russell AndersonPh: +61 431 583 798
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuite+unsubscribe@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to labscri...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/1bd34514-2aa4-429c-9e16-5066a23e8f09%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscri...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAAZq5f4oJJRfE2AKgrjOdAbVe5-gW6T-MY6F_Gwm4W-WY0m45Q%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscri...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/CAKBMk%2BcRn-wfv%2B_sPLpHSWaFEr3PBJX_gc3xQRcLW0JZvQ3kUg%40mail.gmail.com.
----Russell AndersonPh: +61 431 583 798
You received this message because you are subscribed to the Google Groups "The labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscri...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuit...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/21b8c87a-72b9-4588-aa8d-3f688001948c%40googlegroups.com.
Hi David,Thanks a lot for your help and suggestions. After reading your suggestions, I actually managed to adapt the code in a way that now I can use ZYLA as a device in BLACS. I have already tested it in the manual mode by taking a snap and continuos live stream. To make it work I mostly had to edit andor_utils file. Although I have not yet updated the comments properly in the code, but the latest code is available here [https://github.com/fretchen/synqs_devices/tree/master/AndorSolis]. However, the final test of the code in buffered mode still needs to be done.But I have some general questions/comments on the ANDOR code:1. I still don't understand how it worked. The library file which is imported by andor_solis file is called 'atmcd64d.dll'. I looked up the properties of this file and the description says 'SDK2 adapter for SDK3'. Maybe this file does the magic. OR maybe it is the C header file 'ATMCD32D.H' which defines codes for various features, actions etc.2. Since ANDOR SDK can support variety of cameras it would be nice to write the code in such as way that different labscript users can use a same core module and have to change/add a config file for their camera models. For eg. this is being already done in labscript for NI cards. A similar structure might be helpful for ANDOR cameras.3 . Another point I have is regarding the very low frame rate in BLACS . In the manual continuous mode, I am getting 1.2 FPS max. However, on testing with MicroMangaer, I got a frame rate of 22 FPS in live stream mode at similar setting. So I wonder, what is causing the difference...Regards,
Rohit Prasad Bhatt
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/21b8c87a-72b9-4588-aa8d-3f688001948c%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuit...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/111d97d7-283b-4f3d-a8a8-3d41de5a029f%40googlegroups.com.
Hi David,
Thanks a lot for the detailed info. I would like to tell you why I thought its SDK2 and not SDK3. Also I have some questions.
1. I thought it was SDK2 and not SDK3 because the manual which came with our purchase of SDK3 did not have any mention of the functions that are defined in the andor_solis file. Rather it mentions features which can be used and also which of them are ZYLA specific. Then it also tells how to call the functions for setting those features. This left me puzzled so I tried to see if there is any other manual for SDK3 which has any other description. Doing this I came across a file from ANDOR themselves which clearly mentions the difference between SDK2 and SDK3 and there is where I saw some of the functions defined in the andor_solis file as SDK2 functions. I had also uploaded that comparison table in one of my previous posts.
Now I got a bit suspicious so I searched for SDK2 manual and I found one online. That manual had entire description of all the functions defined in the andor_solis file. So I became almost sure that this code is for SDK2. Also what I understood from the andor_solis file that the functions defined there, are passed to the SDK in the def uint_winapi(argtypes=[]): function. I thought that since the SDK will only understand functions which are predefined by ANDOR, the current andor_solis file functions should be for SDK2. All in all, I find ANDOR documentation confusing.
Also I had to change some parameters in andor_utils file. But this I thought maybe due to the different camera model we are using because I thought that the ANDOR code was mainly tested for EMCCD camera.
2. Now I would mention what exactly are the changes I did to the andor_utils file. But I must start with a disclaimer that I made those changes mostly to skip over the errors rather than actually trying to solve the issue. So if I ran into an error, I would go to that part of the code and try to guess how critical this section is for taking images. If I thought that its not so critical, i would just comment it out to see if I can proceed to taking images. Moreover the changes I made are minor edits. With this preface, here are the changes :Apart from that to take image in buffered mode, I commented out two print statements in blacs_workers. They print the horizontal and vertical shift speeds and are defined in grab_multiple() function.
- First I tried to keep the minimum number of parameters in the default_acquisition_attrs dictionary in the andor_utils file (for e.g. I disabled shutter attributes etc). Now this is a bad practice because I can also pass the dictionary when instantiating the camera in connection_table. But I am just reporting the changes that I did and some are dirty.
- I set up a call to setup_acquisition() function in the initialize_camera(self) function.
- Then I changed the parameter in the SetFanMode() function. Since we don't have water cooling it would try to call SetFanMode(1) which was throwing an error. I resolved this by changing to SetFanMode(0). Then I checked whether the sensor is getting cooled and stabilized. And it was indeed getting cooled and stabilized.
- Next I made changes in the setup_acquisition() function. I commented out a call to setup_horizontal_shift(), setup_vertical_shift() and setup_shutter() because they were giving errors. Also, I set the wait_until_stable to False in the call to enable_cooldown() function.
3. Now I have a question about using the ANDOR ZYLA in Kinetic series for buffered sequence. I tried it by setting the 'acquisition':'kinetic_series', 'number_kinetics':2 and 'trigger': 'external_exposure' because we want two images per shot. We control the Camera exposure via width of external TTL pulse so we work in external exposure mode. I call expose function equal to 'number_kinetics' times. I make sure there is enough interval between two expose calls. Now when I run the sequence the camera can only take and save one image per shot. I checked with 'number_kinetics':3 and still takes one image only namely the first one. I also checked this by setting 'number_kinetics':1 and calling expose only once in Experiment script, then the script ran without any problems.
Basically the error for higher 'number_kinetics' was that the circular buffer of the camera only has one image, so the shape of the data array mismatches which throws out an error. Could it be that the acquire function called from blacs_workers is only taking one image when it should take multiple? I could not resolve this issue.
But I read that even you had tested this code with your ZYLA cameras. So could you please tell me how you would configure the ZYLA camera for a Kinetic series with external exposure mode? Maybe I am committing a mistake.
Whatever I wrote here is all what I understood from the code and literature. I would be happy to be corrected wherever, I am wrong. Thanks again.Regards,Rohit Prasad Bhatt
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/111d97d7-283b-4f3d-a8a8-3d41de5a029f%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "the labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuit...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/526f703c-9357-46e1-afbc-bec70f83fc32o%40googlegroups.com.