This repository provides acquisition software for the expansion-assisted selective plane illumination microscope (ExA-SPIM).
Note
Expansion-assisted selective plane illumination microscopy for nanoscale imaging of centimeter-scale tissues. eLife 12:RP91979 https://doi.org/10.7554/eLife.91979.2
This control software can optionally check I/O bandwidth to a local and externally networked drive location. This requires fio to be installed. For Windows, please install the correct binary files.
-
Create a virtual environment and activate it: On Windows:
conda create -n exaspim-control conda activate exaspim-control
or
python -m venv exaspim-control .\exaspim-control\Scripts\activate
-
Clone the repository:
git clone https://github.com/AllenNeuralDynamics/exaspim-control.git && cd exaspim-control
-
To use the software, in the root directory, run:
pip install -e .
This should install two repositories that this repository builds upon:
-
For the Vieworks VP-151MX camera you will need to install the egrabber drivers. This is available for both Windows and Linux eGrabber for CoaxLink and GigELink.
-
NI-DAQmx is required. Visit ni.com/downloads to download the latest version of NI-DAQmx. None of the recommended additional items are required for nidaqmx to function, and they can be removed to minimize installation size. It is recommended you continue to install the NI Certificates package to allow your Operating System to trust NI built binaries, improving your software and hardware installation experience.
-
To communicate with the ASI stages, the USB driver must be installed.
Note
Device IDs (i.e. serial numbers) are necessary to accurately construct the instrument.yaml file.
-
To find the camera serial number, open the eGrabber Studio program. The connected camera should be listed with a serial number in parantheses. For example: VIEWORKS VP-151MX-M6H0 (##########).
-
To find the COM port for the Tiger Controller used for the ASI stages, we recommend using the Tiger Control Panel. Please follow instructions in the link for installation and usage instructions.
-
To find the device number (i.e. Dev#) for the NI-DAQ, we recommend using a program such as DAQExpress or programatically determing the device number. Running the example code below should reveal the number of all NI devices connected to the computer.
import nidaqmx for device in nidaqmx.system.System.local().devices: print(f"device number = {device.name}")
-
To find the ID of the Coherent Genesis lasers, open a terminal and activate the virtual environment with the installed exaspim-control repository. Then issue the following commands, which should return the ID of all detected Genesis lasers
> cohrhops Found 3 devices: J687424BP914: A700467EP203: R708588EQ173: ...
The 488 nm laser ID format will be A###########, the 561 nm laser ID format will be J###########, and the 639 nm laser ID format will be R###########.
-
To find the COM port for the Optotune ICC4C Controller, we recommend using the Optotune Cockpit software. Please follow instructions in the link for installation and usage instructions.
-
To find the ID of the Thorlabs MFF101 flip mounts, we recommend using the Thorlabs Kinesis software. Please follow instructions in the link for installation and usage instructions. The ID is the serial number of the device.
-
To find the ID of the Thorabs PM100D power meter, we recommend using the Thorlabs Optical Power Monitor software. Please follow instructions in the link for installation and usage instructions. The ID is the serial number of the device.
-
To find the ID of the Thorlabs TSP101 temperature and humidity sensor, we recommend using the Thorlabs TSP101 software. Please follow instructions in the link for installation and usage instructions. The ID is the serial number of the device.
Important
The ExA-SPIM system operates at data rates up to 1.8 GB/sec. Datasets can also be multiple terabytes. Therefore it is recommended to have a large M.2 or U.2/3 NVME drive for data storage.
Important
Each raw camera is 288 megapixels (14192x10640 px). Live streaming therefore requires on-the-fly generation of multiple resolutions for each raw camera frame at high speed. This repository computes this pyramid using a GPU. Therefore it is recommended to have a decent GPU with at least 16 GB of RAM (i.e. NVIDIA A4000 or above).# New Document
Warning
By factory default, the Vieworks VP-151MX (or other model) cameras have firmware enablewd dark signal non-uniformity (DSNU) correction enabled. This results in non-uniform background pattern for lower light level imaging (i.e. fluorescence microscopy). This can be disabled by Vieworks over a remote support session by contacting [email protected]
- (coming soon)
Example configuration files for a real experimental system are provided:
And the code can be launched by running main.py
Files for a simulated microscope are also available.
If you encounter any problems or would like to contribute to the project, please submit an Issue on GitHub.
exaspim-control is licensed under the MIT License. For more details, see the LICENSE file.