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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for llspy-slm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 f279eec9c2920378ea0eb8ca097d62f9ed2e5231fe585c3b2cd5a9581d9b7099
MD5 b3b923671c5065c249f8695da36f41d0
BLAKE2b-256 3fb5898485121562a24973e1c482960841968333947e8b80c65ff7a0a3af9eb8

See more details on using hashes here.

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

Hashes for llspy_slm-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8ec940efc97ebe7fbeccaaa15303258a81592377e52208b4066b2e05fe29a6f
MD5 b2a43fe636054a01f3bafb9f90eeef77
BLAKE2b-256 f5f2e4856cb0ce3084528b00fff770f5147ff171040f2f4530f5b2bc26f6f13f

See more details on using hashes here.

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