helios
helios copied to clipboard
Generalizing fullwave fitting and peak detection
Problem
Currently, Helios++ does not support alternatives to MarquardFitter
to fit the fullwave
and compute echo_width
. The implementation of FullWaveformPulseRunnable
must support different fitters and peak detection methods.
Goals
- [ ] Redesign FullWaveformPulseRunnable so fitting,
echo_width
calculus and peak detection are externalized according to an interface. - [ ] Implement a Gaussian Decomposition based algorithm as an alternative for current implementation
- [ ] Make
echo_width
threshold be a variable instead of hard-coded0.1
- [ ] Support choosing fitting and peak detection strategies through
ScannerSettings
- [ ] Implement some more alternatives to first Gaussian Decomposition strategy and original
MarquardtFitter
- [ ] Different handling of
echo_width
and peak detection depending on fullwave. It can be either disjoint or overlapping.
Related issues This issue is related to https://github.com/3dgeo-heidelberg/helios/issues/5
References Gaussian decomposition and calibration of a novel small-footprint full-waveform digitising airborne laser scanner (Wolfgang Wagner et al., 2006) Topographic Laser Ranging and Scanning (Jie Shan, Charles K. Toth. Chapter 7) LAS Extrabytes Implementation in RIEGL Software (RIEGL whitepaper, http://static.tongtianta.site/paper_pdf/6a17ad8e-eaa8-11e9-9ba8-00163e08bb86.pdf)