|
2 | 2 |
|
3 | 3 | ImSwitch now includes an official device adapter for µManager, enabling seamless integration between ImSwitch hardware control and µManager's powerful acquisition and analysis capabilities. |
4 | 4 |
|
5 | | -TODO: Improve the text and explain a bit how we can use the device in micromanager |
| 5 | +## Using ImSwitch with µManager |
| 6 | + |
| 7 | +The ImSwitch device adapter allows you to control UC2 hardware directly from µManager, combining the best of both worlds: ImSwitch's UC2 hardware control with µManager's powerful acquisition and analysis tools. |
| 8 | + |
| 9 | +### What You Can Control |
| 10 | + |
| 11 | +- **Lasers**: Up to 4 laser devices with individual power control |
| 12 | +- **Motorized Stages**: XY and Z positioning with precise movement control |
| 13 | +- **Camera**: Integrated camera control (requires separate camera driver installation) |
| 14 | +- **Synchronized Operations**: Coordinate all devices for complex acquisition protocols |
| 15 | + |
| 16 | +### Key Benefits |
| 17 | + |
| 18 | +- **Familiar Interface**: Use µManager's standard controls for UC2 hardware |
| 19 | +- **Advanced Acquisition**: Leverage µManager's multi-dimensional acquisition capabilities |
| 20 | +- **Scripting Support**: Automate workflows using µManager's macro and scripting features |
| 21 | +- **Community Plugins**: Access to µManager's extensive plugin ecosystem |
6 | 22 |
|
7 | 23 | :::warning |
8 | | -This is a work in progress |
| 24 | +This integration is actively being developed and refined |
9 | 25 | ::: |
10 | 26 |
|
11 | | -Basic idea: The developments from are now part of the micromanager core and device so that one can integrate the DLL into their devices. Tthen one can use the stage and the lasers in combination with micromanager |
| 27 | +## Background |
12 | 28 |
|
13 | | -Source: https://github.com/openUC2/openUc2MicroManagerDeviceAdapter/edit/master/Readme.md |
14 | | -and the dll: https://github.com/openUC2/mmCoreAndDevices |
| 29 | +The UC2 device adapter has been integrated into the µManager core, allowing users to control UC2 hardware (stages, lasers, and other devices) directly through µManager's interface. This integration enables sophisticated microscopy workflows while maintaining the flexibility of the UC2 ecosystem. |
15 | 30 |
|
16 | | -## Developped by Christian Karras, April 2025 |
17 | | -# Version: 1.0.0 |
18 | | -# Jena, 14.05.2025 |
| 31 | +**Developer**: Christian Karras |
| 32 | +**Version**: 1.0.0 |
| 33 | +**Development Location**: Jena |
| 34 | +**Date**: May 2025 |
19 | 35 |
|
20 | | -# Scope of use / Development Environment: |
21 | | - Micromanager Version: 2.0.3 20250304 |
22 | | - MM Core Version: 11.4.1 |
23 | | - Device API Verions: 71 |
24 | | - Module API Verison: 10 |
25 | | - Windows version: 11 Home 23H2 Build 22631.5039 |
| 36 | +**Sources**: |
| 37 | +- [OpenUC2 µManager Device Adapter](https://github.com/openUC2/openUc2MicroManagerDeviceAdapter) |
| 38 | +- [µManager Core Integration](https://github.com/openUC2/mmCoreAndDevices) |
26 | 39 |
|
27 | | - openUC2 Verion: UC2_Feather V2.0 Mar 9 202520:25:00 |
28 | | - Camera Version: Daheng Mercury 2 1220 vs. MV-CE060-10UC |
29 | | - |
30 | | - The developped Micro Manager Device Adapter comprises the up to 4 lasers as well as an XY and a Z Stage. |
| 40 | +## System Requirements |
31 | 41 |
|
32 | | - The camera is not includeded! Instead the camera should be separately installed during hardware configuraration process |
| 42 | +- **µManager Version**: 2.0.3 (20250304) or newer |
| 43 | +- **µManager Core Version**: 11.4.1 or newer |
| 44 | +- **Device API Version**: 71 or newer |
| 45 | +- **Module API Version**: 10 or newer |
| 46 | +- **Operating System**: Windows 11, macOS, or Linux |
| 47 | +- **UC2 Hardware**: UC2_Feather V2.0 or newer |
| 48 | +- **Supported Cameras**: Daheng Mercury 2 1220, MV-CE060-10UC, or similar |
| 49 | +## Device Capabilities |
33 | 50 |
|
34 | | -# Setting up UC2 in Micromanager |
35 | | - 1.) Open Micromanager and start with "None" configuration file |
36 | | - 2.) Goto Devices -> Hardware configuration wizard |
37 | | - - Create New configuration, Next |
38 | | - - From available devices choose openUC2/openUC2Hub device and Add |
39 | | - - Set proper COM Port |
40 | | - - Set BaudRate to 115200 (NOTE: A falsely set Baudrate will most likely lead to a crash of MM), |
41 | | - - Select all devices in the list |
42 | | - - Choose correct Camera (Tested with Daheng Mercury 2 1220 vs. MV-CE060-10UC, include by adding Daheng Device) |
43 | | - - Finish HW configuration wizard by clicking through windows upon device choice and save the config file. |
| 51 | +The µManager Device Adapter supports: |
| 52 | +- **Up to 4 laser controllers** with individual power control |
| 53 | +- **XY and Z motorized stages** with precise positioning |
| 54 | +- **Hardware synchronization** for coordinated operations |
44 | 55 |
|
45 | | -# Using Lasers |
46 | | - - Choose laser in shutter dropdown menue |
47 | | - - Open / Close shutter will switch the laser on and off (note: "Auto" should be deactivated) |
48 | | - - Set laser power for different lasers via "Devices" -> "Device Property Browser" -> "openUC2-Laser1-UC2LaserPower", "openUC2-Laser2-UC2LaserPower","openUC2-Laser3-UC2LaserPower","openUC2-Laser4-UC2LaserPower" |
| 56 | +:::info |
| 57 | +The camera must be configured separately during the hardware configuration process. The UC2 adapter handles only the motorized components and lasers. |
| 58 | +::: |
49 | 59 |
|
50 | | -# Using Stages |
51 | | - - Stages are used via common MM controlls |
| 60 | +## Setting up UC2 in µManager |
52 | 61 |
|
53 | | -# Setting Basic Device variables |
54 | | - - For Version maintaining change ALL relevant device variables in "UC2DEFAULTS.h" bevor rebuilding |
55 | | - - This counts especially for |
56 | | - - IDs of Lasers and XYZ Stages |
57 | | - - Default init values of the properies (Homing setting and speed for the axes) |
58 | | - - Firmware check string: Currently, only the State Identificator Name is checked and must be "UC2_Feather" for correct firmware detection |
59 | | - - Thresholds of the XYZ Stages. Currently no endswitch is installed and no endswitch controll is implemented |
| 62 | +### Initial Configuration |
60 | 63 |
|
61 | | -# Further remarks |
62 | | - - IsContinuousFocusDrive is set to False |
63 | | - - IsXYStageSequenceable is set to False |
| 64 | +1. **Open µManager** and start with "None" configuration file |
| 65 | +2. **Access Hardware Configuration Wizard**: |
| 66 | + - Go to **Devices** → **Hardware Configuration Wizard** |
| 67 | + - Create new configuration, click **Next** |
| 68 | + - From available devices choose **openUC2/openUC2Hub** device and **Add** |
64 | 69 |
|
| 70 | +### Device Configuration |
65 | 71 |
|
| 72 | +3. **Configure Communication**: |
| 73 | + - Set the proper **COM Port** (check Device Manager on Windows) |
| 74 | + - Set **BaudRate** to **115200** |
| 75 | + |
| 76 | + :::warning |
| 77 | + An incorrect BaudRate setting will likely cause µManager to crash |
| 78 | + ::: |
| 79 | + |
| 80 | +4. **Select Devices**: |
| 81 | + - Select all UC2 devices in the list (lasers, stages) |
| 82 | + - Add your camera separately (tested with Daheng Mercury 2 1220, MV-CE060-10UC) |
| 83 | + - Complete the Hardware Configuration Wizard and **save the config file** |
| 84 | + |
| 85 | +## Using Laser Control |
| 86 | + |
| 87 | +### Laser Operation |
| 88 | +- **Select laser**: Choose the desired laser from the shutter dropdown menu |
| 89 | +- **Laser control**: Open/Close shutter switches the laser on and off |
| 90 | +- **Power settings**: Set laser power via **Devices** → **Device Property Browser**: |
| 91 | + - `openUC2-Laser1-UC2LaserPower` |
| 92 | + - `openUC2-Laser2-UC2LaserPower` |
| 93 | + - `openUC2-Laser3-UC2LaserPower` |
| 94 | + - `openUC2-Laser4-UC2LaserPower` |
| 95 | + |
| 96 | +:::tip |
| 97 | +Disable "Auto" shutter mode for manual laser control |
| 98 | +::: |
66 | 99 |
|
67 | | -## Overview |
| 100 | +## Stage Control |
| 101 | +### Stage Operation |
| 102 | +- **XY and Z stages** are controlled using µManager's standard stage controls |
| 103 | +- **Movement**: Use the stage control panel or coordinate input fields |
| 104 | +- **Precision**: Supports precise positioning for multi-point acquisitions |
| 105 | + |
| 106 | +## Advanced Configuration |
| 107 | + |
| 108 | +### Device Variables (for Developers) |
| 109 | + |
| 110 | +When building custom configurations, modify the following variables in `UC2DEFAULTS.h`: |
| 111 | + |
| 112 | +**Critical Settings**: |
| 113 | +- **Device IDs**: Laser and XYZ stage identifiers |
| 114 | +- **Initialization values**: Homing settings and axis speeds |
| 115 | +- **Firmware detection**: State identifier name must be "UC2_Feather" |
| 116 | +- **Stage thresholds**: Currently no endstop switches are implemented |
| 117 | + |
| 118 | +### Current Limitations |
| 119 | + |
| 120 | +- **Continuous Focus**: `IsContinuousFocusDrive` is set to False |
| 121 | +- **Stage Sequencing**: `IsXYStageSequenceable` is set to False |
| 122 | +- **Endstops**: No endstop switch control is currently implemented |
| 123 | + |
| 124 | +## Integration Benefits |
68 | 125 |
|
69 | 126 | The ImSwitch µManager device adapter provides: |
70 | 127 | - **Hardware Control**: Full access to ImSwitch-controlled devices from µManager |
71 | | -- **Synchronized Acquisition**: Coordinated control of multiple devices |
| 128 | +- **Synchronized Acquisition**: Coordinated control of multiple devices |
72 | 129 | - **Standard Interface**: Uses µManager's standard device API |
73 | 130 | - **Cross-Platform**: Available on Windows, macOS, and Linux |
74 | 131 | - **Official Support**: Integrated into µManager nightly builds |
75 | 132 |
|
| 133 | +## Next Steps |
| 134 | + |
| 135 | +After configuration, you can: |
| 136 | +- **Run acquisitions** using µManager's Multi-Dimensional Acquisition tool |
| 137 | +- **Create automated workflows** with µManager's scripting capabilities |
| 138 | +- **Use advanced plugins** for specialized imaging techniques |
| 139 | +- **Export data** in standard formats for analysis |
| 140 | + |
| 141 | +For more advanced usage examples, see the [µManager documentation](https://micro-manager.org/). |
| 142 | + |
76 | 143 |
|
0 commit comments