# 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: ```bash python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 2. Install dependencies: ```bash 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.