preProcess_gaussFilter.Rd
Performs a low, high, or bandpass Gaussian filter on a surface matrix with a particular cut-off wavelength.
preProcess_gaussFilter(x3p, wavelength = c(16, 500), filtertype = "bp")
an x3p object containing a surface matrix
cut-off wavelength
specifies whether a low pass, "lp", high pass, "hp", or bandpass, "bp" filter is to be used. Note that setting filterype = "bp" means that wavelength should be a vector of two numbers. In this case, the max of these two number will be used for the high pass filter and the min for the low pass filter.
An x3p object containing the Gaussian-filtered surface matrix.
https://www.mathworks.com/matlabcentral/fileexchange/61003-filt2-2d-geospatial-data-filter?focused=7181587&tab=example
data(fadul1.1_processed)
#Applying the function to fadul1.1_processed (note that this scan has already
# been Gaussian filtered)
cmcR::preProcess_gaussFilter(fadul1.1_processed)
#> x3p object
#> Instrument: NanoFocus
#> size (width x height): 545 x 545 in pixel
#> resolution: 6.2500e-06 x 6.2500e-06
#> Creator: Xiaoyu Zheng
#> Comment: NA: 0.30
#As a part of the recommended preprocessing pipeline (take > 5 sec to run):
if (FALSE) {
nbtrd_link <- "https://tsapps.nist.gov/NRBTD/Studies/CartridgeMeasurement/"
fadul1.1_link <- "DownloadMeasurement/2d9cc51f-6f66-40a0-973a-a9292dbee36d"
fadul1.1 <- x3ptools::read_x3p(paste0(nbtrd_link,fadul1.1_link))
fadul1.1_extCropped <- preProcess_crop(x3p = fadul1.1,
region = "exterior",
radiusOffset = -30)
fadul1.1_intCroped <- preProcess_crop(x3p = fadul1.1_extCropped,
region = "interior",
radiusOffset = 200)
fadul1.1_leveled <- preProcess_removeTrend(x3p = fadul1.1_intCroped,
statistic = "quantile",
tau = .5,
method = "fn")
fadul1.1_filtered <- preProcess_gaussFilter(x3p = fadul1.1_leveled,
wavelength = c(16,500),
filtertype = "bp")
x3pListPlot(list("Original" = fadul1.1,
"Ext. & Int. Cropped" = fadul1.1_intCroped,
"Cropped and Leveled" = fadul1.1_leveled,
"Filtered" = fadul1.1_filtered),type = "list")
}