[Boost.GIL] GSoC 2020 Project 1 - Seeking Mentor
Hi, I am a final year undergraduate student from IIT Khraragpur. I was interested in the project “Image Processing Algorithms” to be developed during GSoC 2020. I was mainly interested in implementation of Morphological IP Algorithms, Normalising channels and De-noising filters. I have a good knowledge about most of these algorithms and have worked with a lot of them as a part of my BTech Term Project. In addition to the list of algorithms provided for morphology, I had some other filters which I think could be implemented easily such as - Boundary Extraction, Hole Filling, Thinning and Thickening algorithms. Similarly, for de-noising filters, I was wondering if filters such as Conservative Smoothing, Adaptive Filters etc. could be added to the list. For my competency test, I was interested in doing the implementation of convolution filter and use it to detect edges. However, I did not understand where should I be posting my submission for the same. I have done my previous internship at Google India, where I implemented my code in Google’s Production server in C++, thus I also have the experience of writing good industry level code. I wanted to know if someone would be willing to mentor me for this project. Thanking you in advance. Regards Ayush Bansal Fifth Year Undergraduate Student Department of Computer Science and Engineering IIT Kharagpur
On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost
In addition to the list of algorithms provided for morphology, I had some other filters which I think could be implemented easily such as - Boundary Extraction, Hole Filling, Thinning and Thickening algorithms.
Similarly, for de-noising filters, I was wondering if filters such as Conservative Smoothing, Adaptive Filters etc. could be added to the list.
Please, feel free to add those algorithms to the wish-list table on this wiki https://github.com/boostorg/gil/wiki/Image-Processing-Algorithms
For my competency test, I was interested in doing the implementation of convolution filter and use it to detect edges.
FYI, please watch https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 as the GIL competency test section may receive some updates during next days.
However, I did not understand where should I be posting my submission for the same.
See the relevant section on the template page at https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-Submission-T... Also, here is what the old Boost Wiki from previous years say, e.g.: https://svn.boost.org/trac10/wiki/SoC2015 "Submission of the programming test should be via copying and pasting what you wrote into the end of the proposal you submit to Google Melange." Basically, you will be writing your GSoC project proposal to submit to Google and that should include the competency test, e.g. copied relevant bits of code or links to your GitHub repository with your competency test project.
I wanted to know if someone would be willing to mentor me for this project.
Yes, as per the wiki https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 there are at least two people willing to mentor for GIL during GSoC 2020. Keep in mind, it is still early - it's a good idea to check GSoC timeline though. Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
On Thu, 30 Jan 2020 at 15:31, Mateusz Loskot
On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost
wrote: I wanted to know if someone would be willing to mentor me for this project.
Yes, as per the wiki https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 there are at least two people willing to mentor for GIL during GSoC 2020. Keep in mind, it is still early - it's a good idea to check GSoC timeline though.
I forgot to mention, please don't forget to subscribe to Boost.GIL mailing list https://lists.boost.org/mailman/listinfo.cgi/boost-gil Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
On Thu, 30 Jan 2020 at 15:31, Mateusz Loskot
On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost
wrote: However, I did not understand where should I be posting my submission for the same.
See the relevant section on the template page at https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-Submission-T...
Also, here is what the old Boost Wiki from previous years say, e.g.: https://svn.boost.org/trac10/wiki/SoC2015 "Submission of the programming test should be via copying and pasting what you wrote into the end of the proposal you submit to Google Melange."
Basically, you will be writing your GSoC project proposal to submit to Google and that should include the competency test, e.g. copied relevant bits of code or links to your GitHub repository with your competency test project.
FYI, I have just proposed the Boost website update with the relevant details https://github.com/boostorg/website/pull/468 Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
Thank you for your reply. On Thu, Jan 30, 2020 at 8:01 PM Mateusz Loskot via Boost < boost@lists.boost.org> wrote:
On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost
wrote: In addition to the list of algorithms provided for morphology, I had some other filters which I think could be implemented easily such as -
Boundary
Extraction, Hole Filling, Thinning and Thickening algorithms.
Similarly, for de-noising filters, I was wondering if filters such as Conservative Smoothing, Adaptive Filters etc. could be added to the list.
Please, feel free to add those algorithms to the wish-list table on this wiki https://github.com/boostorg/gil/wiki/Image-Processing-Algorithms
I have added them in the wish-list.
For my competency test, I was interested in doing the implementation of convolution filter and use it to detect edges.
FYI, please watch https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 as the GIL competency test section may receive some updates during next days.
In order to get familiar with the GIL, I tried implementing a basic version of Erosion and Dilation. It would be really great for me if you could take a look at it and tell me if I could use it as part of my Competency test. Any other suggestions are also welcomed. https://github.com/ayushbansal07/GSOC_Boost/blob/master/morph.cpp
However, I did not understand where should I be posting my submission for the same.
See the relevant section on the template page at
https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-Submission-T...
Also, here is what the old Boost Wiki from previous years say, e.g.: https://svn.boost.org/trac10/wiki/SoC2015 "Submission of the programming test should be via copying and pasting what you wrote into the end of the proposal you submit to Google Melange."
Basically, you will be writing your GSoC project proposal to submit to Google and that should include the competency test, e.g. copied relevant bits of code or links to your GitHub repository with your competency test project.
I wanted to know if someone would be willing to mentor me for this project.
Yes, as per the wiki https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 there are at least two people willing to mentor for GIL during GSoC 2020. Keep in mind, it is still early - it's a good idea to check GSoC timeline though.
Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On Fri, 31 Jan 2020 at 03:24, Ayush Bansal via Boost
On Thu, Jan 30, 2020 at 8:01 PM Mateusz Loskot via Boost
wrote: On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost
wrote: For my competency test, I was interested in doing the implementation of convolution filter and use it to detect edges.
FYI, please watch https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 as the GIL competency test section may receive some updates during next days.
In order to get familiar with the GIL, I tried implementing a basic version of Erosion and Dilation. It would be really great for me if you could take a look at it and tell me if I could use it as part of my Competency test Any other suggestions are also welcomed. https://github.com/ayushbansal07/GSOC_Boost/blob/master/morph.cpp
Since your competency test solution aims to implement an algorithm an actual feature with potential of being useful as part of the GIL, then I'd suggest you to consider submitting it as a proper PR. IMHO, PR efforts come with numerous benefits for GSoC candidates, e.g.: - Makes you actively participate as part of the project community - Teaches the actual real life development workflow - Teaches workflows involving Git, GitHub - Teaches iterative workflows of PR reviews - Motivates you to aim for quality, e.g.: - compliance with contributor guidelines (makes you actually read them!) - necessity to work on tests (and, ideally, documentation) - Presents your code as part of the big picture, if/how it integrates with the library and not as a random project written using random build system following random personal conventions and preferences - Makes it easier for others to review your code - Uses of common CI builds to verify your code - Gives your efforts public visibility Don't be shy about submitting a PR with an unfinished code, a proof of concept, a code that you have more questions than answers about, a code that you have not tested using all toolsets/environments, etc. Have a look at PRs submitted by students last year https://github.com/boostorg/gil/pull/259 https://github.com/boostorg/gil/pull/258 If you read through the commentary you should get a basic understanding of how things work :-) Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
Yes, I am really interested in submitting a PR for the same. Could please help me with how to get started? I was planning to implement a file named morph.hpp in boost/gil/image_processing module. Also was there any previous discussion about implementation of dilation and erosion which I should keep in mind? Also, what would be the most convenient mode of discussion for you in case I have any further doubts? Finally, Thank you so much for taking the time to help me out. :) On Fri, Jan 31, 2020 at 10:16 PM Mateusz Loskot via Boost < boost@lists.boost.org> wrote:
On Fri, 31 Jan 2020 at 03:24, Ayush Bansal via Boost
wrote: On Thu, Jan 30, 2020 at 8:01 PM Mateusz Loskot via Boost < boost@lists.boost.org> wrote:
On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost < boost@lists.boost.org> wrote:
For my competency test, I was interested in doing the implementation
of
convolution filter and use it to detect edges.
FYI, please watch https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 as the GIL competency test section may receive some updates during next days.
In order to get familiar with the GIL, I tried implementing a basic version of Erosion and Dilation. It would be really great for me if you could take a look at it and tell me if I could use it as part of my Competency test Any other suggestions are also welcomed. https://github.com/ayushbansal07/GSOC_Boost/blob/master/morph.cpp
Since your competency test solution aims to implement an algorithm an actual feature with potential of being useful as part of the GIL, then I'd suggest you to consider submitting it as a proper PR.
IMHO, PR efforts come with numerous benefits for GSoC candidates, e.g.: - Makes you actively participate as part of the project community - Teaches the actual real life development workflow - Teaches workflows involving Git, GitHub - Teaches iterative workflows of PR reviews - Motivates you to aim for quality, e.g.: - compliance with contributor guidelines (makes you actually read them!) - necessity to work on tests (and, ideally, documentation) - Presents your code as part of the big picture, if/how it integrates with the library and not as a random project written using random build system following random personal conventions and preferences - Makes it easier for others to review your code - Uses of common CI builds to verify your code - Gives your efforts public visibility
Don't be shy about submitting a PR with an unfinished code, a proof of concept, a code that you have more questions than answers about, a code that you have not tested using all toolsets/environments, etc.
Have a look at PRs submitted by students last year https://github.com/boostorg/gil/pull/259 https://github.com/boostorg/gil/pull/258 If you read through the commentary you should get a basic understanding of how things work :-)
Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On Fri, 31 Jan 2020 at 20:42, Ayush Bansal via Boost
Yes, I am really interested in submitting a PR for the same. Could please help me with how to get started?
I suggest quite the usual path into contributing to an open source project 1. https://github.com/boostorg/gil/blob/develop/README.md 2. https://github.com/boostorg/gil/blob/develop/CONTRIBUTING.md and any references from there. 3. https://blog.codinghorror.com/learn-to-read-the-source-luke/ There is collection of PRs and issues submitted during GSoC 2019, all gathered as part of the IPA project here https://github.com/boostorg/gil/projects/5 You may find it useful to check some of the PRs, see how they were reviewed, etc.
I was planning to implement a file named morph.hpp in boost/gil/image_processing module.
Sure, why not. If morph.hpp or morphing.hpp or other name, that is part of discussion during PR review.
Also was there any previous discussion about implementation of dilation and erosion which I should keep in mind?
I don't remember, but there are (searchable!) archives: https://lists.boost.org/search/boost/cgi-bin/swish.cgi?query=dilation https://lists.boost.org/search/boost/cgi-bin/swish.cgi?query=erosion https://lists.boost.org/search/boost-gil/cgi-bin/swish.cgi?query=dilation https://lists.boost.org/search/boost-gil/cgi-bin/swish.cgi?query=erosion
Also, what would be the most convenient mode of discussion for you in case I have any further doubts?
Begin with the boost-gil mailing list. Check the README linked above for options. If we get stuck with C++ or other issues, we can always ask other Boost developers for help posting to this mailing list (it is usually high volume list, so better post specific topics for boost-gil) Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
On Thu, 30 Jan 2020 at 15:31, Mateusz Loskot
On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost
wrote: For my competency test, I was interested in doing the implementation of convolution filter and use it to detect edges.
FYI, please watch https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 as the GIL competency test section may receive some updates during next days.
As mentioned earlier, I have just added bonus project to the GIL competency test at https://github.com/boostorg/boost/wiki/Google-Summer-of-Code:-2020 Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
I have implemented the erosion and dilation algorithms. I have tried to follow all the instructions from the guidelines. I wanted to know if you could have a look at it and tell me if it's ready for a PR review? My implementation can be found in this commit. https://github.com/ayushbansal07/gil/commit/f9105e6f030a0cc4c806ebe4024f6895... Here, I implemented the 1. algorithms in file - include/boost/gil/image_processing/morph.hpp 2. an example in file - example/morph.cpp 3. Ran erosion and dilation on example/test_adaptive.png and saved the output files in example/dilated_image.png and example/eroded_image.png I also ran erosion and dilation using openCV on the above file and found same effects on output file. Please let me know of your thoughts. On Sat, Feb 1, 2020 at 5:31 AM Mateusz Loskot via Boost < boost@lists.boost.org> wrote:
On Thu, 30 Jan 2020 at 15:31, Mateusz Loskot
wrote: On Thu, 30 Jan 2020 at 15:05, Ayush Bansal via Boost < boost@lists.boost.org> wrote:
For my competency test, I was interested in doing the implementation of convolution filter and use it to detect edges.
FYI, please watch https://github.com/boostorg/boost/wiki/Google-Summer-of-Code%3A-2020 as the GIL competency test section may receive some updates during next days.
As mentioned earlier, I have just added bonus project to the GIL competency test at https://github.com/boostorg/boost/wiki/Google-Summer-of-Code:-2020
Best regards, -- Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On Sat, 1 Feb 2020, 13:56 Ayush Bansal via Boost,
I have implemented the erosion and dilation algorithms. I have tried to follow all the instructions from the guidelines. I wanted to know if you could have a look at it and tell me if it's ready for a PR review?
It is ready for PR when you think it is ready. If during review any GIL developer will think it is not yet ready, you'll receive comment. There's no need for pre-review before review. PR review usually is an interative process. I believe explained that in my previous email. Mateusz Loskot, mateusz@loskot.net (Sent from mobile, may suffer from top-posting)
participants (2)
-
Ayush Bansal
-
Mateusz Loskot