I am looking at a region in the Alaskan tundra, there are plenty of small water bodies in my scene.

I need to mask these bodies, so that I can perform a surface temperature/emissivity normalization scene on only these water bodies. The ultimate product is to look at the original scene, and overlay the temperature masks unto the bodies of water.

How can I do this?

Edit: I am relatively new to ENVI, but I have tried doing a NDWI with band math.. It created a scene in which it identified possible water bodies in white and the rest in black. I could not figure out how to create a shapefile out of the white bodies it identified..

I have also considered classifying the water bodies but I am not sure how to go about this and ultimately create a mask.

I am working with Landsat 8 Data.


1 Answer 1


You are the right way. Follow this process

  1. Calculate MNDWI with Band using (b1 - b2)/(b1 + b2) where b1 is green band and b2 is SWIR1. Read this paper for more information about MNDWI.
  2. Also with Band math, create the water mask. Use (b1 le 0)*0 + (b1 gt 0)*1 using MNDWI result. Where le is lower/equal than b1 and gt greater than b1.
  3. Go to Vector / Raster to vector and convert it. This will result in a .evf file, to save as shapefile use Vector / Classic EVF to Shapefile.


  • Thank you so much! This is exactly what I needed. I was able to create the shapefile of the water bodies, layer stack the mask and temperature file, then apply it to the temperature scene. I now have a temperature scene only showing the temperatures of the water bodies with everything else as zero. Your answer was well written, clear and easy to follow. Thank you so much for the help!
    – bonzoon
    Nov 26, 2016 at 2:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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