Skip to content

Releases: iosefa/PyForestScan

v0.4.0 - Rumple Index

23 Jun 03:00

Choose a tag to compare

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

02 Dec 01:40

Choose a tag to compare

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

23 Oct 10:03
ccaab21

Choose a tag to compare

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

19 Oct 11:42
20a4134

Choose a tag to compare

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

16 Oct 23:05
0983965

Choose a tag to compare

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

16 Oct 05:04
253dbfc

Choose a tag to compare

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

09 Oct 22:55
aa60351

Choose a tag to compare

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

09 Oct 09:58

Choose a tag to compare

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

09 Oct 08:29
e838643

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

03 Jul 07:24
9034a86

Choose a tag to compare

What's Changed

  • Update Python version to 3.11 or above and upgrade dependencies in requirements.txt by @iosefa in #34
  • Enhance CHM interpolation with optional valid region and edge cleaning by @maawoo in #30
  • Add option to save figures by @maawoo in #32
  • Bug/pad calculation by @iosefa in #28
  • Bump version to 0.3.0, update Python to 3.11+, upgrade dependencies, readme by @iosefa in #35

New Contributors

Full Changelog: v0.2.4...v0.3.0