Skip to main content

Lattice Light Sheet SLM Pattern Generator

Project description

license_shield python_shield travis_shield


http://cbmf.hms.harvard.edu/wp-content/uploads/2015/07/logo-horizontal-small.png

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.

LLSpy SLM Pattern Generator GUI

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

  1. Install Anaconda

  2. Launch a terminal window (OS X, Linux), or Anaconda Prompt (Windows)

  3. 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.

  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llspy-slm-0.2.1.tar.gz (752.0 kB view hashes)

Uploaded Source

Built Distribution

llspy_slm-0.2.1-py3-none-any.whl (752.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page