In this post, we detail the new features and bug fixes that affect end-users in Icy 2.1.
Mainly, we added or improved the possibility to
- loop over time series with keyboard shortcuts
- hide and show multiple layers at once
- add options to headless calls
- perform morphological operations on ROIs:
- compute a distance map on a ROI
- dilate and erode a ROI
- apply watershed on a ROI
- better manipulate ROIs
- bounding box visualisation only on hover to improve ROIArea visualization
- prevent accidental ROI modifications
- convert 3D ROIs to a pile 2D ROIs
Looping sequences with keyboard
On time series sequences, users can now loop indefinitely through the sequence using the left and right arrow keys.
Hide/Show multiple layers at once
Multiple layers can now be hidden in one click. This is done by selecting the layer you want to hide and clicking on the new main “hide” button on the top right corner of the Layer tab.
Adaptive headless calls
The headless mode is activated using the parameter --headless
or -hl
when launching Icy from a terminal or command prompt (i.e. java icy.jar –headless
). Two new options allow more flexibility in headless mode:
- Disable cache when Icy app starts: use the parameter
--nocache
or-nc
when launching Icy from a terminal or command prompt:java icy.jar --nocache
. - Disable network when Icy app start: use the parameter
--nonetwork
or-nnt
when launching Icy from a terminal or command prompt:java icy.jar --nonetwork
ROIArea visualization improvement
ROIArea visualization has been improved to show its bounding box only when hovered or selected. Otherwise, only the ROI mask is visible.
Prevent accidental modifications of ROIs
Locking ROIs for modifications: Now you can lock your ROIs to prevent undesired changes on them.
ROI Distance map
ROI Distance map (Distance transform) computation is now available in the ROI tab. By default, the generated distance map considers the pixel size.
ROI Dilation
ROI Dilation is implemented using distance maps. The dilation is computed from the ROI outwards distance map on selected ROIs. This procedure does not use by default the pixel size.
ROI Erosion
ROI Erosion is implemented using distance maps. The erosion is computed from the ROI outwards distance map on selected ROIs. This procedure does not use by default the pixel size.
ROI Watershed separation
ROI Watershed separation is now available on the ROI tab. A watershed is performed on the distance map of the selected ROIs to separate them considering their morphology. This procedure does not use by default the pixel size.
Other ROI features
- 3D ROIs can be converted to multiple 2D ROIs in different Z positions. This can be done with ROI3DAreas as well as other types of ROI3D. The outcome is always a set of ROI2DAreas unless the ROI3D is a ROI3DShapeStack. In this case, the conversion will generate multiple ROI2DShapes of the same type.
- New ‘Intersected’ and ‘Contained’ ROI descriptors (intersected and contained ROI)
- New ‘Internal id’ ROI descriptor to retrieve internal ROI id (can be useful)
Bug fixes for ROIs
- Fixed bug: BooleanMask for tiny ROI2DShapes (now they associate a single pixel)
- Fixed bug: ROI list view does not focus on the selected ROI when it is double clicked.
Bug fixes for metadata management
- Better ‘time interval’ metadata retrieval on sequences.
- Fixed bug: ROI crop on sequence does not take the correct channel of the ROI when the ROI is in only one channel.
- Fixed bug: Snapshots of sequences do not keep the pixel size of the original image.
- Fixed bug: Sequence physical position is not adjusted when resizing the frame of a sequence (not the same as resizing an image).
Other major bug fixes
- Updater: Weird lockup on process execution error.
- Network: Ignore possible error on audit process.
Version notes
- Java 8 is now the minimum required version to run Icy 2.1+.