I'm thinking that the problem may be related to the no data values in your file. When you import this image into ENVI, what values do you see for the pixels with no data values? For example, if you click the Cursor Value tool then browse around in the parts of your image with no data? Are the pixel values shown as 0? Or NaN (not a number)? My guess is that they are interpreted as NaN, which is is a numeric data type value representing an undefined or unrepresentable value. NaN is not available for integer data types, because there is no undefinable integer. So that is probably why your data have been converted to floating point, which can have NaN values. ENVI does not really have a concept of "no data".
So, in general, I recommend that you make a mask image that is the same dimensions as your image and has pixel values of 1 where you want to do processing, but pixel values of 0 in the shadow areas that you want to leave out of processing. Then when you go to apply classifications, you can specify the mask band to tell ENVI which areas to leave out of the classification.
Now, when you browse with the Cursor Value tool on the areas that don't have no data (sorry for the double negative) do you see reasonable pixel values? I am guessing that the reason the new image looks black and white in ENVI Classic is that the NaN values where you don't have data are messing up the calculation of the histogram used for the image stretch. But that if you apply a custom stretch and play around enough, you can probably see real image data in those areas. It sounds like the default ENVI interface handles NaN values better during the contrast stretch.
In ENVI 5.2 there is a ROI tool in the default interface. So if there is another problem with the way ENVI is reading your data, perhaps it will be gone in ENVI 5.2.
Beyond this point, I'm not sure I understand what you are describing, so it's difficult to comment. It sounds like your ROIs result in a decent classification of the original image. But when applied to the shadow-free image, which contains all of the NaN values (I'm guessing), the results are not good. I think again here it may be the NaN pixel values messing up the image and ROI statistics on which the classification is based.
My guess about ENVI not responding when you try to read your integer version of the data is that ENVI doesn't know what to do with pixels that don't have values but are integer data type. ENVI really expects to find a valid value in the specified data type for every pixel in an image.
Peg
Exelis VIS
|