| | 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"}) |
| |
|
| |
|
| | |
| | def bsi(nir, red, blue, green): |
| | return ((nir+green-(red+blue))/(nir+green+red+blue+EPS)) |
| | |
| |
|
| | |
| | def sr(nir, red): |
| | return (nir)/(red+EPS) |
| |
|
| |
|
| | |
| | def ndvi(nir, red): |
| | return (nir-red)/(nir+red+EPS) |
| |
|
| | |
| | def evi(nir, red, blue): |
| | return (2.5*(nir-red))/(nir+6*red-7.5*blue+1+EPS) |
| |
|
| |
|
| | |
| | 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)) |
| |
|