There is a newer version of the record available.

Published February 18, 2020 | Version paintera-0.23.0
Software Open

saalfeldlab/paintera: Paintera 0.23.0

  • 1. HHMI Janelia
  • 2. HHMI Janelia Research Campus
  • 3. Max Planck Institute of Molecular Cell Biology and Genetics
  • 4. Gitter
  • 5. Monash Micro Imaging, Monash University

Description

Changelog New Features

  • Adaptive level of detail for meshes in 3D view. (#267)
  • New settings for changing transparency and shading of the orthoslices in the 3D viewer (#382)
  • Add 3d mesh visualization for thresholded sources. By default, 3d meshes are disabled for thresholded sources but they can be enabled with the checkbox at the Meshes section in the thresholded source preferences. In order to unify 3d mesh generation, the label-centric MeshManager interface was removed and replaced with the AdaptiveResolutionMeshManager. Source-specific mesh menagers simply wrap around and translate and forward requests to the AdaptiveResolutionMeshManager. This simplifies the code a lot and reduces code duplication. In the course of this refactoring, cancellation of tasks does not need to be controlled at the level of iteration of a tight loop, which makes the Interruptible and similar interfaces obsolete. Use the LabeLBlockLookup directly instead, which may be cached, anyways. (#377)
Bug Fixes
  • Committing canvas failed for new n5 label block lookup backends (#374). Initialize lookup properly when committing to fix this issue. (#377)
Pull Requests #267

Merge pull request #267 from saalfeldlab/adaptive-mesh-resolution

[FEATURE] Adaptive level of detail for meshes in 3D view.

  • Only blocks that are visible inside the 3D viewer screen will now be rendered, and the order in which meshes are generated is now determined by the distance between a block and the camera (closest blocks will be rendered first).
  • The blocks are quickly re-prioritized every time the user turns the camera with respect to the new orientation. The delay with which the blocks are updated can be changed in the 3D Viewer settings tab (Update delay).
  • The appropriate resolution for a block is also chosen based on the distance from the camera and can be controlled with the new settings (Level of detail, Finest scale level, Coarsest scale level). For instance, when the user zooms in or rotates the camera such that some of the blocks are closer to the camera, the resoluton for them is gradually increased. When the user zooms out, the resolution is decreased again.
  • To reduce variations in mesh appearance between several scale levels, there is a new setting 'Min label ratio'. It allows to control the thickness of the binary mask used to generate the meshes. For example, 0.25 means that at least 25% of all labels in a given pixel must be occurrences of this particular label in order for a pixel in the mask to be set to 'true'. 0.0 would mean that a pixel in the mask is set to 'true' if the pixel contains any number of occurrences of this particular label.
  • The block size for generating meshes is now independent from the block size of the data source and can be controlled via the new setting in the 3D Viewer settings tab (Renderer block size). Smaller blocks help to increase the granularity of the 3D scene and make individual meshes smaller so that there is less visible lag when a mesh is being uploaded onto the scene.
  • Additionally, there is now a throttling queue for uploading meshes onto the scene. It aims to solve the following problem: when the meshes are initially generated, the speed with which the meshes are produced is limited by the marching cubes algorithm. The generated meshes are memory-cached then, and on subsequent requests they are quickly retrieved from the cache. This leads to trying to add hundreds of meshes to the scene at the same time, which implicitly blocks the main thread and the application freezes. The new throttling queue limits the number of meshes added a a time and helps to keep the application responsive. Its parameters can be tweaked in the 3D Viewer settings tab (Elements per frame, Frame delay).
#382

Merge pull request #382 from saalfeldlab/orthoslices-transparency

[FEATURE] New settings for changing transparency and shading of the orthoslices in the 3D viewer

#377

Merge pull request #377 from saalfeldlab/3d-visualize-masks

[FEATURE] Add 3d mesh visualization for thresholded sources. By default, 3d meshes are disabled for thresholded sources but they can be enabled with the checkbox at the Meshes section in the thresholded source preferences. In order to unify 3d mesh generation, the label-centric MeshManager interface was removed and replaced with the AdaptiveResolutionMeshManager. Source-specific mesh menagers simply wrap around and translate and forward requests to the AdaptiveResolutionMeshManager. This simplifies the code a lot and reduces code duplication. In the course of this refactoring, cancellation of tasks does not need to be controlled at the level of iteration of a tight loop, which makes the Interruptible and similar interfaces obsolete. Use the LabeLBlockLookup directly instead, which may be cached, anyways. [BUGFIX] Committing canvas failed for new n5 label block lookup backends (#374). Initialize lookup properly when committing to fix this issue.

Files

saalfeldlab/paintera-paintera-0.23.0.zip

Files (13.4 MB)

Name Size Download all
md5:54198176008dbc9fe96fb6e7f569daf5
13.4 MB Preview Download

Additional details