I want to work with landsat 7 images for land cover and NDVI evaluation. There are strips in the landsat images, and I don't know how to remote them. I have learned methods for gapfill but I don't know how to work with. I also used Erdas 2011 (focal analysis) for the processing but I see no result. I have also a sort of gap mask download with my landsat 7 images but I don't know how to use it.

How should I deal with the striping?

  • 1
    In Erdas Imagine, there is a option 'Destripe TM Data'. Have you tried this? – Sandhya Jan 27 '14 at 9:58
  • yes, i tried destripe TM data in erdas 2011, but the lines of stripes remain the same and they do not disappear. – aqid Jan 27 '14 at 20:38

The strip come frome the SLC of Landsat that is off since May 31, 2003. I do not think that it is a good idea to try filling those gaps because the land cover may change abruptly so you cannot really interpolate. The workaround is to use several images in order to have at least one valid pixel per location.

  • or to fill in with a nearest neighbor or most common value w/in a neighborhood. – Roland Jan 27 '14 at 16:44

you might not have dealt with the settings effectively using focal analysis. You need to make sure:

  1. The output is "Unsigned 8 bit"
  2. In the Function definition, function is mean or any other suited for your de-striping technique
  3. The drop down is "Ignore specified values" i.e. 0
  4. The second drop down is "Apply only at specified values" i.e. 0

This will de-strip the image, just repeat the process multiple times, keeping in mind the steps above. Each time you apply focal analysis a portion of your image is de-striped, apply again on the new image and see the difference, repeat until you find your desired output. :)


Instead of Landsat 7 you can look into using Landsat 5 data. Landsat 5 covers the same time period that Landsat 7 covers without the SLC issue, but it does not have the higher resolution panchromatic band.


I solved the problem by using this:

  var filled1a = image.focal_mean(1, 'square', 'pixels', 2)
  return filled1a.blend(image);

I obtained the information from: http://www.acgeospatial.co.uk/time-series-on-landsat-data-gee/

He uses it like this:

var L7coll = ee.ImageCollection('LANDSAT/LE07/C01/T1_SR')
.select(['B3', 'B2', 'B1'])
  var filled1a = image.focal_mean(2, 'square', 'pixels', 1)
  return filled1a.blend(image);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.