Package: cmcR 0.1.11

Joe Zemmels

cmcR: An Implementation of the 'Congruent Matching Cells' Method

An open-source implementation of the 'Congruent Matching Cells' method for cartridge case identification as proposed by Song (2013) <https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=911193> as well as an extension of the method proposed by Tong et al. (2015) <doi:10.6028/jres.120.008>. Provides a wide range of pre, inter, and post-processing options when working with cartridge case scan data and their associated comparisons. See the cmcR package website for more details and examples.

Authors:Joe Zemmels [aut, cre], Heike Hofmann [aut], Susan VanderPlas [aut]

cmcR_0.1.11.tar.gz
cmcR_0.1.11.zip(r-4.5)cmcR_0.1.11.zip(r-4.4)cmcR_0.1.11.zip(r-4.3)
cmcR_0.1.11.tgz(r-4.4-any)cmcR_0.1.11.tgz(r-4.3-any)
cmcR_0.1.11.tar.gz(r-4.5-noble)cmcR_0.1.11.tar.gz(r-4.4-noble)
cmcR_0.1.11.tgz(r-4.4-emscripten)cmcR_0.1.11.tgz(r-4.3-emscripten)
cmcR.pdf |cmcR.html
cmcR/json (API)

# Install 'cmcR' in R:
install.packages('cmcR', repos = c('https://csafe-isu.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/csafe-isu/cmcr/issues

Datasets:
  • fadul1.1_processed - Processed versions of the fadul1.1_raw and fadul1.2_raw datasets using preProcess_* functions from the cmcR package
  • fadul1.2_processed - Processed versions of the fadul1.1_raw and fadul1.2_raw datasets using preProcess_* functions from the cmcR package

On CRAN:

5.56 score 3 stars 60 scripts 320 downloads 22 exports 92 dependencies

Last updated 2 years agofrom:6fcece1283. Checks:OK: 7. Indexed: yes.

TargetResultDate
Doc / VignettesOKNov 11 2024
R-4.5-winOKNov 11 2024
R-4.5-linuxOKNov 11 2024
R-4.4-winOKNov 11 2024
R-4.4-macOKNov 11 2024
R-4.3-winOKNov 11 2024
R-4.3-macOKNov 11 2024

Exports:%>%cmcPlotcomparison_alignedTargetCellcomparison_allTogethercomparison_calcPropMissingcomparison_cellDivisioncomparison_corcomparison_fft_ccfcomparison_getTargetRegionscomparison_replaceMissingcomparison_standardizeHeightsdecision_CMCdecision_combineDirectionsdecision_highCMC_cmcThetaDistribdecision_highCMC_identifyHighCMCThetaspreProcess_croppreProcess_erodepreProcess_gaussFilterpreProcess_ransacLevelpreProcess_removeFPCirclepreProcess_removeTrendx3pListPlot

Dependencies:assertthatbase64encbitbit64bmpbslibcachemclicliprcolorspacecpp11crayondigestdownloaderdplyrevaluatefansifarverfastmapfontawesomefsgenericsggnewscaleggplot2ggplotifygluegridGraphicsgtablehighrhmshtmltoolshtmlwidgetsigraphimagerisobandjpegjquerylibjsonliteknitrlabelinglatticelifecyclemagrittrMASSMatrixMatrixModelsmemoisemgcvmimemunsellnlmepatchworkpillarpkgconfigpngpracmaprettyunitsprogresspurrrquantregR6rappdirsRColorBrewerRcppreadbitmapreadrrglrlangrmarkdownsassscalesSparseMstringistringrsurvivaltibbletidyrtidyselecttifftinytextzdbutf8vctrsviridisLitevroomwithrx3ptoolsxfunxml2yamlyulab.utilszoo

CMC Decision Rule Description

Rendered fromdecisionRuleDescription.Rmdusingknitr::rmarkdownon Nov 11 2024.

Last update: 2021-03-16
Started: 2020-10-15

Reproduction of Song et al. (2018) plots using the cmcR package

Rendered fromcmcR_plotReproduction.Rmdusingknitr::knitron Nov 11 2024.

Last update: 2020-12-09
Started: 2020-04-20

Readme and manuals

Help Manual

Help pageTopics
Plot Congruent Matching Cells results for a pair of cartridge cases.cmcPlot
Extract a matrix from the target region of the same dimension as the reference cell depending on the estimated translation calculated from comparison_fft_ccfcomparison_alignedTargetCell
Performs all steps in the cell-based comparison procedure.comparison_allTogether
Calculate the proportion of missing values in a breech face scancomparison_calcPropMissing
Split a reference scan into a grid of cellscomparison_cellDivision
Calculates correlation between a cell and a matrix of the same dimensions extracted from the cell's associated region.comparison_cor
Estimate translation alignment between a cell/region pair based on the Cross-Correlation Theorem.comparison_fft_ccf
Extract regions from a target scan based on associated cells in reference scancomparison_getTargetRegions
Replace missing values in a scancomparison_replaceMissing
Standardize height values of a scan by centering/scaling by desired statistics and replacing missing valuescomparison_standardizeHeights
Applies the decision rules of the original method of Song (2013) or the High CMC method of Tong et al. (2015)decision_CMC
Combine data frames containing CMC results from 2 comparison directionsdecision_combineDirections
Compute CMC-theta distribution for a set of comparison featuresdecision_highCMC_cmcThetaDistrib
Classify theta values in CMC-theta distribution as having "High" or "Low" CMC candidate countsdecision_highCMC_identifyHighCMCThetas
Processed versions of the fadul1.1_raw and fadul1.2_raw datasets using preProcess_* functions from the cmcR packagefadul1.1_processed fadul1.2_processed fadulData_processed
Remove observations from the exterior of interior of a breech face scanpreProcess_crop
Erode the interior or exterior of a cartridge case surfacepreProcess_erode
Performs a low, high, or bandpass Gaussian filter on a surface matrix with a particular cut-off wavelength.preProcess_gaussFilter
Finds plane of breechface marks using the RANSAC methodpreProcess_ransacLevel
Given a surface matrix, estimates and filters any pixels within the estimated firing pin impression circlepreProcess_removeFPCircle
Level a breech face impression surface matrix by a conditional statisticpreProcess_removeTrend
Plot a list of x3psx3pListPlot