Releases: saalfeldlab/paintera
Releases Β· saalfeldlab/paintera
Paintera paintera-1.7.0
π Features
- Support left-click drag in shape interpolation for SAM box prompt, without needing to enter SAM mode first
π Bug Fixes
- Allow multiple label selection with read-only
- persist settings for opacity and shading properties.
- Project path as URI
- Rendering issue where volatile LMT value was incorrectly initialized as valid
- Flood fill 3d properly cancellable and refreshable
β‘ Performance
- More memory/cpu efficient downsampling in MaskedSource
Paintera paintera-1.6.0
π Features
- Add ellipses after menus that open dialogs
- Optionally activate replacement label during smoothing, add Smooth permissions
- Change default 3D rotation speeds
- Allow resize views during Shape Interpolation
Improvements
- Check if tools/actions are valid when creating buttons, and disable buttons if not
- More granular ActionType permissions for resizing/toggling UI elements
- Improved action/tool validation
π Bug Fixes
- FIRST_TEMP_ID is temp id
- Handle is SAM service is not available more gracefully
- Dont block on the main thread when setting the id.
- Don't expose temporary ID in status text
- Re-check for sam server availability
- Valid tool switching, and SAM tool validity
- Reset to default on empty SAM Service only when focus lost
- Change intensity threshold bindings to H to not conflict with key rotation around Y axis
- Return fill interval from async, instead of querying property.
- Correctly handle more general resolution for arbitrary orthoslice painting.
- In practice, these edge cases are not hit. Need to think better how to integrate them if we want some other heuristics
- Update ViewerDisplayListener after repaint. Don't create objects unnecessarily
- Remove debug code
- fix toggle sam point types in SI
- Requires ResizeViewers to resize panel also
π Refactor
- How to generate local temp ids
- Improve non-volatile render support
- Use actions for 3d context menu
- Select next id verify
- Interpolation logic during SI
Build
- Readme and version bump
Paintera paintera-1.5.1
π Features
- Change mesh settings defaults
- Change brush size with keys (minus,down and equals,plus,up)
π Bug Fixes
- SamCacheLoader should be robust to child job failures
- Don't constantly request new navigation based embeddings
- Use non-volatile source for SAM render
- Support rendering of non-volatile LMT
- Cancel selectAll from prior attempts
- Reuse clients, accept cookies
- Wrap nonvolatile for volatile sam image
- Better fix for non-volatile data source composite
- Ensure unwrapped/wrapped SourceAndConverter for non-volatile data sources play nicely with the sam cache loader
- Re-enable navigation based sam embedding request
β‘ Performance
- Remove scale levels that are too small
- Shape interpolation improvements
Build
- Bump app.version
Paintera paintera-1.5.0
π Features
- Shift click in orthogonal views to trigger auto-SAM in shape interpolation
- Specify Virtual Crop Interval in Raw Source / Read-Only Label Source Metadata
- Add export source functionality
π Bug Fixes
- Don't select
0
label withnext()
- Switch tool off main thread, wait for it with SAM
- Navigation after saving
- More robust tool switching logic
- Update multiresolution renderer when increasing number of screen scales
- Update on source change
- Navigation tool during SI
- Disabled view auto-sam point based on click location
- Remove invalid preview features
- Small improvements
- Intersect painting, randomTempId
- Setting activeTool triggers listeners. Make sure tool is active before setting to activeTool
- Existing slice masks not being provided during
getMask()
- Commit canvas over integer types handles outOfBounds
- Don't hang when trying to Fill3D on non-visible source
π Refactor
- Application config directory to use ProjectDirectories; configurable
- Source Opener dialog and logic
- Small changes to open source dialog
- Wrap setCurrentLabel
- Miscellaneous
- Color empty lists as
0
- Fix mesh refresh logic
- Listen, don't bind, status property for tools
- Don't use STR interpolation preview, it was removed in newer JDK releases
- Some safety checks and misc
- Improve type compatibility with convenience converter extensions
- Clean up export source logic
- Don't automatically close window after export source
- Rename to virtual crop; move logic to metadata config node, out of open source
β‘ Performance
- Don't recursively generate biconverters for shape interpolation mask result
- Memory improvements, especially related to LMT
βοΈ Miscellaneous Tasks
- Remove unused files
- Remove old serialization logic
- Remove dead code
- Clean unused code
- Serialize units, misc
- Cleanup some incorrect pom and code commits
Build
- Bump label multiset
- Windows packaging can't have -SNAPSHOT in version
Paintera paintera-1.4.3
[maven-release-plugin] prepare release paintera-1.4.3
Paintera paintera-1.4.2
π Bug Fixes
- Navigation in shape interpolation working correctly
- Don't double-activate tools unnecessarily
Paintera paintera-1.4.1
[paintera-1.4.1] - 2024-08-13
π Features
- Add some N5 convenience extension methods for get/set attributes
- [breaking] Support read-only ID services
π Bug Fixes
- Serialize label block lookup to paintera data metadata properly
- Remove all tool listeners when deactivating
- Replace the mask if floodfill cancelled on first slice of shape interpolation
- Respect
useVolatileIfAvailable
parameter - Fill tool should be cancellable
- Set valid datasets directly, not on JavaFx thread
- Some race conditions triggered by activating/deactivate modes/tools out of order
- Trigger rendering when returning from maximized viewer
- Points managed on javafx thread
useSystemProperties()
for HttpClientBuilder, and join servicesUrl with/
π Refactor
- Simplify display listener logic
β‘ Performance
- Provide ref for lme iteration
- Deactivate run on Default Dispatcher, can be blocked (see Fill2Dtool) or delayed
- Some flood fill optimizations
- Don't parallelize within the block when downsampling. Parallelization should happen across blocks
- Support empty blocks when downsampling label multiset data
- Short-circuit null if access is empty
π§ͺ Testing
- Convert to kotlin
βοΈ Miscellaneous Tasks
- Add convenience method
- Style,misc
- Dep version bumps
- Version bumps
Build
- Bump deps
Paintera paintera-1.3.4
π Bug Fixes
- Use LocalIdService when writer isn't available
- Some regressions from the perf commit
- NPE when canceling without a button pressed in commit dialog
- Some graphical issues with incorrect interpolation rendering, an incorrect triggering of adding/removing slices with flood fill (tool or click)
- Selection objects at interpolant in SI mode
- Unlocked slices should start in temporary prompt mode
- Default to N5 as often as possible; require for new label multiset type labels
π Refactor
- Remove reactivex dependency
- Temporary projects should be N5
- Prefer coroutines to Tasks
- Tasks -> coroutines
- (BREAKING) Migrate to new saalfx coroutine backend
- Default to N5 logic encapsulated in N5FactoryWithCache
β‘ Performance
- Better handling of invalid user input, vs exceptions when creating dataset
- Improve floodfill 2D performance
βοΈ Miscellaneous Tasks
- Unused code, reorder imports
Build
- Bump dep versions, pom-scijava
- Remove saalfx snapshot dep
- Bump app.version
Paintera paintera-1.3.3
[paintera-1.3.3] - 2024-06-24
π Features
- Add source specfic keys for raw source
π Bug Fixes
- Restart SAM_TASK_SCOPE if an exception is thrown
- Issue where an old embedding and transform would be shown to the user
- Flood fill in shape interpolation should be cancellable
βοΈ Miscellaneous Tasks
- Bump saalfx
Paintera paintera-1.3.2
[paintera-1.3.2] - 2024-06-20
π Bug Fixes
- Issues with orthoslice meshes on Apple Silicon Mac Sonoma
Build
- Version bumps for N5 bug fixes