Boost logo

Boost :

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
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
> test.

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.

Best regards,

Mateusz Loskot,

Boost list run by bdawes at, gregod at, cpdaniel at, john at