A python package to process remote sensing forestry data
Project description
About The Project
Phytospatial is a Python toolkit designed to streamline the processing of remote sensing data for forestry and vegetation analysis. It provides tools for handling large hyperspectral rasters, validating vector geometries, and extracting spectral statistics from tree crowns. It also allows for passive-active raster-level fusion via its image processing module.
Key Features
- Memory-Safe Processing: Process massive rasters using windowed reading (via
rasterio) without overloading RAM. - Forestry Focused: Specialized tools for tree crown validation and species labeling.
- Dual-Licensed: Available under both MIT and Apache 2.0 licenses for maximum flexibility.
Getting Started
Installation
To get up and running quickly with pip:
git clone https://github.com/Louis-Gm/phytospatial.git
cd phytospatial
pip install -e .
New to Python? Check out our detailed Installation Guide for Conda and Virtual Environment setup.
Usage
Here is a simple example of extracting spectral data from tree crowns:
from phytospatial import extract, loaders
# Load tree crowns
crowns = loaders.load_crowns("data/crowns.shp")
# Initialize extractor
extractor = extract.BlockExtractor("data/image.tif")
# Process
results = []
for stats in extractor.process_crowns(crowns):
results.append(stats)
For a complete workflow, see the Introduction Pipeline Tutorial.
Contribute
As an open-source project, we encourage and welcome contributions of students, researchers, or professional developers.
Want to help? Please read our CONTRIBUTING section for a detailed explanation of how to submit pull requests. Please also make sure to read the project's CODE OF CONDUCT.
Not sure how to implement your idea, but want to contribute?
Feel free to leave a feature request here.
Citation
If you use this project in your research, please cite it as:
Grand'Maison, L.-V. (2026). Phytospatial (0.3.1). Zenodo. https://doi.org/10.5281/zenodo.18112045
Contact
The project is currently being maintained by Louis-Vincent Grand'Maison.
Feel free to contact me by email or linkedin:
Email - lvgra@ulaval.ca
Linkedin - grandmaison-lv
Acknowledgments & Funding
This software is developed by Louis-Vincent Grand'Maison as part of a PhD project. The maintenance and development of this project is supported by several research scholarships:
- Fonds de recherche du Québec – Nature et technologies (FRQNT) (Scholarship 2024-2025)
- Natural Sciences and Engineering Research Council of Canada (NSERC) (Scholarship 2025-present)
- Université Laval (Scholarship 2024-present)
License
phytospatial is distributed under the Apache License, Version 2.0 or the MIT License, at your option.
Unless you explicitly state otherwise, any contribution you intentionally submit for inclusion in this repository (as defined by Apache-2.0) shall be dual-licensed as above, without any additional terms or conditions.
See LICENSE for more information on licensing and copyright.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phytospatial-0.3.1.tar.gz.
File metadata
- Download URL: phytospatial-0.3.1.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
955005fdfb2c7a901f3ee7f17525b2700c89e0adeb8946b82c1212d94c6fa906
|
|
| MD5 |
150688ded00c57a64f7a0b7ff1afa763
|
|
| BLAKE2b-256 |
7fce675147dc73f81604fc64ec4c5e785567393ee5369f65f347a6e48cde92d2
|
Provenance
The following attestation bundles were made for phytospatial-0.3.1.tar.gz:
Publisher:
publish.yml on Louis-Gm/phytospatial
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phytospatial-0.3.1.tar.gz -
Subject digest:
955005fdfb2c7a901f3ee7f17525b2700c89e0adeb8946b82c1212d94c6fa906 - Sigstore transparency entry: 829307147
- Sigstore integration time:
-
Permalink:
Louis-Gm/phytospatial@febb313b24405b63047656adcfce5fedb635993a -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/Louis-Gm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@febb313b24405b63047656adcfce5fedb635993a -
Trigger Event:
release
-
Statement type:
File details
Details for the file phytospatial-0.3.1-py3-none-any.whl.
File metadata
- Download URL: phytospatial-0.3.1-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57d7fd725f143bfcd921965d699ca1cad0179c5a1df6cffb04bba6eec28a5b5f
|
|
| MD5 |
f6b1164e020d3555cd48e5df4e1e1731
|
|
| BLAKE2b-256 |
90aa10a02dd2e967fbc2fc7933907add4819d2994873c2cc7640e9e32bb3c150
|
Provenance
The following attestation bundles were made for phytospatial-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on Louis-Gm/phytospatial
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
phytospatial-0.3.1-py3-none-any.whl -
Subject digest:
57d7fd725f143bfcd921965d699ca1cad0179c5a1df6cffb04bba6eec28a5b5f - Sigstore transparency entry: 829307168
- Sigstore integration time:
-
Permalink:
Louis-Gm/phytospatial@febb313b24405b63047656adcfce5fedb635993a -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/Louis-Gm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@febb313b24405b63047656adcfce5fedb635993a -
Trigger Event:
release
-
Statement type: