Description Usage Arguments Value References Examples
View source: R/deconvolution.R
The function allows you to deconvolve retrun waveform lidar data by using the system impulse response (it can be given by the data provider or measured with the return impulse response and its corresponding outgoing pluse) and corresponding outgoing waveform to obtain effective target positions. Two algorithms including Gold or Richardson-Lucy algorithms were available.
1 2 3 4 5 6 7 8 9 10 11 12 |
re |
is the return waveform. |
out |
is the outgoing waveform, which should have the same number of rows. |
imp |
is the return impulse reponse (this should come with the corresponding outgoing pluse) or the sytem impulse reponse (when the corresponding outgoing pulse for the impluse response is not available or the data vendors directly provide system impluse response). |
imp_out |
is the corresponding outgoing pulse of the return impulse response. Through devonvolution of return impulse response, we can obtain true system impluse repsonse if it wasn't provided by the data vendor. |
method |
two methods including Gold or Richardson-Lucy (RL) algorithms. method=c("Gold","RL"). Default is method=c("Gold"). |
np |
is a threshold value which determines use small_paras (smaller iterations and repetitions in the deconvolution) or or large_paras (larger iterations and repetitionsin the deconvolution). Default is 2. |
rescale |
is determine whether you want to rescale the waveform intensity. Generally, we used the minimum intensity to conduct rescaling. Default is to implement rescale. |
small_paras |
is the deconvolution parameters including iterations, repetitions and boost when condcuting the system impulse and outgoing pulse deconvolution algorithms with waveform componments is less than np or the waveform is less complicated with few noise. |
large_paras |
is the deconvolution parameters including iterations, repetitions and boost for the system impulse and outgoing pulse deconvolution when the number of waveform componments is more than np. Generally when the waveform become more complicated, we should use larger iteration, repetitions. iterations: number of iterations (parameter in the Gold deconvolution algorithm) between boosting operations; repetitions number of repetitions of boosting operations. It must be greater or equal to one.So the total number of iterations is repetitions*iterations boosting coefficient/exponent. Applies only if repetitions is greater than one. Recommended range [1,2]. |
imp_out_pars |
is the deconvolution parameters for obtaining system impluse response using the impulse response and corresponding outgoing pulse. As same as the small_paras and large_parameters. This parameter is effective only when the imp_out is not NULL. |
The deconvovled waveform.
Zhou, Tan*, Sorin C. Popescu, Keith Krause, Ryan D. Sheridan, and Eric Putman, 2017. Gold-A novel deconvolution algorithm with optimization for waveform LiDAR processing. ISPRS Journal of Photogrammetry and Remote Sensing 129 (2017): 131-150. https://doi.org/10.1016/j.isprsjprs.2017.04.021
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | library(waveformlidar)
if (!require("rPeaks")) {
install_github("tankwin08/rPeaks")
}
data(return)
data(outg)
data(imp) ##The impulse function is generally one for the whole study area or
data(imp_out)
re<-return[1,]
out<-outg[1,]
imp<-imp
dr<-deconvolution(re,out,imp)
dr1<-deconvolution(re,out,imp,method="RL")
dr2<-deconvolution(re,out,imp,method="RL",small_paras=c(20,2,1.8,20,2,2))
plot(dr,type="l")
lines(dr1,col="red")
lines(dr2,col="blue")
###some differences can be observed when you used different parameters.
##In the real application, you need to find optimized parameters suitable for your case.
## In addition, the accuracy of impulse function significantly affects results based on experiments.
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.