Lattice Light Sheet SLM Pattern Generator
Project description
Copyright © 2017 Talley Lambert, Harvard Medical School.
llspy-slm is a simple python app for generating binary masks to drive the spatial light modulator (SLM) on Lattice Light Sheet microscopes. It can generate both square lattices and hex lattices, and includes the ability to automatically set various parameters such as wavelength dependent beam-spacing (fully manually control is also available). Additionally, there is a batch square lattice feature that can be used to generate a large number of parameter permutations easily.
See complete usage notes in the documentation.
Requirements
Compatible with Windows (tested on 7/10), Mac or Linux (tested on Ubuntu 16.04)
Python 3.7, 3.6, 3.5, or 2.7
Installation
Install Anaconda
Launch a terminal window (OS X, Linux), or Anaconda Prompt (Windows)
Install llspy-slm (note: as of version 0.2.0, you now must install either pyside2 or pyqt explicitly):
> conda create -n slmenv > conda activate slmenv > conda install -c talley -c conda-forge llspy-slm pyqt
The create -n slmenv line creates a virtual environment. This is optional, but recommended as it easier to uninstall cleanly and prevents conflicts with any other python environments. If installing into a virtual environment, you must source the environment before proceeding, and each time before using llspy-slm.
The gui can be launched with slmgen. You can create a bash script or batch file to autoload the environment and launch the program if desired.
# Launch Anaconda Prompt and type... > conda activate slmenv # launch the gui > slmgen
See complete usage notes in the documentation.
Bug Reports, Feature requests, etc…
Pull requests are welcome!
To report a bug or request a feature, please submit an issue on github
LLSpy Release History
0.1.1
Changed:
renamed main funcs in slm.py
increased crop precision in gui to 0.001
Fixed:
on windows, the batch write function creates unpredictable output files due to weird windows multi-threading. For now, restricting batch write to a single thread on windows… will make things slower than Mac or Linux.
Fix bug that that prevented writing Hex patterns to file
Fix bug when batch shift/tilt ranges have a single number <= 0
0.1.0
First release as independent package (independent from main LLSpy package)
Added:
Hex pattern generator added to SLM Pattern Generator
Ronchi-ruling pattern generator added to SLMgen
Batch SLM pattern generation
Docs for SLM generator GUI
Option to dither SLM preview in SLM Pattern Generator
User-adjustable LUTs for SLM pattern previews
Changed:
SLM pattern generator moved into seperate package: slmgen
Better multi-threading when batch-writing SLM patterns
Fixed:
SLM pattern generator now writes 1-bit file usable on SLM, instead of 8-bit png (thank you for reporting Felix!)
Copyright (c) 2017 - President and Fellows of Harvard College. All rights reserved.
Developed by: Talley Lambert, PhD Cell Biology Microscopy Facility, Harvard Medical School http://cbmf.hms.harvard.edu/ Harvard University case number HU 7053 - Lattice Light Sheet Software (LLSpy)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimers.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution.
Neither the names of the Cell Biology Microscopy Facility, Harvard Medical School, Harvard University, the Harvard shield or logo, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file llspy-slm-0.2.1.tar.gz
.
File metadata
- Download URL: llspy-slm-0.2.1.tar.gz
- Upload date:
- Size: 752.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f279eec9c2920378ea0eb8ca097d62f9ed2e5231fe585c3b2cd5a9581d9b7099 |
|
MD5 | b3b923671c5065c249f8695da36f41d0 |
|
BLAKE2b-256 | 3fb5898485121562a24973e1c482960841968333947e8b80c65ff7a0a3af9eb8 |
File details
Details for the file llspy_slm-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: llspy_slm-0.2.1-py3-none-any.whl
- Upload date:
- Size: 752.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8ec940efc97ebe7fbeccaaa15303258a81592377e52208b4066b2e05fe29a6f |
|
MD5 | b2a43fe636054a01f3bafb9f90eeef77 |
|
BLAKE2b-256 | f5f2e4856cb0ce3084528b00fff770f5147ff171040f2f4530f5b2bc26f6f13f |