import numpy as np import seaborn as sns import matplotlib.pyplot as plt EPS = 1e-10 def set_style() -> None: sns.set(font='serif') sns.set_style("darkgrid", { "font.family": "serif", "font.serif": ["umr10", "Times", "Palatino", "serif"] }) plt.rcParams.update({"mathtext.fontset": "cm", "mathtext.rm": "serif"}) # 138, 74, 18, 43 def bsi(nir, red, blue, green): return ((nir+green-(red+blue))/(nir+green+red+blue+EPS)) # 138, 74 def sr(nir, red): return (nir)/(red+EPS) # 138, 74 def ndvi(nir, red): return (nir-red)/(nir+red+EPS) # 138, 74, 18 def evi(nir, red, blue): return (2.5*(nir-red))/(nir+6*red-7.5*blue+1+EPS) # 138, 74, 18 def osavi(nir, red, blue): return (nir-red)/(nir+red+0.16+EPS) def osavi2(nir, red, blue): n = improve_img_levels(nir) r = improve_img_levels(red) b = improve_img_levels(blue) return (1+0.16)*((nir-red)/(nir+red+0.16+EPS))