Releases: clEsperanto/CLIc
0.23.0
What's New
labels neighbors statistics by @StRigaud in #529
This release introduce a set of functions based on touching and distance matrices computed from label map to generate several quantification of neighborhood topology (number of neighbor, mean distance of neighbor, surface contact with neighbors, etc.)
In result we have now labels_neighbors_statistics which compute these for a given label image.
For clarity, statistics_of_labelled_pixels and statistics_of_background_and_labelled_pixels was merged an renamed labels_statistics.
Both labels_statisticsand labels_neighbors_statistics have an include_background flag
parametric map by @StRigaud in #530
Update of the parametric_map function API. The function plot back a statistics into a label map for visualisation and further topology quantification. Previous implementation was recomputing the statistics on the whole image at every call. Now, instead, we pass the statistics table.
auto
parametric_map_func(const Device::Pointer & device,
const Array::Pointer & labels,
const StatisticsMap & properties,
Array::Pointer dst,
const std::string & target_property) -> Array::Pointer;Making it compatible with both labels_statisticsand labels_neighbors_statistics.
Full Changelog: 0.22.0...0.23.0
0.22.0
What's New:
- Add shallow copy and reshape Array method by @StRigaud in #512
- Add support for DLPack by @StRigaud in #513
- Add
fromDLPackandtoDLPackmethod to Array
- Add
- Add support for Metal backend and improve CUDA backend efficiency by @StRigaud in #517
- Backend support can is not defined by CMake option
-DCLE_BACKEND
- Backend support can is not defined by CMake option
Fixes and updates
- Fix backend instability introduced in 0.21 (#509)
- Mainly impacting wrappers (pyclepseranto and clesperantoJ)
Full Changelog: 0.21.1...0.22.0
v0.21.1
Remove stub in backend manager which would allow 2 backend to coexist. Not backend a fully split to simplify management of library upstream.
Full Changelog: 0.21.0...0.21.1
v0.21.0
What's Changed
Fix and updates:
- Update
executefunction to allowlocal sizefor better optimisation (#479, #487) - Multiple code refactoring (#472, #476, #482, #480)
- Rework of the tests suites for cleaner and faster tests (#494)
- Refactoring low-level function (#494)
New functions and improvements:
- Add
parametric_mapfunctions (#470) - Add
cos,sin, and several other math operators (#473) - Add partial
standard-deviation(#474) - Add
threshold_yen(#471) - Improve
matmul(#481) - Set
minandmaxvalues tonanas default (#484) - Update
copy(#502) - Introduce the
evaluatefunction for optimise elementwise operation (#494, #496)
Enable CUDA backend
- Update cmake to better manage backend using
CLE_BACKENDcmake option (#497) - Introduce a CUDA translation layer (#504, #499)
- Update vkFFT integration to support CUDA (in #506)
Update CI
- Use
macos-14runner (#485) - Split build for OpenCL and for CUDA (#495)
- Consolidation of the CIs with Cache (#494)
Full Changelog: 0.20.1...0.21.0
v0.20.1
v0.20.0
v0.19.1
v0.19.0
What's Changed
Update
Improvement of ridge detection filters by @StRigaud in #456
- Update sato filter to detect bright on dark ridges instead of dark on bright ridges
- Add a tubeness filter with same behaviour as Fiji tubeness filter
Add deskewing filters by @StRigaud in #459
- Add 3D affine transform with deskewing function
- Add
deskew_xanddeskew_ytransforme for 3D volume - Warning: deskewing operation are only available on hardware compatible with OpenCL Image format
Fixes
Avoid fortran compiler search in windows CI by @StRigaud in #457
Full Changelog: 0.18.3...0.19.0
0.18.3
What's Changed
- Add runtime cache system for opencl program by @StRigaud in #447
- Main objective is to reduce the call to
clBuildProgramwhich, depending on OpenCL drivers, can create a significant memory leak - it is a short term cache with a maximum of 64 entry
- it co-exist with the long term cache of pre-build program stored on local system
- Main objective is to reduce the call to
Full Changelog: 0.18.2...0.18.3
0.18.2
What's Changed
-
Fix a memory leak (discussed here) caused by a buffer pointer no deleted when allocating space for buffer by @StRigaud in #443 and #444
-
Side notes:
No leak observed on Ubuntu system. valgrind report is in the clear and manual verification does not show increase of memory usage over iteration.
Possible issue of memory bulking can be directly related to vendor implementation of OpenCL. Mainly for MacOS which does not support OpenCL anymore but instead rely on a CL2Metal convertion.
Full Changelog: 0.18.0...0.18.2