[GRASS-user] Question about MODIS band 5 destriping?

Dear MODIS-experts,

I attempted to de-stripe a MODIS band 5 (periodic striping) with FFT and
manual masking in the frequency domain (as explained in Introductory
Digital Image Processing, Jensen & the 2nd GRASS-book, Neteler &
Mitasova).

I am not really satisfied with my results. Is there another de-striping
method through GRASS?

(I did not try with "donut" filters in the frequency domain yet
anything).

Thank you,

Nikos

On Wed, Apr 9, 2008 at 1:52 PM, Nikos Alexandris
<nikos.alexandris@felis.uni-freiburg.de> wrote:

Dear MODIS-experts,

I attempted to de-stripe a MODIS band 5 (periodic striping) with FFT and

Which data do you use here (just curious)? The raw bands?

manual masking in the frequency domain (as explained in Introductory
Digital Image Processing, Jensen & the 2nd GRASS-book, Neteler &
Mitasova).

I am not really satisfied with my results. Is there another de-striping
method through GRASS?

(I did not try with "donut" filters in the frequency domain yet
anything).

I think that the strange i.fft file format is an obstacle here. AFAIK it
is not saved as "normal" raster file which limits the possibilities to
elaborate. Maybe I am wrong, don't quite remember well..

Markus

Markus Neteler wrote:

I think that the strange i.fft file format is an obstacle here. AFAIK it
is not saved as "normal" raster file which limits the possibilities to
elaborate. Maybe I am wrong, don't quite remember well..

No, you're quite correct.

i.ifft ignores the actual input map, reading the data from the fftreal
and fftimag files created by i.ifft. So you can't modify the i.fft
output with e.g. r.mapcalc than use i.ifft on the result. The only
modification which can be performed on the FFT data is masking; i.ifft
reads the mask separately and applies it to the data.

--
Glynn Clements <glynn@gclements.plus.com>

On Wed, Apr 9, 2008 at 6:11 PM, Glynn Clements <glynn@gclements.plus.com> wrote:

Markus Neteler wrote:

> I think that the strange i.fft file format is an obstacle here. AFAIK it
> is not saved as "normal" raster file which limits the possibilities to
> elaborate. Maybe I am wrong, don't quite remember well..

No, you're quite correct.

i.ifft ignores the actual input map, reading the data from the fftreal
and fftimag files created by i.ifft. So you can't modify the i.fft
output with e.g. r.mapcalc than use i.ifft on the result. The only
modification which can be performed on the FFT data is masking; i.ifft
reads the mask separately and applies it to the data.

Could we change this for GRASS 7? Possibly there was a reason
to implement it as private solution but hopefullyx we can work around
that.

Markus

Markus Neteler wrote:

> > I think that the strange i.fft file format is an obstacle here. AFAIK it
> > is not saved as "normal" raster file which limits the possibilities to
> > elaborate. Maybe I am wrong, don't quite remember well..
>
> No, you're quite correct.
>
> i.ifft ignores the actual input map, reading the data from the fftreal
> and fftimag files created by i.ifft. So you can't modify the i.fft
> output with e.g. r.mapcalc than use i.ifft on the result. The only
> modification which can be performed on the FFT data is masking; i.ifft
> reads the mask separately and applies it to the data.

Could we change this for GRASS 7? Possibly there was a reason
to implement it as private solution but hopefullyx we can work around
that.

The main issue is that you can't store both the real and imaginary
components (or, alternatively, magnitude and phase) in a single map.

The other issues (e.g. the fact that an array of FFT coefficients
isn't actually geodata) can probably be fudged around.

--
Glynn Clements <glynn@gclements.plus.com>