Releases: KosinskiLab/mosaic
v1.1.0
Release Notes v1.1.0
Version 1.1.0 introduces pipelines, a major new feature for batch processing and automation, alongside several improvements to mesh processing and user interface.
Features
- Scriptable Pipeline System: A complete pipelining module that enables batch processing workflows through both GUI and CLI (
mosaic-pipeline). Includes a pipeline builder with composition safeguards and a dedicated tutorial in the documentation. - Composable Animations: Animations can now be composed and scripted for creating complex visualization sequences.
- Task Monitor: Feedback during parallel operations with progress and stdout/stderr handling.
- Searchable Object Browser: Quickly subset large object collections.
Improvements
- Updated cache in Property Analysis operations to improve performance.
- Consolidated and updated widgets with refreshed styling.
- Allow for selecting multiple groups in object browser.
- Generalized remove and merge methods for geometry operations.
- FlyingEdges mesh algorithm now automatically closes edges.
Bug Fixes
- Fixed coloring issue for Volume Geometries.
- Fixed display issues in the progress dialog.
- Fixed signal disconnects for dock widgets.
Installation
pip install -U mosaic-gui==1.1.0v1.0.16
Version 1.0.16 introduces
-
Reworked color mapping for property analysis, allowing for consistent scales across datasets.
-
Support for computing different skeletonizations of point clouds.
-
NRRD file support.
-
Consolidated clustering parameters.
Beyond features, 1.0.16 fixes a range of minor bugs
-
Dropped a range of QSignals that would cause unexpected GUI updates.
-
The parallel worker pool can now recover from unexpected crashes.
-
Fixed compare to all functionality in the property analysis dialog.
v1.0.15
Version 1.0.15 introduces a range of new features and quality-of-life improvements.
-
Added support for rendering point clouds as isosurfaces to improve rendering performance for large segmentations. Isosurfaces suport the same interaction patterns than point clouds.
-
Faster point selection for large point clouds using custom frustum calling.
-
Flying edges parametrization as faster alternative to Parametrization > Volume.
-
Better suggestions for output shape and sampling rate in export menu.
v1.0.11
Version 1.0.11 introduces a range of new features and quality-of-life improvements.
-
Objects can be grouped/ungrouped to improve visibility when working with large numbers of objects and simplify batch processing.
-
Points drawn from parametrizations follow the requested spacing more accurately.
-
Geometries with attached volumes now support representation changes. The corresponding volumes can be re-attached in the properties dialog. Similarly, isovalues are propagated when their appearance changes. On load, the contrast of the volume will be automatically determined.
-
Fixed some resizing issues in the property analysis dialog, together with the export plot functionality. kNN thresholds are automatically adapted to avoid invalid configurations.
-
Formats unavailable for the selected set of Geometries are no longer clickable in the Data Export dialog.
Note for Developers
1.0.11 moves from an index-based mapping of items in the Object Browser to elements in DataContainer to a uuid-based mapping. This was necessary to support grouping and moving of items in the Object Browser. The old index-based interface is still supported, but the order might not be correct if those indices are extracted from the Object Browser items. On a similar note, the data structure underlying the Object Browser is now a QTreeWidget, rather than a QListWidget to support hierarchies of objects.
v1.0.10
Version 1.0.10 fixes a range of minor bugs
-
Projection planes in the Volume Viewer would not be automatically applied to newly created objects.
-
Subsetting objects with attached volume models would remove the associated model.
-
Volume isovalues were not correctly propagated when changing object appearance.
v1.0.9
Version 1.0.9 includes quality-of-life changes and some minor bug fixes.
-
Point selection and removal should be faster, particularly for large point clouds.
-
The size selection dialog is now a dock widget and more cooperative towards sequential filtering.
-
Fixed a bug in the property analysis dialog preventing data export.
You can install the new version from PyPI:
pip install -U mosaic-gui==1.0.9v1.0.6
Version 1.0.6 includes a range of performance improvements and minor interface updates:
-
QThread backend was replaced with process-based parallelism to avoid the noticeable degradation in rendering performance during large computations. This also helped resolve some compatibility issues on macOS.
-
Faster point selection due to a revision of the underlying internal data structure.
-
Exposed displacement weight for mesh fairing to simplify tuning weights. Setting the new 'Flexibility' parameter to 1 (the default value) will recapitulate the behavior of previous Mosaic versions, with the distinction that vertex coordinates are now standardized to make weights more portable.
-
The analysis dialog became more powerful and is now integrated with the object browser. It supports custom vertex properties, such as inclusions on triangular meshes, and it's now possible to also analyze changes in all properties throughout a mesh trajectory.
-
Status bar has been moved outside the primary viewer and rewritten.
-
Removed the ability to select representations that are not supported by at least 1 object in the selection.
-
Removed the representation 'Pointcloud with Normals' and revised the 'Normals' representation to support point selection.
-
Fixed some forced resizing operations imposed by dock widgets.
You can install the new version from PyPI:
pip install -U mosaic-gui==1.0.5v1.0.4
We are happy to announce the first public release of the Mosaic codebase.
This release does not affect core functionality, but fixes a variety of issues with previous PyPi releases:
- Error propagation into the GUI window
- Handling of edge cases and invalid parameter options across various widgets
- Cross-platform compatible dialog windows
- Platform-specific optimizations for macOS w.r.t. memory handling
One breaking change included in this release is the convention used to interpret Euler angles from star files. This was done to become compliant with the format used by other EM software, such as RELION/ArtiaX.
Important
Star files created using Mosaic versions < 1.0.4 are no longer compatible.
The internal convention is not affected by this change, so session files can be used to re-export objects to generate correct star files. Should you not have access to your session files anymore, you can convert pre 1.0.4 files like this:
from tme import Orientations
from scipy.spatial.transform import Rotation
orientation = Orientations.from_file("/path/to/file.star")
rotation = Rotation.from_euler(angles=orientation.rotations, degrees=True, seq="zyz")
orientation.rotations = rotation.inv().as_euler(seq="ZYZ", degrees=True)
orientation.to_file("/path/to/updated.star")Remaining changes include updates to the documentation, internal refactoring, e.g., GeometryProperties, to improve maintainability and extensibility.
You can install version 1.0.4 from PyPI:
pip install mosaic-gui==1.0.4