zignal 0.6.0
Highlights
Edge Detection Algorithms
- Canny Edge Detector - Classic multi-stage algorithm with configurable Gaussian smoothing and dual thresholding (defaults: σ=1.4, low=50, high=150)
- Shen-Castan - Advanced edge detection using ISEF smoothing with adaptive gradient computation
Binary Image Operations
- Otsu and adaptive mean thresholding
- Morphological operations: erosion, dilation, opening, closing
Order-Statistic Filters
- Median, min, and max filters for edge-preserving blur
Image Enhancement
- Histogram equalization
- Automatic contrast adjustment
Additional Features
- Canvas draw_image() method for image compositing with blending
- JPEG output support via image.save()
What's Changed
- feat(python): add Shen-Castan edge detection by @arrufat in #168
- feat(image): add image invert method by @arrufat in #169
- refactor(enum): centralize Python enum registration by @arrufat in #170
- refactor(image): extract image to python object conversion by @arrufat in #171
- refactor: python binding utils by @arrufat in #172
- refactor: python arg parsing by @arrufat in #173
- refactor: introduce pycanvas and use parseArgs in canvas by @arrufat in #174
- feat(jpeg): add baseline JPEG encoder with optimized DCT by @arrufat in #175
- feat(image): allow saving images as jpeg by @arrufat in #176
- feat(image): add autocontrast function by @arrufat in #177
- feat(image): add histogram equalization by @arrufat in #178
- feat(python): expose difference of gaussians filter by @arrufat in #179
- refactor(python): standardize object lifecycle and error handling by @arrufat in #180
- refactor(build): improve wheel cleanup and add extension validation by @arrufat in #181
- test(python): standardize test naming and remove redundant docstrings by @arrufat in #182
- refactor(png): unify Adam7 deinterlacing logic for palette images by @arrufat in #183
- feat(canvas): add draw image method by @arrufat in #184
- feat(image): enable blending mode for image insertion by @arrufat in #185
- feat(image): add binary thresholding and morphology by @arrufat in #186
- feat(image): add order-statistic blur filters by @arrufat in #187
- refactor(python): standardize argument parsing by @arrufat in #189
- refactor(py): generalize python type object definitions by @arrufat in #190
- feat: add Canny edge detection algorithm by @arrufat in #191
Full Changelog: 0.5.1...0.6.0