Landsat 7 ETM+ SLC-Off Gap Filling Problems

I haven't taken much notice of Satellite Images since Google Maps/Earth released them as a base layer and I did my UNIGIS Course back in 2004. I hadn't even been aware that this particular mid-resolution satellite's scanner had become permanently damaged, thus producing stripes of 'no data' in each band produced.

I initially looked to GRASS GIS sure that it would have a solution but alas not as yet until the release of a long overdue module. I've tried 'r.fillnulls', 'r.neighbors' and 'r.patch' but no luck. I found out about the 'frame_and_fill_win32' the NASA solution based on the 'ENVI' IDL Virtual Machine and after some effort it worked on all bands except the 'B80 pan-sharpening band' (on Windows), on the Mac it is a £2,700 hit for a 1 year license... hmm maybe not!. Onward and forward to another link:

but alas another promise that ended abruptly...oh there has to be a free and easy to use solution because this satellites' scan line corrector became damaged in 2003. Well, for once i've had to own up and admit to having to fork out $49 for a 'Pancroma' license, yes it's proprietary but it works well and has a lot of control over the images produced. On another plus side it works well on Mac OS X under 'Wineskin Winery' (the wine wrapper that will allow windows apps to work like a native mac app) but with no windows licence required.

Come on GRASS Team get this sorted.


  1. >>...oh there has to be a free and easy to use solution
    >>Come on GRASS Team get this sorted.

    I think GRASS team is far from preparing an easy solution for a particular problem/product. That is not the philosophy of the GRASS software. It is rather a compilation of generally usable small tools, with which you can do many thins by combining them. There might sooner arise such solution as a plugin (maybe there already is, I did not look recently).
    It seems the r.fillnulls command was designed to fill gaps which have character of small holes and as such needs the hole surrounded by valid pixels from all sides. I was trying to solve this problem by modifying r.fillnulls a year back, and came up with a script which works, but it is *very* slow if used on a whole Landsat scene (speaking of many hours here), so if you want to give it a try, try it first on a small region to get the idea. The script is based on interpolation, so for visual "invisibility" of the gaps, other solutions using scenes from other dates to fill the gaps would be better. This one should be better for quantitative studies of time-variable areas. Run it inside GRASS session to get GUI. Just use the input file also as gap mask if you do not have the gap_mask file. Of course, use it at your own risk, no warranty/liability. Download here.

    1. This comment has been removed by the author.

    2. PS: Should you have any questions, feel free to contact me by e-mail brunclik (at)
      PS2: I did not realize how old post I am commenting..
      Tomas Brunclik


Post a Comment

Popular posts from this blog

How to install Postgresql-9.6 and PostGIS-2.3 on Ubuntu 17.04 (Zesty Zapus) in six easy steps (updated 31-05-2017).

Qgis-server...Installation on Ubuntu 16.04 LTS

Qgis-server...Installing the QGIS Lizmap Plugin & Lizmap Web Client