Skip to content
RS

FEZrs: a Python package for multispectral remote sensing

FEZrs is an open-source Python package for geospatial multispectral image processing and remote sensing. It computes spectral indices, filters, image enhancement, texture, PCA, clustering, change detection and SVM classification from GeoTIFF bands, and writes figures and georeferenced GeoTIFFs.

Python 3.11+PyPI and condaApache-2.0JOSS paper under review

FEZrs: one calculator API for multispectral analysis

FEZrs is an open-source Python package for geospatial multispectral image processing and remote sensing. It brings indices, filters, enhancement, texture, PCA, clustering, change detection and SVM classification into a single, consistent framework for research and teaching.

PyPI downloads since 2025
100k+
Operations
37
Distributed on
PyPI + conda
License
Apache-2.0

The same three lines for every operation

Every calculator inherits one base class, so an NDVI, a Sobel filter and a K-Means classification are called the same way. No plotting or raster I/O code is needed.

  1. 1

    Import a calculator

    Pick the operation you need from the fezrs package.

  2. 2

    Point it at your bands

    Pass the GeoTIFF band paths the method requires, such as NIR and red.

  3. 3

    Export the result

    execute() writes a publication-ready figure; to_raster() then writes a georeferenced GeoTIFF with the source CRS and transform.

ndvi.py
from fezrs import NDVICalculator

ndvi = NDVICalculator(nir_path="B5.tif", red_path="B4.tif")
ndvi.execute(output_path="./outputs")

# Optional: full-precision GeoTIFF for GIS
ndvi.to_raster(output_path="./outputs/ndvi.tif")
$ pip install fezrs

Modules

Thirty-seven calculators in five groups, as listed in the FEZrs paper. Each name maps to a class, so NDVI is NDVICalculator.

Change detection

  • Burn
  • Indices
  • MagDir
  • SubDiv
  • Time

Filters

  • Gaussian
  • Laplacian
  • Mean
  • Median
  • Sobel

Image enhancement

  • Original
  • Float
  • Equalize
  • Adaptive
  • Gamma
  • LogAdjust
  • SigmoidAdjust
  • OriginalRGB
  • EqualizeRGB
  • AdaptiveRGB
  • GammaRGB

Spectral indices

  • AFRI
  • BI
  • NDVI
  • NDWI
  • SAVI
  • UI

Additional tools

  • KMeans
  • GLCM
  • HSV
  • IRHSV
  • Mosaic
  • PCA
  • SpectralProfile
  • SVM

Satellite-specific helpers (Landsat 8 and GeoEye) are also included.

Built on

  • NumPy
  • Rasterio
  • GDAL
  • OpenCV
  • scikit-image
  • scikit-learn

Real outputs, unedited

Every image below was produced by FEZrs from multispectral scenes in the project's example folder. Select an operation to view its output.

Gaussian output computed with FEZrs
GaussianCalculatorGaussian smoothing suppresses high-frequency noise while keeping broad spatial structure.

Compare two outputs of the same scene

Drag the handle to move between the two results.

GaussianSobelSobelGaussian
Gaussian smoothing and Sobel edge detection on the same agricultural scene.
HSVK-MeansK-MeansHSV
HSV transform and K-Means clustering on the same coastal scene.

Questions about FEZrs

What is FEZrs?

FEZrs is an open-source Python package for geospatial multispectral image processing and remote sensing. Its 37 operations share one calling pattern: create a calculator with the band paths, call execute() for a figure, and to_raster() for a GeoTIFF.

How do I install FEZrs?

Run pip install fezrs, or install it from the FEZtool channel on Anaconda with conda install -c FEZtool fezrs or mamba install FEZtool::fezrs. FEZrs needs Python 3.11 or later.

Which spectral indices does FEZrs compute?

NDVI, NDWI, SAVI, AFRI, BI (bare-soil index) and UI (urban index). Each is a calculator class, so NDVI is NDVICalculator.

Can FEZrs write georeferenced GeoTIFFs?

Yes. execute() saves a figure of the result; to_raster() then writes the full-precision array as a GeoTIFF with the source CRS and affine transform, ready for GIS software.

Is FEZrs free to use?

Yes. FEZrs is released under the Apache-2.0 license, and its documentation under CC BY 4.0.

How do I cite FEZrs?

Cite the archived release on Zenodo, doi:10.5281/zenodo.14938038. The software paper is under review at the Journal of Open Source Software; read the manuscript.

/html>