LLSpy

Lattice light-sheet post-processing utility.

OTHER License

Downloads
128
Stars
26
Committers
5
LLSpy - v0.5.0 Latest Release

Published by tlambert03 11 months ago

What's Changed

Full Changelog: https://github.com/tlambert03/LLSpy/compare/0.4.9...v0.5.0

LLSpy - v0.4.8

Published by tlambert03 almost 5 years ago

  • fixes a reversion introduced in e14d8fff wherein selection of the default OTF would fail, (yielding the PSF file instead). This in turn caused a crash in cudaDeconv RLgpuImpl.cu(86) : cudaSafeCall() Runtime API error 1: invalid argument. that would crash the entire program.
  • decreases the size of the icon files. The large files were causing crashes on some X windows setups (#24, thanks @VolkerH )
  • updates napari preview function to use the newer add_image API introduced in v0.2.4. (napari must be updated to ≥v0.2.4
  • added more documentation about how OTFs are selected, and assumptions about OTF acquisition
LLSpy - v0.4.7

Published by tlambert03 almost 5 years ago

  • added alpha support for napari viewer. If napari is installed in the environment, it will be enabled as an option in the config "preview type" section. napari is in rapid development, so this should be considered experimental, and you should aim to keep napari up to date.

    To install the most recent napari release:
    pip install napari
    To install the bleeding edge master branch on github:
    pip install git+git://github.com/napari/napari.git

  • allow for no compression binaries to be installed, but deactivate compression checkbox if so

  • fix OTF filepattern searching, (otf search was missing OTFs named according to the documentation)

  • change behavior of "ditch partial files"... should decrease frequency of confusing error message.

  • (hopefully) fixed issue on OSX, where cudaDeconv could not find shared libraries.

LLSpy - v0.4.5

Published by tlambert03 about 5 years ago

various changes to accommodate new settings.txt file formats from updated versions of Dan's software.

LLSpy - v0.4.4

Published by tlambert03 about 5 years ago

fixes Issue #22 where MIP merging fails with different filename patterns

LLSpy - v0.4.3

Published by tlambert03 about 5 years ago

fixes a bug in channel registration that caused the registered channels to be translated 0.5 pixels in XYZ relative to the target channel.

LLSpy - v0.4.2

Published by tlambert03 over 5 years ago

cudaDeconv and libCudaDeconv should now be installed automatically by the conda installer

LLSpy - v0.4.0

Published by tlambert03 over 5 years ago

long overdue "refresh" to improve LLSpy/cudaDeconv compatibility.

I recommend creating a new conda environment just to be safe... for example, install at a conda prompt:
conda create -n llsenv04 llspy

please note, you must use the cudaDeconv packaged in llspy_extra (in Janelia dropbox) in order for LLSpy to work. do not update cudaDeconv in your llspy environment

Added:

  • new Decon option "dupRevStack" to reduce axial ringing
  • enabled LZW compression in saved Tiffs (reduces file size, but increases time to open files)
  • customizable pad value when deskewing
  • integrated Lin's improvements to the matplotlib preview window (added gamma, and FFTs)
  • Lin's updated rotation method in cudaDeconv (no cropping)

Fixed:

  • "reverse" checkbox now actually works when rotating a stack to coverslip coords (changes sign of the sheet angle)
  • relax filename parsing pattern to fix bug when number of reltime digits > 7
  • updated dependency chains for conda builds
  • fix reg-file date parsing
  • fixed a bug that caused a failure when the number of GPUs was greater than the number of timepoints in the experiment.
  • don't show library load errors when using lls install

Changed:

  • drop support for python 2.7 and 3.5 ... currently python 3.6 only
  • slightly more verbose errors when subprocess cudaDeconv fails
  • llspy_extra can be installed directly as a zip file with lls install
LLSpy - v0.3.8

Published by tlambert03 over 6 years ago

Fixed:

  • bug: 'TiffPage' object has no attribute 'bits_per_sample' (tifffile update broke ability to read tiff bit depth)
  • dependency versions now explicitly listed.
LLSpy - v0.3.7

Published by tlambert03 almost 7 years ago

Hotfix:

  • FlashParams filename roi was not getting correctly parsed, causing failure when the calibrated chip size was not 1024 x 512.
LLSpy - v0.3.6

Published by tlambert03 almost 7 years ago

Added:

  • lots of documentation on the Flash camera artifact and LLSpy camera corrections.
  • CLI lls compress command now has folder recursion and filtering by experiment age. useful for data server maintenance: quickly compress/freeze old data.
  • option in gui to delete unregistered files when performing channel registration

Changed:

  • llspy/parse.py filter functions now allow exclusive filtering in addition to inclusive
  • better error message in rename_iters when there is only a single Iteration being processed
  • lls install now accepts llspy_extra.zip file as well as llspy_extra directory

Fixed:

  • fixed erroneous "each iteration the same number of tiffs" error in rename_iters
  • fixed "Cannot create a file" bug in rename_iters when there is only a single position in the acquisition script. (thanks Mathieu)
  • (hopefully) fix IndexError in rename_iters in cases where Iter_n does not start at Iter_0.
  • fixed IndexError when no dark.tif images are present in the camera calibration folder (thanks Mathieu)
  • registration was skipping timepoints when the reference wavelength string appeared in the filename (thanks Lin)
LLSpy - v0.3.5

Published by tlambert03 almost 7 years ago

Added:

  • CLI lls show command: quickly preview LLSdir (MIPS or z-stack) from command line.

Fixed:

  • bug: reg-preview was not using the just-generated registration file
  • many bug fixes related to previewing registration results
LLSpy - v0.3.4

Published by tlambert03 almost 7 years ago

Added:

  • new option (in config tab) to enable adding folders without settings.txt file. Pick default values for missing options, and ability to directly change dx/dz/angle in the process queue.
  • new Merge Mips option under Tools menu (merge folder of individual MIPs after processing)
  • reveal in finder/explorer option

Changed:

  • CLI lls info command now calculates sizes
  • CLI lls info recurses to specified depth
  • changed internals representing timepoints (tset) and channels (cset) in LLSdir. Should prevent unexpected bugs in long run, may introduce unexpected things in the short term.
  • internal change, GUI queue box now stores/updates LLSdir instances.
  • give more meaningful error when folder is added that has tiffs and a settings.txt file, but not with the recognized naming convention.

Fixed:

  • bug: napodize and nzblend parameters were not getting passed to cudaDeconv
  • memory leak when closing preview window (wasn't releasing RAM required for image)
  • bugs resulting when the base part of the filename is interpreted as a non-string integer. (such as unsupported operand type(s) for +: 'int' and 'str' during mipmerge)
LLSpy - v0.3.3

Published by tlambert03 about 7 years ago

Added:

  • exposed "min bead number" parameter for automated bead detection in the gui, as well as manual intensity threshold.
  • alert when automated bead detection gives suspicious results (dramatically different number of beads in each channel).
  • ability to undo "Rename Scriped" (rename_iters function), under Process Menu

Changed:

  • more robust settings.txt file parsing (thanks for sample Carlos!)
  • refactored the rename_iters function to be more robust
  • slightly stricter OTF file naming regex. updated docs accordingly

Fixed:

  • fixed "invalid literal for int() with base 10" bug in refRegWave validation
  • (hopefully) fixed bug that bugs you to update llspy_extra when you've already done it. If this still fails, consider reinstalling (deleting your 'llsenv' anaconda environment and starting again with a fresh one).
LLSpy - v0.3.2

Published by tlambert03 about 7 years ago

SLM pattern generator moved into seperate package: slmgen. Multiple additions and changes to SLM Pattern generator. Please see https://github.com/tlambert03/llspy-slm for full changelog, and further development.

Added:

  • improved docs on registration

Changed:

  • removed confusing error seen when using lls path/to/llspy_extra
  • modifications made to LLSpy to move SLMgen into seperate package.
LLSpy - v0.3.1

Published by tlambert03 about 7 years ago

Fixed:

  • Fixed SLM pattern preview on windows
LLSpy - v0.3.0

Published by tlambert03 about 7 years ago

0.3.0

Added:

  • added new SLM Pattern generator feature. 7260d1f484a7556ababc92eb424e635b309d5ea3
  • ability to overlay channels in matplotlib viewer (still not possible in spimagine) a6a1291a795ec214dd280e503ac5336babdb8fdd
  • support for multiple GPUs. Work will be split across GPUs enabled in config tab. a79878831edc0e66dd6a2f7a4700b64f908c7fb8
  • new registration tab in gui with ability to quickly preview registration effectiveness 929f53b65396aa60aab69220b9ae5e8117dc65bf
  • ability to create reusable registration file and new RegFile class to parse registration files 03b6734589a792fad7269d1049002a32c72ea08d

Changed:

  • many small changes implemented to take advantage of new regfile class
  • registration now defaults to world coordinates (should work on datasets with different voxel sizes from fiducials)

Fixed:

  • fixed "long division or modulo by zero" error that sometimes appeared in matplotlib viewer
  • fixed bug that prevented processing of a subset of channels when the channel number was > 0
  • fixed bug when joining MIPs on a dataset with only 1 timepoint
  • various other small bug fixes
LLSpy - v0.2.4

Published by tlambert03 about 7 years ago

Added:

  • gpuCheckboxes added to config tab (disabled for now, future version will support multiple gpus)

Changed:

  • camera calibration GUI calculates no longer requires dark_avg or dark_std... will calculate itself if *dark*.tifs present in selected folder.
  • better feedback during camera calibration gui (still can't abort)
  • disable acquisition watch mode until ready...

Fixed:

  • important: fixed bug that causes crash when pressing preview button, if it had already failed once before f715f92
  • improved robustness and error messages when looking for OTFs in OTFdir
LLSpy - v0.2.3

Published by tlambert03 about 7 years ago

Added:

  • intelligible warning when openCL and CUDA clash. Workaround for [Error -529697949] Windows Error 0xE06D7363 b19c9bb15d589464df666cbc8537f91ee35c2456
  • option to disable spimagine import (and reenable easily) 39a761f1122416115d0d0df62f84f1e66ddaa700
  • list detected GPUs in logs at startup
  • check for update on launch 41a8cb6b465838f6542ffb6e4af2eadcf3aa4b63

Fixed:

  • properly parse 24-hour timestamp in settings.txt 36d4ed0e71e5a6a7dcae62cd778a0e48f3d29610
  • fixed "handle is invalid" error on pyinstaller version
  • fixed multi-argument parameters in the CLI
  • don't allow trim sum greater than num pixels
  • fixed bug: 'NoneType' object has no attribute 'text' when deleting items from queue 53e7fda0c5cbf25a4071083a58e08de64de5bb38

Changed:

  • improved image scaling in matplotlib preview window
  • better choosing of default compression binary for each platform
  • much more useful information in the logs
LLSpy - v0.2.2

Published by tlambert03 about 7 years ago

Changed:

  • much improved docs structure and rtd build
  • gui pngs added to conda.recipe

Fixed:

  • version not properly reported in command line interface