Hi Luke,
I hope you’re well.
I was wondering if you could help me with a question about your exciting ACQ4 software.
I’m exploring whether this could be a solution for me to synchronise imaging and patch-clamp ephys. However, when trying to set up my camera, I am having a few issues.
As suggested in the documentation, I have installed both the 64bit and 32bit Anaconda python 2.7 distributions (since I propose to later use serial ports for my MultiClamp 700A).
My camera is an Andor Zyla 4.2 sCMOS camera for which I have the latest drivers (but NOT the SDK). This interfaces with my PC (running Windows 10 Enterprise Ed.) via a PCIe frame grabber card supplied by Andor.
Although Andor is not natively supported in ACQ4, Paul Manis informed me that you and he had some success using MicroManager as a driver for such cameras (which is what I currently using to control my camera anyway).
I have now found the MM drivers and device names (Andor SDK3, Andor sCMOS) and the software now recognises my camera, but I cannot seem to alter some of the device properties (e.g. binning, shutter modes). Moreover, when I try to use the camera module, I get an error message saying that the PixelType is not recognised.
Any idea what is going on here?
Thanks in advance for your help.
Best wishes,
Kyle
Hi Kyle,
MicroManager usually gets us most of the way toward camera support, but each camera may have minor differences that have to be addressed individually. If you're willing to do some digging, we can figure out what is different about your camera.
To start, I need to know what values your camera accepts for the Binning and PixelType properties. With acq4 running, open the Console module and run these commands (paste each line into the text entry field and press
enter after each):
cam = man.getDevice('Camera')
cam.mmc.getAllowedPropertyValues(cam.camName, 'PixelType')
cam.mmc.getAllowedPropertyValues(cam.camName, 'Binning')
Then copy/paste the results back here. On my camera, for example, the allowed binning modes are
('1x1', '2x2', '4x4') and the PixelType looks like ('16bit',).cam.mmc.getAllowedPropertyValues(cam.camName, 'PixelType')
()
cam.mmc.getAllowedPropertyValues(cam.camName, 'Binning')
('1x1', '2x2', '3x3', '4x4', '8x8')
Here is the log from trying to change binning (first two tracebacks) and what happens when I try to use the camera. I guess there there is a problem with trying to change the x and y binning independently of each other, since the camera only accepts N x N binning. I'm not sure why the PixelType is blank...
Sorry Kyle, I got slammed last week.
For the binning issue: it looks like you were trying to change the binning value from the Manager window, is that correct? The camera module has a binning control that keeps the x/y values locke, so you should not encounter the same issue from there (although I should fix the manager window issue).
For the PixelType issue, it looks like your camera just doesn't support that property, so I need to make it optional.
I think this can be safely fixed by commenting out line 148 in acq4\devices\Camera\CameraInterface.py:
# self.bitDepth = self.cam.getParam('bitDepth')
Can you give that a try and see how far it gets you?
Luke