alsdb.utils.viz.plot_rh_profile#

alsdb.utils.viz.plot_rh_profile(result, ax_rh: Optional = None, ax_wave: Optional = None, figsize: tuple[float, float] = (9, 4.6), savgol_window: int | None = None, peak_prominence: float = 0.12, title: str | None = None)[source]#

Two-panel figure matching the GEDI L2A canonical waveform representation.

Panel (a) — RH curve

Height above ground (m) as a function of cumulative energy percentile (0–100 %). Understory and overstory layers are shaded.

Panel (b) — Waveform W(h)

Normalised energy density vs height above ground. result.waveform is already W(h) = dE/dh (Gaussian-convolved ALS histogram), so no reconstruction from the RH profile is needed. Detected layer peaks, the layer boundary, and the Δh inter-layer distance are annotated.

Parameters:
  • resultWaveformResult with RH0–RH100 computed (default when using simulate_waveform).

  • ax_rh – Pre-existing Matplotlib axes. A new figure is created when both are None.

  • ax_wave – Pre-existing Matplotlib axes. A new figure is created when both are None.

  • figsize – Figure size in inches.

  • savgol_window – Savitzky–Golay smoothing window for peak detection. Auto-sized if None.

  • peak_prominence – Minimum prominence for layer peak detection (normalised units, 0–1).

  • title – Figure suptitle. Auto-generated if None.

Return type:

matplotlib.figure.Figure