This question was marked as being a duplicate of Landsat8 NDVI values not in the -1 to 1 range but I've posted my question because:
- I am not using Landsat; and
- there was no explanation of how to resolve the problem. How would one use conditional logic to rectify the problem?
If it's negative reflectance in the red band causing me grief, why would some of my NDVI maps look fine and others look like the ones in the screenshot? All acquisition dates have negative reflectance in the red.
I used Con() statements to rescale my reflectance maps for a single acquisition date between values of 0 and 1 as per the other thread. I now get a max NDVI of 1 which is good, but my minimum is still negative (< -800). Kind of at my wits end at this point. An NDVI of -800 is mathematically impossible if the reflectance range is 0 to 1.
I am trying to radiometrically calibrate UAV imagery collected using filter-modified digital cameras sourced from Sensefly. In the field, I had a Spectralon tile (99% reflective in the VIS-NIR spectra) in addition to a black ceramic tile. I used a hyperspectral ground sensor with incident light sensor to measure the black tile during and after each flight. Images were processed through eMotion into 12-bit TIFF format then orthomosaiked using Pix4D.
I used ArcGIS to extract mean pixel values for the tiles. Spectralon means had to be extracted separately using individual images shot on the ground since the tile is only 3x3 inches. The multiband orthos were split into single bands using Arc as well. I then ran a linear regression (PROC REG in SAS) between the mean pixel value in a given channel and the closest ground sensor channel. Since then, I've slowly been applying the regression equations to the respective bands using the raster calculator.
My problem is that my NDVI values calculated using the calibrated imagery do not make any sense at all. The min/max ranges go from -600 to well over 2000, sometimes even 2 x 10^6! Pix4D also has a built into radiometric calibration tool which uses only a Spectralon tile (I've since been told that 99% reflectivity is too much for this tool) and the NDVI values I calculated using those reflectance maps generally make sense, but mine should be better since I use 2 tie points instead of 1.
To make matters more confusing, I have one flight (see below) where I had a black, a camo-green, and a white ceramic tile in addition to the Spectralon. That calibration looks beautiful. I also have 2 flights with black, green, and Spectralon tiles.
Attached are several screenshots from Arc that show the min/max NDVI values from the two custom calibration methods. I have one from Pix4D but I do not have the reputation to attach it.