Controlling a Non-Supported Microscope with µManager

Hi everyone,

This is actually a cross-post from the image.sc forum as I was advised that I might be luckier in this forum here.

I am using a Tomocube HT-2H Optical Diffraction Tomography microscope for my experiments. Currently, it is only controllable via the GUI software the vendor provides and there is no API. I was wondering if there is a way to control such a microscope via µManager, e.g. using macros that translate commands into mouse actions, or alternatively via more low-level control of the device. Are there any experiences in this direction?
Searching through this forum hinted me at that it’s easier if the device is supported, but I couldn’t find any final conclusions so far.

Latest update: I went through the USB devices that appear once the microscope is plugged in. Indeed I found out that the camera is a Point Grey Research, and I managed to capture the stream in Python using Spinnaker ( flir. com/products/spinnaker-sdk/ - can only post two links, I’m sorry). Now I’m wondering if there would be a way to control the input as well. These are the devices that show up in Python:

Class FriendlyName vendor_id product_id vendor_name product_name component
USB USB Serial Converter VID_0403 PID_6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
USB USB Composite Device VID_0451 PID_C900 Texas Instruments, Inc. DMD?
HIDClass USB Input Device VID_0451 PID_C900 Texas Instruments, Inc. DMD?
PGRDevices USB3 Vision Camera VID_1E10 PID_4000 Point Grey Research, Inc. Camera
USB Generic USB Hub VID_2109 PID_2813 VIA Labs, Inc. VL813 Hub
USB Generic SuperSpeed USB Hub VID_2109 PID_0813 VIA Labs, Inc. VL813 Hub

I’m not 100% sure regarding the TI DMD (Digital Micromirror Device) but that’s what given the most related hits. I assume I don’t want to control this one directly.
The FT232 is a USB-to-serial interface. To be honest, I have no idea if I can use this one for anything.
The same applies to both of the Via Labs USB hub controllers.

I appreciate your help if you have any ideas about how to use these devices, or in what directions to look further. Thank you for all your efforts!

Best wishes
Henning

1 Like

My guess is that most of the commands to control the microscope go through the USB to serial converter. Unfortunately it doesn’t look like anyone has yet reverse engineered what these commands are. If you can find documentation of the commands you can use a Python library like pyserial to send the commands and control the microscope.
I’m not sure Micromanager is the best choice for running the manufacturers software by macros. You might better luck with a Python library like pywinauto for something like this. If you can figure out how to directly control the microscope than Micromanager would be a good choice as it has a driver for the Point Grey camera.

2 Likes

I once automated a Olympus FV1000 using GUI automation to capture the live view, move the focus take stacks etc. Since you are working with python I would look into GUI automation libraries for python to automate the microscope functions using the program the manufacturer provided.