From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2020-02-04 23:49:45
On Tue, 4 Feb 2020 at 16:11, deb via Boost <boost_at_[hidden]> wrote:
> Hi, I am a third year undergrad from IIT Bombay. I am interested in PROJECT
> 1: Image Processing Algorithms for BOOST.GIL .
> I have gone through the
> Getting started with Boost, Modular Boost Overview and Contributing page(on
> git repository for boost.gil) to get a fair idea of how Boost works.
Yup, great, that's what you need to get you going.
> I went over the boost Gil library looking for an implementation of FFT(Fast
> Fourier transform) but could not find one.
> Since it is listed as a suggested project topic for the GSoC 2020,
> I was hoping to implement it as part of my GSoC competency test.
Well, speaking as one of GIL development team members together
with Stefan, I agree with explanation posted by Stefan in
As a result of that consensus, I have just removed the FFT from
suggestions of the GSoC projects.
As Stefan explained, we would rather prefer to adapt third-party
implementations FFT for GIL which, presumably, would be hosted
as GIL extensions.
Although I have not given the FFT for GIL much consideration yet myself,
I, personally, think there is room in GIL for an extension with a classic
and not necessarily high-performance/optimal implementation of FFT
that would several purposes as:
- a proof of concept
- educational examples
- test stub exercising interface adapting an FFT implementation
The FFT adapter interface itself has never been discussed, AFAIK,
so any input is welcome here or on https://lists.boost.org/boost-gil/
However, such discussions and contribution of implementation
is likely beyond the scope of a GSoC project.
> I have a few questions though:-
> a. Should I try and implement 1D-DFT(using FFT) independent from 2D-DFT
> (which is the more popular among image processing algorithms) ?
I think this is answered by Stefan and myself above .
> b. Should I submit the above mentioned algorithms as separate PRs or as a
> single one?
Generally, it's a good idea to submit one PR per one functional feature.
> I am choosing FFT over other topics since it is an essential part of many
> image processing algorithms like Wiener filters, tomographic reconstructions
> etc. I have worked with image processing algorithms before on college
> projects and I think that I will be able to pull it off as a GSoC competency
The aim of the test is to show minimum required fluency in C++
and the subject Boost library, while a complete implementation
of an algorithm takes much more and is not what the GSoC
competency test is asking for.
As I have already mentioned to one of the other students keen in GIL,
a complete feature takes more than 100 lines of C++ code
of an algorithm implementation. It requires tests and docs.
BTW, during last year GSoC we did not quite succeeded as I planned
w.r.t. the docs especially and the tests could cover more too.
So, I'd expect we are going to raise the bar a bit higher this year :-)
Please, don't feel discouraged, just take it as a warning to avoid
overestimation of the work capacity required, as Stefan mentioned.
It's better to aim for less, a simpler task, but deliver it with
a complete excellent solution on time.
-- Mateusz Loskot, http://mateusz.loskot.net
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk