2022 Senior Design Project by Aria Wright and Jack Hymowitz.
Proof of concept that can be adapted to support additional hardware for a correlative microscopy system.
- Python code for controlling electron and optical microscopes
- Designed to interface with Thorlabs scientific equipment
- Can be run locally or remotely through OPC-UA
The OPC-UA architecture contains four nodes:
opcua-microscope-servercan live on a remote or local machine and can send movement instructions to the clientopcua-microscope-clientinterfaces with a machine that is connected to the stage and will tell the hardware to movecamclientinterfaces with the camera and streams the live feed tocamservercamservertellscamclientto start and receives the camera feed
- Clone this repo in your desired project directory on a computer with direct access to the microscope stage and camera
- Download the Thorlabs Kinesis Example Projects from here and edit the DLL paths in
opcua-microscope-clientto match your download path - Download the Thorlabs Windows SDK for Scientific Cameras and extract into your project directory. Navigate to
Scientific Camera Interfaces/Python_README.txtand follow the instructions - Note that the IP addresses of each node will need to be slightly different. It is recommended to pick an address for one node and have each subsequent node be similar, ie
10.0.1.1and10.0.1.2for client and server respectively - You should now be able to run
opcua-microscope-clientandcamclient!opcua-microscope-serverandcamservermay either be run on the same or a separate machine, and need only be clone and run
Special thanks to Prof. Kevin Lu and Terrence McGuckin for helping us make this happen!