| 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