scanengine-3

A unified scanning and instrumentation control platform combining multiple hardware control modules.

Overview

scanengine-3 merges four previously separate projects into a single, cohesive platform:

  • nuescan: SRAS scan planning and control software with PyQt6 GUI
  • pymso: Tektronix oscilloscope control and data acquisition
  • pybbd202: Thorlabs BBD203/MLS203 motor controller driver
  • pypewpewhops: Coherent HOPS laser control via I2C

Project Structure

scanengine-3/
├── nuescan/          # Main scan control application with GUI
├── pymso/            # Oscilloscope control module
├── pybbd202/         # Stage controller driver
├── pypewpewhops/     # Laser control module
├── requirements.txt  # Unified dependencies
└── README.md         # This file

Installation

  1. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    

Dependencies

  • PyQt6: GUI framework for nuescan
  • pyserial: Serial communication for hardware interfaces
  • pyvisa/pyvisa-py: VISA instrument control for oscilloscopes
  • pyftdi: FTDI device support for laser and stage controllers

Usage

Refer to the README files in each subdirectory for specific usage instructions:

  • nuescan/README.md - Main application usage
  • pymso/ - Oscilloscope control examples
  • pybbd202/README.md - Stage controller documentation
  • pypewpewhops/README.md - Laser control documentation

License

Each module retains its original license. See individual subdirectories for license information.

S
Description
No description provided
Readme GPL-2.0 7.1 MiB
Languages
Python 100%