preProcess_removeFPCircle | R Documentation |
Given a surface matrix, estimates and filters any pixels within the estimated firing pin impression circle
preProcess_removeFPCircle( x3p, aggregationFunction = mean, smootherSize = 2 * round((0.1 * nrow(surfaceMat)/2)) + 1, gridSize = 40, gridGranularity = 1, houghScoreQuant = 0.9 )
x3p |
an x3p object containing a surface matrix |
aggregationFunction |
function to select initial radius estimate from those calculated using fpRadiusGridSearch |
smootherSize |
size of average smoother (to be passed to zoo::roll_mean) |
gridSize |
size of grid, centered on the initial radius estimate, to be used to determine the best fitting circle to the surface matrix via the Hough transform method |
gridGranularity |
granularity of radius grid used to determine the best fitting circle to the surface matrix via the Hough transform method |
houghScoreQuant |
quantile cut-off to be used when determining a final radius estimate using the score values returned by the imager::hough_circle |
An x3p object containing a surface matrix with the estimated firing pin circle pixels replaced with NAs.
imager treats a matrix as its transpose (i.e., x and y axes are swapped). As such, relative to the original surface matrix, the x and y columns in the data frame fpImpressionCircle actually correspond to the row and column indices at which the center of the firing pin impression circle is estiamted to be.
## Not run: 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_labelCropped <- fadul1.1 %>% preProcess_crop(region = "exterior", radiusOffset = -30) %>% preProcess_crop(region = "interior", radiusOffset = 200) %>% preProcess_removeTrend(statistic = "quantile", tau = .5, method = "fn") fadul1.1_houghCropped <- fadul1.1 %>% x3ptools::x3p_sample() %>% preProcess_ransacLevel() %>% preProcess_crop(region = "exterior", radiusOffset = -30) %>% preProcess_removeFPCircle() x3pListPlot(list("Original" = fadul1.1, "Cropped by Labeling" = fadul1.1_labelCropped, "Cropped by Hough" = fadul1.1_houghCropped),type = "list") ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.