helios icon indicating copy to clipboard operation
helios copied to clipboard

Generalizing fullwave fitting and peak detection

Open albertoesmp opened this issue 3 years ago • 0 comments

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-coded 0.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)

albertoesmp avatar Jan 24 '22 17:01 albertoesmp