| 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