Package: llspy-slm
Copyright © 2017 Talley Lambert, Harvard Medical School.llspy-slmis a simple python app for generating binary masks to drive
the spatial light modulator (SLM) on Lattice Light Sheet microscopes.
It can generate bothsquare latticesandhex 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 thedocumentation.RequirementsCompatible with Windows (tested on 7/10), Mac or Linux (tested on
Ubuntu 16.04)Python 3.7, 3.6, 3.5, or 2.7InstallationInstallAnacondaLaunch aterminalwindow (OS X, Linux), orAnaconda Prompt(Windows)Install llspy-slm (note: as of version 0.2.0, you now must install
either pyside2 or pyqt explicitly):>condacreate-nslmenv>condaactivateslmenv>condainstall-ctalley-cconda-forgellspy-slmpyqtThecreate-nslmenvline 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 withslmgen.  You can create a bash script
or batch file to autoload the environment and launch the program if desired.# Launch Anaconda Prompt and type...>condaactivateslmenv# launch the gui>slmgenSee complete usage notes in thedocumentation.Bug Reports, Feature requests, etc…Pull requests are welcome!To report a bug or request a feature, pleasesubmit an issue on githubLLSpy Release History0.1.1Changed:renamed main funcs in slm.pyincreased crop precision in gui to 0.001Fixed: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 fileFix bug when batch shift/tilt ranges have a single number <= 00.1.0First release as independent package (independent from main LLSpy package)Added:Hex pattern generator added to SLM Pattern GeneratorRonchi-ruling pattern generator added to SLMgenBatch SLM pattern generationDocs for SLM generator GUIOption to dither SLM preview in SLM Pattern GeneratorUser-adjustable LUTs for SLM pattern previewsChanged:SLM pattern generator moved into seperate package:slmgenBetter multi-threading when batch-writing SLM patternsFixed: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 Schoolhttp://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.