Title: | A 'shiny' Application for Handwriting Analysis |
Version: | 2.0.0 |
Description: | Perform statistical writership analysis of scanned handwritten documents with a 'shiny' app for 'handwriter'. |
License: | GPL (≥ 3) |
Encoding: | UTF-8 |
RoxygenNote: | 7.3.2 |
Depends: | R (≥ 2.10) |
LazyData: | true |
Imports: | bslib, dplyr, ggplot2, handwriter, handwriterRF, magick, magrittr, rmarkdown, shiny, shinycssloaders, shinyFiles, shinyjs, stringr, tidyr |
Suggests: | knitr, testthat (≥ 3.0.0) |
Config/testthat/edition: | 3 |
URL: | https://github.com/CSAFE-ISU/handwriterApp |
BugReports: | https://github.com/CSAFE-ISU/handwriterApp/issues |
NeedsCompilation: | no |
Packaged: | 2024-11-13 17:21:40 UTC; stephanie |
Author: | Iowa State University of Science and Technology on behalf of its Center for Statistics and Applications in Forensic Evidence [aut, cph, fnd], Stephanie Reinders [aut, cre] |
Maintainer: | Stephanie Reinders <srein@iastate.edu> |
Repository: | CRAN |
Date/Publication: | 2024-11-13 17:50:02 UTC |
Pipe operator
Description
See magrittr::%>%
for details.
Usage
lhs %>% rhs
Arguments
lhs |
A value or the magrittr placeholder. |
rhs |
A function call using the magrittr semantics. |
Value
The result of calling rhs(lhs)
.
Handwriter Application
Description
Lauch a 'shiny' application for 'handwriter'.
Usage
handwriterApp(...)
Arguments
... |
Optional arguments passed to shiny::shinyApp |
Value
No return value, called to launch 'shiny' app
A Shiny app
Examples
## Not run:
handwriterApp()
## End(Not run)
Plot Writer Profiles
Description
Create a line plot of cluster fill rates for one or more documents, where the cluster fill rates serve as writer profiles. Each cluster fill rates for each document are plotted as different colored lines.
Usage
plot_writer_profiles(rates)
Arguments
rates |
A data frame of cluster fill rates created with
|
Value
A line plot
Examples
plot_writer_profiles(rates)
Cluster Fill Rates
Description
A data frame of cluster fill rates for two handwritten documents: w0004_s01_pLND_r01.png and w0004_s01_pWOZ_r02.png. Both documents are from the CSAFE Handwriting Database.
Usage
rates
Format
A data frame
- docname
The file name of the document without the file extension.
- total_graphs
The total number of graphs in the document.
- cluster1
The proportion of graphs in cluster 1
- cluster2
The proportion of graphs in cluster 2
- cluster3
The proportion of graphs in cluster 3
- cluster4
The proportion of graphs in cluster 4
- cluster5
The proportion of graphs in cluster 5
- cluster6
The proportion of graphs in cluster 6
- cluster7
The proportion of graphs in cluster 7
- cluster8
The proportion of graphs in cluster 8
- cluster9
The proportion of graphs in cluster 9
- cluster10
The proportion of graphs in cluster 10
- cluster11
The proportion of graphs in cluster 11
- cluster12
The proportion of graphs in cluster 12
- cluster13
The proportion of graphs in cluster 13
- cluster14
The proportion of graphs in cluster 14
- cluster15
The proportion of graphs in cluster 15
- cluster16
The proportion of graphs in cluster 16
- cluster17
The proportion of graphs in cluster 17
- cluster18
The proportion of graphs in cluster 18
- cluster19
The proportion of graphs in cluster 19
- cluster20
The proportion of graphs in cluster 20
- cluster21
The proportion of graphs in cluster 21
- cluster22
The proportion of graphs in cluster 22
- cluster23
The proportion of graphs in cluster 23
- cluster24
The proportion of graphs in cluster 24
- cluster25
The proportion of graphs in cluster 25
- cluster26
The proportion of graphs in cluster 26
- cluster27
The proportion of graphs in cluster 27
- cluster28
The proportion of graphs in cluster 28
- cluster29
The proportion of graphs in cluster 29
- cluster30
The proportion of graphs in cluster 30
- cluster31
The proportion of graphs in cluster 31
- cluster32
The proportion of graphs in cluster 32
- cluster33
The proportion of graphs in cluster 33
- cluster34
The proportion of graphs in cluster 34
- cluster35
The proportion of graphs in cluster 35
- cluster36
The proportion of graphs in cluster 36
- cluster37
The proportion of graphs in cluster 37
- cluster38
The proportion of graphs in cluster 38
- cluster39
The proportion of graphs in cluster 39
- cluster40
The proportion of graphs in cluster 40
Details
'handwriter' splits handwriting in the documents into component shapes called graphs. The graphs are sorted into 40 clusters using the cluster template 'templateK40'. The rates data frame shows the proportion of graphs from each document assigned to each cluster. The rates estimate a writer profile for the writer of a document.
Examples
plot_writer_profiles(rates)
Cluster Template with 40 Clusters
Description
A cluster template created by 'handwriter' with K=40 clusters. This template was created from 100 handwriting samples from the CSAFE Handwriting Database. This template is suitable for casework.
Usage
templateK40
Format
A list containing the contents of the cluster template.
- centers_seed
An integer for the random number generator use to select the starting cluster centers for the K-Means algorithm.
- cluster
A vector of cluster assignments for each graph used to create the cluster template. The clusters are numbered sequentially 1, 2,...,K.
- centers
The final cluster centers produced by the K-Means algorithm.
- K
The number of clusters in the template.
- n
The number of training graphs to used to create the template.
- docnames
A vector that lists the training document from which each graph originated.
- writers
A vector that lists the writer of each graph.
- iters
The maximum number of iterations for the K-means algorithm.
- changes
A vector of the number of graphs that changed clusters on each iteration of the K-means algorithm.
- outlierCutoff
A vector of the outlier cutoff values calculated on each iteration of the K-means algorithm.
- stop_reason
The reason the K-means algorithm terminated.
- wcd
The within cluster distances on the final iteration of the K-means algorithm. More specifically, the distance between each graph and the center of the cluster to which it was assigned on each iteration. The output of 'handwriter::make_clustering_template' stores the within cluster distances on each iteration, but the previous iterations were removed here to reduce the file size.
- wcss
A vector of the within-cluster sum of squares on each iteration of the K-means algorithm.
Details
'handwriter' splits handwriting samples into component shapes called graphs. The graphs are sorted into 40 clusters with a K-Means algorithm. See 'handwriter' for more details.
Examples
# view number of clusters
templateK40$K
# view number of iterations
templateK40$iters
# view cluster centers
templateK40$centers