Smil 1.0.3 (15 Jan 2024)
Smil 1.0.1 and 1.0.2 (30 Sep 2023)
- New
- Packaging for Linux Anaconda
Smil 1.0.0 (30 Sep 2022)
- New
- Functions :
- labelWithProperty() -
- getBlobIdFromOffset() - returns the blob ID (map key) given the offset of a pixel/voxel.
- merge() to create a structuring element from the merge of two other s.e.;
- buildLineSE() to build a line structuring elements;
- Structuring elements :
- LineSE() and Line3DSE() - a 2D and 3D line Structuring Elements with arbitrary length and angles;
- StrElt::merge() Structuring element method to merge some structuring element into the current one;
- Image() allows now to create images from Numpy arrays (calls NumpyInt() function).
- Image() function completely rewritten with better error verification and some lacking features. See documentation;
- Advanced module line based operators (ported from Morph-M) completely rewritten from scratch to use Bresenham 3D line structuring elements and Smil native dilate() and erode() functions. The new code is 10 to 20 times faster than the old one.
- Change
distanceEuclidean()
- replaced by another one based on hierarchical queues. The previous one, a slightly faster, had a but on regions touching the border of the image.
labelFlatZones()
- order of parameters to agree with Smil logic and set default value to method
parameter.
geodesicMeasure()
- set default value to method
parameter.
- Functions renamed :
- Bug
Smil 0.11.3 (23 Mar 2021))
- New
- packages for Anaconda
- A new group of functions to check the similarity between two images. For the moment :
- Bugs
- function nonZeroOffsets() return UINT when should return size_t - problem for images with more than 4 Gpixels.
- method printSelf() of class Image doesn't handle parameter
indent
- Documentation
- improved documentation about Python programming with Smil.
Smil 0.11.2 (25 Feb 2021)
- Bugs
- Change
- Documentation
- Beginning of documentation about Smil programming under Python
Smil 0.11.1 (24 Feb 2021)
- New
- NEW : Python module
smilFuncRewrite
- this module is transparent to final users. It allows a better management of functions renamed and shortcuts.
- NEW : Added FAQ and Troubleshooting pages to web site.
- NEW : submodule geodesic tools inside Advanced Algorithms. With functions (not yet documented):
- Bugs
- Incompatibility between Jupyter notebooks and Qt when importing smilPython. An environnement variable (
SMIL_DISABLE_GUI
) was added to disable Gui when running Smil with notebooks.
fillHoles()
function didn't work with 3D and 1D images.
Smil 0.11.0 (04 Dec 2020)
- New and change on functions
- NEW and CHANGE : zhangSkeleton() moved to an Addon and reviewed. Other derived versions of this algorithm added
- CHANGE : AreaOpen functions moved from Addon MorphoExtras to Advanced branch
- NEW : images directory with test images to avoid need to access
- NEW : Smil-build.h added to help load test images in
test_XXX.cpp
programs. Smil web server to launch make test
- NEW : areaOpening using algorithm UnionFind ported and rewrote
- CHANGE : AddOn ZoneMatrix - functions converted to functor
- CHANGE : function isBinary(), now return true if there are only two values in the image : 0 and any other positive value.
- NEW - function exp() to revert the function log()
- Functions renamed to avoid confusion (mostly on Blobs)
- Documentation
- Lots of Doxygen documentation being reorganized and completed. Work in progress
- QuickReferenceGuide
Smil 0.10.5 (14 Sep 2020)
- Download link changed
- To have more visibility, the download URL changed to :
- New and changes on functions
- NEW : functions measImageEntropy() and measBlobsEntropy() to evaluate entropy on images and blobs;
- NEW : function inertiaMatrices() on blobs;
- CHANGE : functions measMoments() and measBlobMoments() now can also evaluate centralized moments with respect to barycenters;
- NEW : function areaThreshold() to filter blobs based on their area (number of pixels). Useful in granulometry;
- CHANGE : function trans() renamed to translate() to avoid confusion by short names;
- NEW :function rotateX90() to rotate images by multiples of 90 degres (handle 3D images);
- CHANGE : function gaussianFilter() rewritten to handle 3D images;
- CHANGE : function matTrans() now can handle 3D images and was renamed to matTranspose() to avoid confusion with translate();
- CHANGE : function matMul() renamed to matMultiply() to avoid confusion by short names;
- NEW : function pruneSkiz() based on a work of Theodore Chabardes;
- CHANGE/NEW : vFlip() function renamed to vertFlip() and rewritten to handle 3D images. Added function horizFlip().
- CHANGE : resize() and scale() functions rewritten with trilinear algorithm to be able to handle 3D images. An optional parameter is added to this functions to allow to select between trilinear (for 3D images), bilinear (for 2D images) or closest algorithm. auto value selects closest for binary images and XXXlinear for gray level images.
- REMOVAL : functions resizeClosest() and scaleClosest(), as this algorithm is integrated into new resize() and scale() functions. The choice being done by a parameter.
- NEW : '-' (minus) operator added to Point<T> class, allowing to retrieve the difference between two points.
- Bug fixes
- When creating images of type UINT32, printSelf() function doesn't show image type. Just a cosmetic problem.
- Library documentation
- changing the order of items inside pages;
- new examples;
- library documentation : lots of work being done - work still in progress fir some time...
Smil 0.10.4 (10 Jul 2020)
- Changes :
- Bug fixes
- fromNumArray() function not working as intended
- Code cleaning : work in progress while documenting
Smil 0.10.3 (10 Jul 2020)
- Bug fixes
- Filesystem conflicts on CentOS packages
- other small bugs
- Library documentation : work in progress
Smil 0.10.2 (27 Jun 2020)
- New modules
- Parsimonious - Parsimonious Path Opening - (port from Morph-M) thanks to Petr Dokladal
- Line Morphology - (port from Morph-M)
- New functions
- distanceGeodesic() - thanks to Beatriz Marcotegui
- measCenteredCovariance() (see below why this function was renamed and a new one written)
- Functions renamed to be consistent with naming conventions, and homogeneous naming across the library :
- Building system updated to ensure compatibility with new versions of cmake, gcc, Fedora32 and CentOS8;
- Many small bugs corrected, most of them related to segmentation faults or image size limited to octets;
- some parts of code being rewritten with functors to hide local private code
- documentation for some functions. Much more to be done in this area.
- binaries available for :
- Ubuntu (16, 18 and 20)
- Debian (8, 9 and 10)
- CentOS (7 and 8)
- Fedora (30, 31 and 32)
Smil 0.10.0
- A lot of (not so visible) small bugs corrected
- Binary packages for Ubuntu, Debian and CentOS
- A web site ... going on...
- Advanced branch :
- Line Morphology (See [17] P. Soille, Morphological Image Analysis, 2003, p.89)
- Gray Level Distance
- Functions renamed :
- dist_xxx() => distanceXxx()
- measInertiaMatrix() and measInertiaMatrices() => measImageMoments() and measImageBlobsMoments()
- New functions :
- Addons :
- Filters
- Graph Cuts
- Stochastic Watershed
- Fast Area and Path Opening
- Anaconda integration (See config-smil)