Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix and test clustering #74

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Fix and test clustering #74

wants to merge 1 commit into from

Conversation

timholy
Copy link
Member

@timholy timholy commented Aug 31, 2021

This has one breaking change: while the docs advertise that
"All the segmentation algorithms (except Fuzzy C-means) return a
struct SegmentedImage," that's not been true for kmeans.
This changes the output so that kmeans does return a SegmentedImage.
This is a breaking change, because the types are not interchangeable.
This became apparent when trying to add tests for kmeans, which
have been lacking.

Before releasing this, we may want to make a second breaking change:
currently, ImageSegmentation provides a new meaning for
Matrix{Gray{T}} than Clustering.jl provides for Matrix{T}.
This breaks our abstraction that Gray ≈ Number.
A way to fix that would be to have ImageSegmentation.kmeans
be a different function from Clustering.kmeans, and obviously
have the one in ImageSegmentation call the one in Clustering.

This has one breaking change: while the docs advertise that
"All the segmentation algorithms (except Fuzzy C-means) return a
struct SegmentedImage," that's not been true for `kmeans`.
This changes the output so that `kmeans` does return a `SegmentedImage`.
This is a breaking change, because the types are not interchangeable.
This became apparent when trying to add tests for `kmeans`, which
have been lacking.

Before releasing this, we may want to make a second breaking change:
currently, ImageSegmentation provides a new meaning for
`Matrix{Gray{T}}` than Clustering.jl provides for `Matrix{T}`.
This breaks our abstraction that `Gray ≈ Number`.
A way to fix that would be to have `ImageSegmentation.kmeans`
be a different function from `Clustering.kmeans`, and obviously
have the one in ImageSegmentation call the one in Clustering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant