Releases: iosefa/PyForestScan
Releases · iosefa/PyForestScan
v0.4.1 - Height Above Ground from memory
Compare
Sorry, something went wrong.
No results found
iosefa
released this
30 Jun 23:34
PyForestScan v0.4.1
This release brings the published v0.4.0 rumple work back into main and adds the newly merged in-memory Height Above Ground workflow.
Highlights
Add add_height_above_ground(...) for calculating HeightAboveGround on already-loaded point-cloud arrays.
Support both Delaunay-based HAG and DTM/raster-based HAG for in-memory arrays.
Include the v0.4.0 rumple metric implementation, tests, docs, and exports on the main release line.
Bump the package version to 0.4.1.
Validation
PR CI passed on Python 3.11, 3.12, and 3.13.
Local tests/test_calculate.py passed with 54 tests.
v0.4.0 - Rumple Index
Compare
Sorry, something went wrong.
No results found
iosefa
released this
23 Jun 03:00
What's Changed
This release adds canopy rumple index support to PyForestScan.
Added
Added calculate_rumple() for computing canopy rumple index from a CHM.
Rumple is calculated as canopy surface area divided by planar ground area.
Supports optional min_height masking to exclude low vegetation before calculating canopy surface complexity.
Added rumple documentation under forest structure metrics.
Added rumple to the public package API.
Added tests covering flat surfaces, sloped surfaces, rough surfaces, invalid inputs, min_height masking, and no-valid-surface cases.
Notes
Rumple returns a single scalar value for a CHM, not a raster. A flat canopy has a rumple value near 1.0; increasingly complex canopy surfaces have values greater than 1.0.
Verification
pytest tests/test_calculate.py -k rumple: 6 passed
pytest tests/test_calculate.py: 54 passed
v0.3.8
Compare
Sorry, something went wrong.
No results found
iosefa
released this
02 Dec 01:40
What's Changed
process: add by_flightline option for per-flightline processing by @iosefa in #49
Full Changelog : v0.3.7...v0.3.8
v0.3.7
Compare
Sorry, something went wrong.
No results found
iosefa
released this
23 Oct 10:03
What's Changed
process: add voxel-grid downsampling with mode selection by @iosefa in #47
Bump version to 0.3.7 by @iosefa in #48
Full Changelog : v0.3.6...v0.3.7
v0.3.6
Compare
Sorry, something went wrong.
No results found
iosefa
released this
19 Oct 11:42
What's Changed
process: refine core extent calculation to prevent stretching by @iosefa in #45
Bump version to 0.3.6 by @iosefa in #46
Full Changelog : v0.3.5...v0.3.6
v0.3.5
Compare
Sorry, something went wrong.
No results found
iosefa
released this
16 Oct 23:05
What's Changed
calculate: handle invalid voxel height and refine empty range logic by @iosefa in #43
Bump version to 0.3.5 by @iosefa in #44
Full Changelog : v0.3.4...v0.3.5
v0.3.4
Compare
Sorry, something went wrong.
No results found
iosefa
released this
16 Oct 05:04
What's Changed
process: add Poisson-based thinning and improve PAI tile handling by @iosefa in #41
Bump version to 0.3.4 by @iosefa in #42
Full Changelog : v0.3.3...v0.3.4
v0.3.3
Compare
Sorry, something went wrong.
No results found
iosefa
released this
09 Oct 22:55
What's Changed
process: add skip_existing and verbose options to tile processing by @iosefa in #39
Bump version to 0.3.3 by @iosefa in #40
Full Changelog : v0.3.2...v0.3.3
v0.3.2
Compare
Sorry, something went wrong.
No results found
iosefa
released this
09 Oct 09:58
What's Changed
calculate: handle empty integration range in canopy cover calculation by @iosefa in #38
Full Changelog : v0.3.1...v0.3.2
v0.3.1
Compare
Sorry, something went wrong.
No results found
iosefa
released this
09 Oct 08:29
What's Changed
Full Changelog : v0.3.0...v0.3.1