Skip to content

Experimental-Microscopy-Lab/ScopeOne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ScopeOne logo

ScopeOne is an open-source microscopy control software for multi-camera imaging, originally developed for in-house lab use. Built with C++ and Qt, it uses a multi-process architecture where each camera runs in its own MMCore instance, enabling simultaneous preview and acquisition across multiple cameras. It retains full compatibility with the Micro-Manager device ecosystem and adds a modular real-time image processing pipeline with support for background calibration, temporal filtering, FFT analysis, and more.

As an open-source project, ScopeOne builds on existing community efforts to reduce duplicated work and provides an alternative that enriches themicroscopy community. While the current development is conducted in close collaboration with the optics and biology teams within our laboratory, we aim to expand engagement with the broader research community to make the platform more practical, accessible, and universal. Any issues or pull requests are greatly appreciated!

Quick Start

For Users

Download the latest release package from the Releases page and extract it. Run ScopeOne.exe to start the application.

System Requirements:

  • Windows 10/11 (64-bit)
  • Micro-Manager device adapters for your hardware

Device Adapter Setup:

ScopeOne loads Micro-Manager configuration files (.cfg) directly. We recommend installing Micro-Manager 2.0 to access the full device adapter library. The release package includes only a minimal set of device adapter DLLs. To add support for additional devices, simply copy the required DLLs(mmgr_dal_xxx.dll) from your Micro-Manager installation directory (typically C:\Program Files\Micro-Manager-2.0) to the root folder containing ScopeOne.exe.

Dual-camera Setup:

There is an example dual-camera .cfg file in the config folder, just change the camera labels in Devices section to match your camera models.

For Developers

Prerequisites:

  • CMake 4.1.0
  • Visual Studio 2022 (MSVC v143 toolset)
  • Qt 6.9.1 (msvc2022_64)
  • OpenCV 4.12.0
  • libtiff 4.7.1,
  • zlib 1.3.1
  • mmCoreAndDevices

Extract the bundled third-party dependencies into ScopeOneCore/external under this repository. Expected third-party dependencies path layout:

ScopeOne/
  ScopeOneCore/
    external/
      mmCoreAndDevices/
      opencv-4.12.0/
      pybind11-3.0.1/
      tiff-4.7.1/
      zlib-1.3.1/

Build Steps:

  1. Build and install ScopeOneCore:
cmake -S ScopeOneCore -B ScopeOneCore/build
cmake --build ScopeOneCore/build --config Release --parallel
cmake --install ScopeOneCore/build --config Release
  1. Build the GUI application:
cmake -S . -B build
cmake --build build --config Release --parallel
  1. Run:
.\build\Release\ScopeOne.exe

Tested Devices

  • Yokogawa CSU X1
  • Hamamatsu C13440
  • Andor 897D

The current validation list is still short, but the codebase has been cleaned to remove early hard-coded device assumptions. In principle, ScopeOne should follow Micro-Manager device compatibility.

Tested System Configurations

  • Windows 10, Dual Intel(R) Xeon(R) E5-2637 v3, 64 GB RAM, NVIDIA Quadro K620
  • Windows 11, Intel(R) Core(TM) Ultra 5 125U, 64 GB RAM

Although these machines are older and weaker than many typical lab computers, ScopeOne still provides smooth real-time preview and processing on them.

About

C++ and Qt based microscope control software

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages