Added implementation for KMeans algorithm in GIL#587
Added implementation for KMeans algorithm in GIL#587Sayan-Chaudhuri wants to merge 8 commits intoboostorg:developfrom
Conversation
This is an implementation of Kmeans Clustering algorithm for Boost GIL. The input image filename(absolute/relative) must be passed as a command line argument.During execute ,input the required number of iterations and K value that indicates number of clusters. Output is stored in the file named output-kmeans.tif I have attached the example output of my implementation for the input image frog.jpg(attached),and number of clusters and iterations being 10 and 1 respectively. I would request the community to kindly provide feedback for my implementation I would also like to use the implementation of this algorithm for my gil competency test for GSOC 2021.
|
This algorithm is used everywhere so shouldn't this be introduced as a usable functionality of the library instead of an example? |
lpranam
left a comment
There was a problem hiding this comment.
we don't have to provide output file
|
I had thought that first my implementation will be checked whether its working correctly or not and so I did it in the form of an example. But if you suggest, I shall make it in the form of a usable functionality and then raise a pull request. I am also removing the output files following your suggestion. |
|
First example and then the actual implementation just increases the amount of work reviewers and you will have to do. Let's just review the final thing. |
Turned the example file into a usable functionality(.hpp) for KMeans Clustering as suggested by lPranam and added it to the image_processing folder of boost.
Codecov Report
@@ Coverage Diff @@
## develop #587 +/- ##
===========================================
+ Coverage 78.59% 78.72% +0.13%
===========================================
Files 117 118 +1
Lines 5003 5034 +31
===========================================
+ Hits 3932 3963 +31
Misses 1071 1071 |
|
@lpranam I have made the necessary changes as suggested . |
|
new functionality also needs tests... |
|
@lpranam Ok,I shall soon make the changes and update here |
|
@lpranam Is it ok if for the test file I keep a static dataset? I saw the test files of other algorithms where they have fixed the input and expected output data like the pixel value of images |
|
@Sayan-Chaudhuri yes, as far as it covers the cases it is okay. |
|
@lpranam I wish to upload the test file along with the KMeans implementation but I want to clarify certain things.
If you can kindly find time to clarify these doubts, I will be highly grateful. |
|
Upon your clarification, I shall push the files accordingly |
|
you should upload it if, it does not fit then obviously can be removed but need to have look. |
|
can also you PR must pass all the CI checks |
|
Added a new header file for Kmeans |
|
@lpranam I have also added the test file |
|
Hi @Sayan-Chaudhuri ,
I don't think this is related to any changes made by you in this PR, you should probably update this branch with latest develop branch of boost Gil. PS : I encountered a similar error here |
|
@meshtag how to do so what you have mentioned? |
|
There are a couple of ways to do this, you can look here to understand some common ones. |
Please, read the CONTRIBUTING.md on updating your PR. Not to mention the lazy button-based way recently offered by GitHub |
This is an implementation of Kmeans Clustering algorithm for Boost GIL. The input image filename(absolute/relative) must be passed as a command line argument.During execute ,input the required number of iterations and K value that indicates number of clusters.
Output is stored in the file named output-kmeans.tif
I have attached the example output of my implementation for the input image frog.jpg(attached),and number of clusters and iterations being 10 and 1 respectively.
I would request the community to kindly provide feedback for my implementation
I would also like to use the implementation of this algorithm for my gil competency test for GSOC 2021.
Description
References
Tasklist