Skip to content

BJWOODS/GEDI_Model_Fitting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

GEDI Waveform Fitting (Cubic B-Splines)

Author: Brandon J. Woodard
Institution: Brown University

This script fits modeled laser return waveforms to NASA GEDI full-waveform LiDAR data using cubic B-splines and nonlinear least squares.


What is GEDI?

GEDI (Global Ecosystem Dynamics Investigation) is a NASA full-waveform LiDAR instrument aboard the International Space Station.
It measures forest vertical structure by recording transmitted and returned laser pulse energy over nanoseconds.

GEDI on ISS Example GEDI Waveform


What This Script Does

  • Loads GEDI waveform CSV data\
  • Builds cubic B-spline models of signals (scipy.interpolate.splrep, k=3)\
  • Convolves transmit pulse with a Gaussian\
  • Fits modeled signal to GEDI return waveform\
  • Estimates:
    • Vertical & horizontal shifts
    • Scaling parameters
    • Peak locations
    • Goodness-of-fit (Chi-square)

Requirements

Install dependencies:

pip install numpy scipy matplotlib pandas scikit-learn numba

How to Run

  1. Place your GEDI waveform CSV in the same directory.
  2. Set filename in the script:
filename = "your_file.csv"
  1. Run:
python script_name.py

The script will:

  • Plot the GEDI return waveform
  • Plot the fitted model
  • Print fitted parameters and chi-square error

Core Modeling Idea

The modeled return signal:

R(t) = vs + vsc · Spline(hsc · t + hs)

Where parameters control vertical shift, horizontal shift, and scaling.

The transmit pulse is convolved with a Gaussian to approximate system broadening.


Notes

  • Uses cubic B-splines (not raw waveforms).
  • Designed for GEDI-like CSV waveform exports.
  • Intended for research / signal analysis experimentation.

About

This script fits modeled laser return waveforms to NASA GEDI full-waveform LiDAR data using cubic B-splines and nonlinear least squares.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages