I am confused with the plant health index (NDVI) results between WebODM and QGIS. It would be much appreciated that if someone can help me understand which one is correct.
The orthophoto is processed with DJI P4 multispectral cameras. The sensor index is Blue/Green/Red/Re/NIR.
I would hazard this is a sampling issue: if you sample all the pixels to generate the stats in each case, and you use the same index, the range should be the same. But rarely do we use all the pixels in these summaries, because it is computationally expensive.
A full check would include running both the WebODM calculated version and the QGIS calculated version through stats using a tool like GDAL and forcing GDAL to use all values in the stats. Even then, if there are small differences in how the floating point numbers are addressed you could see small differences, but probably not as large a difference as you are seeing here.
Hi Stephen,
Thanks for your help.
I modified the QGIS resampling settings as “Oversampling: 1”, the Min/Max of QGIS NDVI changed to [-0.109, 0.900]. The previous settings is Oversampling : 4 pixels.
However, I still doubt the result of WebODM NDVI region as [0.990, 1.000]. Do I choose the correct Filter option?
Ah good point. I misread the range: that’s not a sampling issue. My guess it’s a band assignment issue. I’m not the one to help with that question at the moment, but hopefully someone will hop on and help out.
It’s probably an issue of band assignment in WebODM (due to the fact that this is a 6-channel TIFF). I bet it’s using the alpha channel as a value. Probably a bug. I would open an issue on Issues · OpenDroneMap/WebODM · GitHub attaching a copy of the orthophoto file (or better yet, contribute a pull request if you’re able to).