PCA Image Classification tool produces actual background data

749
6
08-05-2017 06:02 AM
AdamBorczyk
New Contributor III

This might be a simple question, but I can't find a way to fix it. After creating a Principal Components image from Image Classification toolbar, I get a red fill around the image up to a size of a square in which the image could be fitted in - see image1 attached. The problem is these are not some NoData areas, but regular values: in this case R: 65535, G: 0, B: 0 (or different solid color, depending on order of bands in composite bands menu).

I can try setting "Display background value:(R, G, B)" to "No fill", but it just doesn't show the color, but the values are still there. This will surely affect my analyses.

While creating the PC image saw in Environments, that Raster Storage -> NoData = NONE is set by default. I also set processing extent to the extent of one of supplying rasters (from which none have those strange background fill, because they are Landsat bands). I tried to input a composite of 7 bands into the tool or each band individually, both with same result of this background fill.

Important: when executing the tool into Default.gdb it works fine! Only with any other custom location it gets crazy. I read about this kind of a bug with exporting rasters, but I think this case if different.

Is there any way to get rid of it without having to clip the raster?

Using latest build of ArcMap 10.5.

P.S. I'm sorry if this is not the appropriate space to post it - I couldn't find a better one.

Tags (2)
0 Kudos
6 Replies
DanPatterson_Retired
MVP Esteemed Contributor

you wouldn't have an extra band in there by any chance would you

0 Kudos
AdamBorczyk
New Contributor III

If I understand correctly - no, all of the bands (7) are coming straight from Landsat SR image and none have additional background data.

0 Kudos
JayantaPoddar
MVP Esteemed Contributor

Looks like the bit depth got promoted (from 8-bit to 16-bit).

What happens if you change the NoData properties of the image from ArcCatalog.

In ArcCatalog, open the Properties of the particular image > Click Edit next to NoData Value parameter

Define 65535 as the NoData Value for the bands. 

Add the image to ArcMap. Does the issue persist?



Think Location
0 Kudos
AdamBorczyk
New Contributor III

Thank you for your suggestion. I changed all of the values as you said:

But it is quite complicated here. It worked only for one band of one band combination (the default), leaving G and B bands with 0,0000.

But after changing band order in Symbology tab, I get back those background fill but this time with values 0,000000.

It might be what you said - different variable type. Original data is 16-bit signed int, while I see it got 32-bit float after doing Principal Components. Can I somehow stick to 16/32-bit signed int? I can't see this in Environments, it may help here. I see images that I saved into Default.gdb work fine and are 32-bit signed int.

0 Kudos
DanPatterson_Retired
MVP Esteemed Contributor

Image formats indicate 32 bit for tiff see if anything in this link will help, perhaps it is possible to reclass your nodata to a lower bit range

0 Kudos
AdamBorczyk
New Contributor III

I observed a strange behaviour - when I produce PC and have "Calculate statistics" checked inside "Environments", the problem appears.

But if set it unchecked, I get correct image. Then I only have to run another process for calculating stats, but at least it helps. I observed pixel depth doesn't matter here, at least if we're speaking about 16/32 bit signed int, unsigned int or float. Thank you Dan_Patterson‌ and jayanta.poddar‌ for your comments, these helped me to solve (I think) the issue.