Skip to content

Commit

Permalink
Update for release 3.5.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
crisluengo committed Jul 5, 2024
1 parent bbefebb commit de5c181
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 30 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down
79 changes: 79 additions & 0 deletions changelogs/diplib_3.5.1.md
Original file line number Diff line number Diff line change
@@ -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
30 changes: 1 addition & 29 deletions changelogs/diplib_next.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.



Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit de5c181

Please sign in to comment.