diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c9886b5..ca8e8a2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ project(DIPlib) # The version number and latest copyright year. Update these values here, they're used all throughout the project. set(PROJECT_VERSION_MAJOR "3") set(PROJECT_VERSION_MINOR "5") -set(PROJECT_VERSION_PATCH "0") +set(PROJECT_VERSION_PATCH "1") set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") set(DIP_COPYRIGHT_YEAR "2024") diff --git a/changelogs/diplib_3.5.1.md b/changelogs/diplib_3.5.1.md new file mode 100644 index 00000000..35669223 --- /dev/null +++ b/changelogs/diplib_3.5.1.md @@ -0,0 +1,79 @@ +--- +layout: post +title: "Changes DIPlib 3.5.1" +date: 2024-07-05 +--- + +## Changes to *DIPlib* + +### New functionality + +- Added `dip::SplitChannels()` to `diplib/geometry.h`. + +### Changed functionality + +- `dip::HoughTransformCircleCenters()` now draws lines in the parameter space with an intensity proportional to the + magnitude of the input gradient. Low gradients are likely less precise in orientation, so down-weighing them + improves precision. + +### Bug fixes + +- `dip::saturated_mul()` for `dip::sint64` inputs was broken on systems that don't have 128-bit arithmetic. + +- Improved `dip::PhysicalQuantity::Normalize()` to avoid floating-point rounding errors. + +- `dip::DrawEllipsoid()` and `dip::DrawDiamond()` could produce wonky shapes for even diameters, + due to a floating-point rounding error. + +- JPEG encoding and decoding had a small memory leak. + +- `dip::GetOptimalDFTSize()` could loop indefinitely for inputs close to the maximum `dip::uint` value, because + of an integer overflow in arithmetic. + +- The classes `dip::StatisticsAccumulator` and `dip::VarianceAccumulator` divided by 0 when adding two empty + accumulators together, producing NaN values as output. This caused the function `dip::SampleStatistics()` + to sometimes produce NaN statistics when called with a mask image. + +### Build changes + +- Fixed some assorted issues introduced in 3.5.0 for 32-bit builds. + +- Added a 32-bit build to the CI on GitHub. + + + + +## Changes to *DIPimage* + +### Bug fixes + +None, but see bugfixes to *DIPlib*. + + + + +## Changes to *PyDIP* + +### Bug fixes + +- `dip.ChainCode.Length()` had a parameter `boundaryPixels` added in *DIPlib* 3.3.0, but the Python bindings + did not know about its default value. + +(See also bugfixes to *DIPlib*.) + + + + +## Changes to *DIPviewer* + +### Changed functionality + +- The `dip.viewer.SliceViewer` object now also maps the `complex` and `projection` properties + (matching the third and fourth columns of the "control panel"). + + + + +## Changes to *DIPjavaio* + +None diff --git a/changelogs/diplib_next.md b/changelogs/diplib_next.md index a3437ca4..f666bd27 100644 --- a/changelogs/diplib_next.md +++ b/changelogs/diplib_next.md @@ -8,37 +8,14 @@ date: 2020-00-00 ### New functionality -- Added `dip::SplitChannels()` to `diplib/geometry.h`. - ### Changed functionality -- `dip::HoughTransformCircleCenters()` now draws lines in the parameter space with an intensity proportional to the - magnitude of the input gradient. Low gradients are likely less precise in orientation, so down-weighing them - improves precision. - ### Bug fixes -- `dip::saturated_mul()` for `dip::sint64` inputs was broken on systems that don't have 128-bit arithmetic. - -- Improved `dip::PhysicalQuantity::Normalize()` to avoid floating-point rounding errors. - -- `dip::DrawEllipsoid()` and `dip::DrawDiamond()` could produce wonky shapes for even diameters, - due to a floating-point rounding error. - -- JPEG encoding and decoding had a small memory leak. - -- `dip::GetOptimalDFTSize()` could loop indefinitely for inputs close to the maximum `dip::uint` value, because - of an integer overflow in arithmetic. - -- The classes `dip::StatisticsAccumulator` and `dip::VarianceAccumulator` divided by 0 when adding two empty - accumulators together, producing NaN values as output. This caused the function `dip::SampleStatistics()` - to sometimes produce NaN statistics when called with a mask image. - ### Updated dependencies ### Build changes -- Fixed some assorted issues introduced in 3.5.0 for 32-bit builds. @@ -70,9 +47,7 @@ None, but see bugfixes to *DIPlib*. ### Bug fixes -- `dip.ChainCode.Length()` had a parameter `boundaryPixels` added in *DIPlib* 3.3.0, but the Python bindings - did not know about its default value. - +None, but see bugfixes to *DIPlib*. (See also bugfixes to *DIPlib*.) ### Build and installation changes @@ -86,9 +61,6 @@ None, but see bugfixes to *DIPlib*. ### Changed functionality -- The `dip.viewer.SliceViewer` object now also maps the `complex` and `projection` properties - (matching the third and fourth columns of the "control panel"). - ### Bug fixes ### Build changes