Compute the difference between two one-sided gradient estimates.
roofDiff(image, bandwidth, blur)
A matrix where each entry is the maximum of the differences:
\(|\widehat{f}_{x+} - \widehat{f}_{x-}|\) and
\(|\widehat{f}_{y+} - \widehat{f}_{y-}|\) at each pixel location.
A square matrix, no missing value allowed.
A positive integer that specifies the number of pixels to use in the local smoothing.
If blur = TRUE, besides the conventional 2-D kernel function, a univariate kernel function is used to address the issue of blur.
Yicheng Kang
At each pixel, the second-order derivarives (i.e., \(f''_{xx}\), \(f''_{xy}\) and \(f''_{yy}\)) are estimated by a local quadratic kernel smoothing procedure. Next, the local neighborhood is first divided into two halves along the direction perpendicular to (\(\widehat{f}''_{xx}\), \(\widehat{f}''_{xy}\)). Then the one-sided estimates of \(f'_{x+}\) and \(f'_{x-}\) are obtained respectively by local linear kernel smoothing. The estimates of \(f'_{y+}\) and \(f'_{y-}\) are obtained by the same procedure except that the neighborhood is divided along the direction perpendicular to (\(\widehat{f}''_{xy}\), \(\widehat{f}''_{yy}\)).
Qiu, P. and Kang, Y. (2015) "Blind Image Deblurring Using Jump Regression Analysis", Statistica Sinica, 25, 879 -- 899, tools:::Rd_expr_doi("10.5705/ss.2014.054").
roofEdgeParSel
, roofEdge
diff <- roofDiff(image = peppers, bandwidth = 8)
Run the code above in your browser using DataLab