The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Package {toolmaRk}


Type: Package
Title: Tests for Same-Source of Toolmarks
Version: 0.0.2
Date: 2026-09-14
Author: Jeremy Hadler [aut, cre], Max Morris [ths], Heike Hofmann [ctb]
Maintainer: Jeremy Hadler <hadler13@yahoo.com>
Description: Implements two tests for same-source of toolmarks. The chumbley_non_random() test follows the paper "An Improved Version of a Tool Mark Comparison Algorithm" by Hadler and Morris (2017) <doi:10.1111/1556-4029.13640>. This is an extension of the Chumbley score as previously described in "Validation of Tool Mark Comparisons Obtained Using a Quantitative, Comparative, Statistical Algorithm" by Chumbley et al (2010) <doi:10.1111/j.1556-4029.2010.01424.x>. fixed_width_no_modeling() is based on correlation measures in a diamond shaped area of the toolmark as described in Hadler (2017).
Depends: R (≥ 3.3), plyr (≥ 1.8.4), dplyr (≥ 0.7.2), reshape2 (≥ 1.4.2)
Imports: ggplot2 (≥ 2.2.1)
License: GPL-3
LazyData: true
RoxygenNote: 6.0.1
NeedsCompilation: no
Packaged: 2026-09-14 13:09:29 UTC; hadlerjr
Repository: CRAN
Date/Publication: 2026-09-14 21:00:02 UTC

Toolmark profiles dataset

Description

Data set of toolmarks (profiles) created by screwdrivers under different angles. Tool mark data included here were produced by Prof. Scott Chumbley, Mr. Stephen Davis, Ms. Taylor Grieve, Mr. Ryan Spotts, and Dr. Jeremy Hadler. These data were produced as part of research performed at the Ames Laboratory, located on the Iowa State University campus. Ames Laboratory is operated for the U.S. Department of Energy by Iowa State University under Contract No. DE-Ac02-07CH11358.

Usage

ameslab

Format

the dataset consists of a sample of 16 toolmark profiles and descriptors. Toolmarks with the same toolmark identifier are known matches, all other profiles are known non-matches.

ID

toolmark identifier. Factor variable.

side

A or B, indicates the side of the screwdriverused to create the toolmark. Factor variable.

angle

degree under which the toolmark was created.

rep

replicate number for a toolmark, side, angle composition. Note that the data here provided is not complete. For a more complete data set or more information please contact the references given below.

profile

list of data sets with one profile each. Measurements are taken at equispaced intervals across the toolmark. .

References

Tool mark data included here were produced by Prof. Scott Chumbley, Mr. Stephen Davis, Ms. Taylor Grieve, Mr. Ryan Spotts, and Dr. Jeremy Hadler. These data were produced as part of research performed at the Ames Laboratory, located on the Iowa State University campus. Ames Laboratory is operated for the U.S. Department of Energy by Iowa State University under Contract No. DE-Ac02-07CH11358.

Examples



  data(ameslab)
  plot(ameslab$profile[[1]]$V1)
  chumbley_non_random(ameslab$profile[[1]], ameslab$profile[[2]])

  res14 <- fixed_width_no_modeling(ameslab$profile[[1]], ameslab$profile[[4]])
  res14$dist_pval
 

Chumbley Non-Random

Description

This function computes the Chumbley U-Statistic on systemically chosen pairs of windows rather than the original method which selects randomly chosen pairs of windows

Usage

chumbley_non_random(data1, data2, window_opt = 500, window_val = 50,
  coarse = 0.25)

Arguments

data1

The first tool mark as a 1-column matrix

data2

The second tool mark as a 1-column matrix

window_opt

size of the window to be used in the optimization step

window_val

Size of the window to be used in the validation step

coarse

smoothing parameter for the normalization smooth

Value

list with

same_shift_n

Number of same shift offsets used

diff_shift_n

Number of different shift offsets used

U

observed U statistic

p_value

Corresponding p-value


Distance/threshold test for toolmarks

Description

Compute all possible correlations for windows of length n between the class components. Determine the location of the maximized correlation. Given this location, create a diamond around it in the individual matrix of correlations For each offset in this diamond, compute the maximized correlation (1) Determine the distance between the offset for the class and indiviudal components (2) Compute the Threshold test statistics

Usage

fixed_width_no_modeling(dat1, dat2, coarse = 0.25, fine = 0.01,
  window.size = 0.6, M = 500)

Arguments

dat1

a one column matrix representing a digitized tool mark

dat2

a one column matrix representing a second digitized tool mark

coarse

normalization smoothing parameter

fine

decomposition smoothing parameter

window.size

desired window size for the correlations to compute

M

search area restriction

Value

list with

max_corr

maximized individual component correlation

Smooth_offset

optimal Class offset

Resid_offset

optimal individual offset

dist_pval

distance p-value

thresh_pval

threshold p-value

Above

Number of offsets with correlation bigger than threshold

total_thresh

2*M+1

mark1_decomposition

plot of decomposition d1

mark2_decomposition

plot of decomposition d2

class_correlations

plot of class correlation

individual_correlations

plot of individual correlation

distance_plot

distance plot

threshold_plot

threshold plot

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.