#include "vegetation_index.h" namespace image { namespace vegetation_index { Image NDVI(Image redIm, Image nirIm) { Image out(redIm.width(), redIm.height(), 1); for (size_t i = 0; i < redIm.size(); i++) { float red = redIm[i]; float nir = nirIm[i]; out[i] = (((nir - red) / (nir + red)) + 1) * 32726; } return out; } Image EVI2(Image redIm, Image nirIm) { Image out(redIm.width(), redIm.height(), 1); for (size_t i = 0; i < redIm.size(); i++) { float red = redIm[i]; float nir = nirIm[i]; out[i] = 2.5 * (((nir - red) / (nir + 2.4 * red + 1)) + 1) * 32726; } return out; } Image EVI(Image redIm, Image nirIm, Image blueIm) { Image out(redIm.width(), redIm.height(), 1); for (size_t i = 0; i < redIm.size(); i++) { float red = redIm[i]; float nir = nirIm[i]; float blue = blueIm[i]; out[i] = 2.5 * (((nir - red) / (nir + 6 * red - 7.5 * blue + 1)) + 1) * 32726; } return out; } } }