Skip to content

Free & Easy tools for Earth sciences

Open-source Python tooling for remote sensing, climate and geohazards.

Scientific software that is free to use and easy to learn

FEZtool is an open-source initiative building tools for Earth-science researchers, engineers and students. Every tool is released openly, documented in plain language, and designed so that a standard analysis takes a few lines of code rather than a bespoke toolchain.

Why “FEZ”
Free and EZ (easy). The name states the two commitments every FEZtool project is held to.
Licensing
Software is released under Apache-2.0. Documentation and other content are released under CC BY 4.0.
  • Geospatial analysis and remote sensing

    Processing of multispectral satellite and aerial imagery, from spectral indices to classification.

  • Earth and environmental research

    Methods for geology, land cover and environmental assessment that hold up in peer review.

  • Sustainable development and climate

    Analytics that support climate-change studies and the management of natural resources.

  • Open-source scientific computing

    Reproducible, tested Python packages built on the established scientific stack.

The FEZ ecosystem

Each tool covers one Earth-science domain and shares the same principles: open code, a small and consistent API, and documentation written for practitioners.

RSAvailable

FEZrs

Remote sensing

An open-source Python package for geospatial multispectral image processing and remote sensing: spectral indices, filters, image enhancement, change detection, clustering and classification behind one calculator API.

$ pip install fezrs
JOSS paper under reviewApache-2.0
FMLive

FEZfm

Fault and geohazard monitoring

Version 1 is an earthquake monitor. Every 30 minutes it collects reports from IRSC, USGS and EMSC, merges reports of the same quake, tags fault zones, significant events and active sequences, and publishes a feed, a map and downloadable data.

Sources
IRSC (Iran and adjacent areas), USGS and EMSC (worldwide)
Updates
Every 30 minutes, published to GitHub Pages
Data
An event feed, plus CSV, GeoJSON and Parquet downloads

A research tool, not an official earthquake warning service.

CC

FEZcc

Climate change

Climate-change analytics: trend detection and indicator calculation for climate and land-surface time series.

In planning

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.

Used in published research

FEZrs has been applied in peer-reviewed and conference work on land cover, multispectral analysis and engineering geology, and in field-based studies.

  • Merit Award, Ideator category 9th Iran National Young Scientists Festival

  • Software paper under review Submitted to the Journal of Open Source Software, with ten co-authors from the FEZrs project. Read the manuscript

  1. 2025, Kharazmi Journal of Earth Sciences 11(1)

    A Python-based framework for land cover classification in engineering geology: a comparative assessment of SVM, K-means, and spectral indices

    M. Talkhablou, M. Farmahini Farahani, S. Siah Mansouri

    SVM, K-Means and spectral indices

  2. 2024, 2nd International Conference for Iranian Geography and Earth Sciences Students

    Comparing the performance of the K-means clustering method and spectral indices in characterizing land use and land cover using remote sensing with Python (Landsat 8)

    K. Rezaei, M. Farmahini Farahani

    K-Means and spectral indices

  3. 2024, 8th Symposium of Sedimentological Society of Iran

    Application of PCA algorithm in remote sensing using Python programming language (Landsat 9 multispectral images)

    M. Farmahini Farahani, K. Rezaei, S. Karamollahi, F. Jafari Moghadam

    Principal component analysis

  4. Field study, Isfahan, Iran

    Geospatial analysis of the Torud Playa area

    FEZrs used for field-based remote sensing and geospatial workflows

    Multispectral analysis

Documentation

FEZdocs covers installation, the full API reference for every FEZrs calculator, and worked examples. It is released under CC BY 4.0 and maintained alongside the code.

Request a demo

Planning to use FEZrs in a course, a research group or a production workflow? Tell us about your data and goals, and we will walk you through the tools that fit.

You can also write to info@feztool.com.

FEZteam

The core team behind FEZtool. FEZrs itself is the work of ten paper co-authors and a wider group of contributors across Earth science and software engineering.

  • Portrait of Mahdi Farmahini Farahani

    Mahdi Farmahini Farahani

    Founder, Research & Development

    Geophysics PhD researcher at the Chinese University of Hong Kong. Leads the scientific direction of FEZtool and the design of the FEZrs methods.

  • Portrait of Mahdi Nedaee

    Mahdi Nedaee

    Product, Design & Engineering

    Shapes the product and its interfaces, and is the lead maintainer of the FEZrs codebase, from architecture to release.

  • Portrait of Mohammad Kiani

    Mohammad Kiani

    Full-stack Engineering

    Builds and maintains FEZtool's web applications and services, connecting the Python tooling to the people who use it.

  • Portrait of Parsa Elmi

    Parsa Elmi

    Business Development & Operations

    Manages partnerships, operations and the team, and is the corresponding author of the FEZrs paper.

  • Portrait of Parsa Moradi

    Parsa Moradi

    Backend Engineering & Security

    Develops FEZtool's Python backend services and geospatial software, with a background in web and API security testing.

  • Portrait of Mohammadhossein Yazdanifar

    Mohammadhossein Yazdanifar

    Technical Strategy Lead

    Leads technical strategy at FEZtool and is a co-author of the FEZrs software paper.

Contact and community

Questions about the tools, collaboration proposals or bug reports are all welcome. For code issues, GitHub is the fastest route.

Collaborations

Universities that FEZtool works with on research and teaching.

  • The Chinese University of Hong Kong logoThe Chinese University of Hong Kong
  • University of Tehran logoUniversity of Tehran
  • Shamsipour Technical College logoShamsipour Technical College
  • Kharazmi University logoKharazmi University
  • Islamic Azad University logoIslamic Azad University