Skip to content

RJafroc

2.1.2Package record

Artificial Intelligence Systems and Observer Performance

0packages depend
3.7Kdownloads / year
75.7%test coverage
0/13flavors OK

Overview

About

Analyzing the performance of artificial intelligence (AI) systems/algorithms characterized by a 'search-and-report' strategy. Historically observer performance has dealt with measuring radiologists' performances in search tasks, e.g., searching for lesions in medical images and reporting them, but the implicit location information has been ignored. The implemented methods apply to analyzing the absolute and relative performances of AI systems, comparing AI performance to a group of human readers or optimizing the reporting threshold of an AI system. In addition to performing historical receiver operating receiver operating characteristic (ROC) analysis (localization information ignored), the software also performs free-response receiver operating characteristic (FROC) analysis, where lesion localization information is used. A book using the software has been published: Chakraborty DP: Observer Performance Methods for Diagnostic Imaging - Foundations, Modeling, and Applications with R-Based Examples, Taylor-Francis LLC; 2017: https://www.routledge.com/Observer-Performance-Methods-for-Diagnostic-Imaging-Foundations-Modeling/Chakraborty/p/book/9781482214840. Online updates to this book, which use the software, are at https://dpc10ster.github.io/RJafrocQuickStart/, https://dpc10ster.github.io/RJafrocRocBook/ and at https://dpc10ster.github.io/RJafrocFrocBook/. Supported data collection paradigms are the ROC, FROC and the location ROC (LROC). ROC data consists of single ratings per images, where a rating is the perceived confidence level that the image is that of a diseased patient. An ROC curve is a plot of true positive fraction vs. false positive fraction. FROC data consists of a variable number (zero or more) of mark-rating pairs per image, where a mark is the location of a reported suspicious region and the rating is the confidence level that it is a real lesion. LROC data consists of a rating and a location of the most suspicious region, for every image. Four models of observer performance, and curve-fitting software, are implemented: the binormal model (BM), the contaminated binormal model (CBM), the correlated contaminated binormal model (CORCBM), and the radiological search model (RSM). Unlike the binormal model, CBM, CORCBM and RSM predict 'proper' ROC curves that do not inappropriately cross the chance diagonal. Additionally, RSM parameters are related to search performance (not measured in conventional ROC analysis) and classification performance. Search performance refers to finding lesions, i.e., true positives, while simultaneously not finding false positive locations. Classification performance measures the ability to distinguish between true and false positive locations. Knowing these separate performances allows principled optimization of reader or AI system performance. This package supersedes Windows JAFROC (jackknife alternative FROC) software V4.2.1, https://github.com/dpc10ster/WindowsJafroc. Package functions are organized as follows. Data file related function names are preceded by 'Df', curve fitting functions by 'Fit', included data sets by 'dataset', plotting functions by 'Plot', significance testing functions by 'St', sample size related functions by 'Ss', data simulation functions by 'Simulate' and utility functions by 'Util'. Implemented are figures of merit (FOMs) for quantifying performance and functions for visualizing empirical or fitted operating characteristics: e.g., ROC, FROC, alternative FROC (AFROC) and weighted AFROC (wAFROC) curves. For fully crossed study designs significance testing of reader-averaged FOM differences between modalities is implemented via either Dorfman-Berbaum-Metz or the Obuchowski-Rockette methods. Also implemented is single treatment analysis, which allows comparison of performance of a group of radiologists to a specified value, or comparison of AI to a group of radiologists interpreting the same cases. Crossed-modality analysis is implemented wherein there are two crossed treatment factors and the aim is to determined performance in each treatment factor averaged over all levels of the second factor. Sample size estimation tools are provided for ROC and FROC studies; these use estimates of the relevant variances from a pilot study to predict required numbers of readers and cases in a pivotal study to achieve the desired power. Utility and data file manipulation functions allow data to be read in any of the currently used input formats, including Excel, and the results of the analysis can be viewed in text or Excel output files. The methods are illustrated with several included datasets from the author's collaborations. This update includes improvements to the code, some as a result of user-reported bugs and new feature requests, and others discovered during ongoing testing and code simplification.

Changes in 2.1.2

---

CRAN submission

  • Submitted 11/8/22 1:30 PM

After ggplot2 update

  • After ggplot2 update to 3.4.0
  • Standardized RSM exported function names: RSM_LLF, RSM_wLLF, RSM_FPF, RSM_TPF, RSM_NLF. These now match the usage in RJafrocFrocBook
  • 11/7/22 took out dealing with zeroes in lesDistr vector, too complex
  • Wherever geom_line() occurs, check that size aesthetic is replaced by linewidth

After Peter's fix to issue #85 due to changes in ggplot object structure 10/25/22

  • The fix just checks if object is a ggplot object, not details of the object
  • I checked that this works with the new version of ggplot2 installed by the following line
  • devtools::install_github('tidyverse/ggplot2@v3.4.0-rc')
Show all changes in 2.1.2Hide the rest of the changes in 2.1.2
  • Ran R CMD check success and merged developer into master branch

Checking all AUC related Cpp code vs. my R code 10/7/22

  • Discovered no need to replace error function with Phi function implementation; this is already done in Cpp code
  • Added UtilAnalyticalAucsRSM_R function which does not use Cpp code
  • Took out the tempTest flag in UtilAnalyticalAucsRSM; this uses Cpp
  • R CMD CHK

```

❯ checking dependencies in R code ... WARNING

'::' or ':::' import not declared from: ‘R’

```

  • Why is y_ROC_FPF_R generating a warning? This function is not called anywhere, so I commented it out; the warning disappears

Work post acceptance of v2.1.1

  • universal change: lambdaP to lambda and lambda to lambda_i 9/19/22
  • this corresponds with revised notation in book
  • PlotRsmOperatingCharacteristics depends on RSM parameters, not intrinsic parameters 9/22/22
  • Removed tests in test-LROCFomCheck.R could not resolve in time 9/22/22
  • Set default lesDistr = 1 in PlotRsmOperatingCharacteristics as we don't want user to have to input this value when it is not needed for the requested operating characteristic (e.g., FROC or AFROC).

From NEWS.md in the release

Install

Health

CRAN checks
13NOTE
Check messages
NOTERd filesr-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-x86_64, r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-x86_64, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-macos-arm64, r-release-macos-x86_64, r-release-windows-x86_64
checkRd: (-1) DfFroc2Roc.Rd:29: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:30: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:31: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:32: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:33: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:34: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:35: Lost braces in \itemize; meant \describe ?
checkRd: (-1) DfFroc2Roc.Rd:36: Lost braces in \itemize; meant \describe ?
checkRd: (-1) PlotRsmOperatingCharacteristics.Rd:75: Lost braces in \itemize; \value handles \item{}{} directly
checkRd: (-1) PlotRsmOperatingCharacteristics.Rd:76: Lost braces in \itemize; \value handles \item{}{} directly
checkRd: (-1) PlotRsmOperatingCharacteristics.Rd:77: Lost braces in \itemize; \value handles \item{}{} directly
checkRd: (-1) PlotRsmOperatingCharacteristics.Rd:78: Lost braces
...[truncated]...
temize; meant \describe ?
checkRd: (-1) datasetROI.Rd:14: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:15: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:16: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:17: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:18: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:19: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:20: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:21: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:22: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:23: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:24: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:25: Lost braces in \itemize; meant \describe ?
checkRd: (-1) datasetROI.Rd:26: Lost braces in \itemize; meant \describe ?

CRAN check page ↗

Slowest check: 10.3 min · r-oldrel-windows-x86_64
Status changes
  • NOTE13 NOTE2026-09-08
  • ERROR12 NOTE, 1 ERROR2026-09-07
  • NOTE14 NOTE2026-04-22
  • ERROR13 NOTE, 1 ERROR2026-04-18
  • NOTE14 NOTE2026-03-10
Advisories

none known

Documentation

In release 2.1.2
README· In the repository, left out of the releaseVignettesNoNEWSYes · 100% structured · mentions 2.1.2Citation fileNoWebsiteYes · pkgdown
Help pages
85includes a package overview page
Examples that run
86%69 run in a plain check · 7 only when donttest examples are enabled (R CMD check --as-cran) · 4 hold no code
Exported functions with examples
95%
Documented parameters
100%
Return-value docs
97%
Help pages citing references
51%

Downloads

3.7K
CRAN downloads in the past year
Rank #8,394 · ~10/day · ~311/mo
Daily download trend is not available in this view yet.
50530 days
1.1K90 days
3.7K1 year
Compare downloads with other packages →
Also on351 r2u6 autocran

Repository

20Stars
8Forks
0Open issues
0Open PRs
7Releases
1,106Commits
3Commit identities
artificial-intelligence-algorithmscomputer-aided-diagnosisroc-analysisfroc-analysistarget-localizationtarget-classificationai-optimizationcran
1,106 commits · Last activity 2025-04-20 · 0% stars, 30d · Default branch at 2.1.3, ahead of CRAN 2.1.2 (checked 2026-10-22)
Responsiveness
How these are sampled
PRs merged (all time)
82%
Median days to close, 50 most recently updated closed issues
2
Median days to close, 50 most recently updated closed PRs
0

Stars over time

2024-07-21 · 182026-09-20 · 20
PracticesBeta

7 development-tooling and community-health practices detected across 5 families in the upstream repository

Checks run against github.com/dpc10ster/rjafroc on 2026-10-22.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Docs source (2)

GitHub Pages site last deployed 2025-04-20 · The repository has a site deploy workflow

Coverage (1)
Coverage reporting
Lint, format, editor (1)
RStudio project
Show all practicesHide 1 practice
Git structural (1)
.gitattributes
How this is detected·Detection ruleset v4 (2026-10-20)

Dependencies

Declared dependencies
15 external dependencies (excludes base and recommended)

Installing RJafroc adds 42 packages (20 with compiled code, 35 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, readxl 2.1 MB.

Depends (1)
R >= 3.5.0
LinkingTo (1)
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

Datasets

People & History

People (3)
Maintainer since 1.0.0 (2018), Author, Copyright holder
Contributor · added in 2.0.1

Previously maintained by Xuetong Zhai (0.0.1 to 0.1.1).

Listed in earlier versions (3)
Show 3 peopleHide 3 people
no longer listed · 1.0.0 to 1.3.2
Alejandro RodriguezRuiz
no longer listed · 1.0.2 to 1.3.2
Peter Philips
no longer listed · 1.2.0 to 1.3.2
Releases (14)

Pick two releases to compare their code metrics.

  • R
    R 4.6.0 released · 2026-04-24
  • R
    R 4.5.0 released · 2025-04-11
  • R
    R 4.4.0 released · 2024-04-24
  • R
    R 4.3.0 released · 2023-04-21
  • 2.1.2Latest
    record
    2022-11-08 · current release · diff ↗ ·
    removed 9 exports
    DfReadLrocDataFile, RSM_erf, RSM_xFROC, RSM_yFROC, UtilIntrinsic2PhysicalRSM, UtilPhysical2IntrinsicRSM, funs, prod1, sum1
    added 5 exports
    RSM_LLF, RSM_NLF, RSM_wLLF, UtilIntrinsic2RSM, UtilRSM2Intrinsic
  • 2.1.1
    record
    2022-08-12 · diff ↗
  • 2.1.0
    record
    2022-07-24 · diff ↗ ·
    removed 3 exports
    Compare3ProperRocFits, UtilLesionDistr, UtilLesionWeightsDistr
    added 15 exports
    DfReadLrocDataFile, DfWriteExcelDataFile, RSM_erf, RSM_pdfD, RSM_pdfN, RSM_xFROC, RSM_xROC, RSM_yFROC, RSM_yROC, UtilLesionDistrVector, UtilLesionWeightsMatrixDataset, UtilLesionWeightsMatrixLesDistr, funs, prod1, sum1
  • R
    R 4.2.0 released · 2022-04-22
  • R
    R 4.1.0 released · 2021-05-18
  • 2.0.1
    record
    2020-12-15 · diff ↗ ·
    removed 10 exports
    DfFroc2Afroc, DfReadLrocDataFile, FitCorCbmRoc, SsPowerGivenJKDbmVarComp, SsPowerGivenJKOrVarComp, StSignificanceTestingCadVsRadiologists, StSignificanceTestingSingleFixedFactor, StSingleTreatmentRandomReader, UtilAucsRSM, UtilVarComponentsOR
    added 12 exports
    ChisqrGoodnessOfFit, FitCorCbm, SimulateFrocFromLrocDataset, SsPowerGivenJKDbmVarCom, SsPowerGivenJKOrVarCom, StSignificanceTestingCadVsRad, UtilAnalyticalAucsRSM, UtilDBM2ORVarCom, UtilOR2DBMVarCom, UtilORVarComponentsFactorial, isBinnedDataset, isValidDataset
  • R
    R 4.0.0 released · 2020-04-24
  • 1.3.2
    record
    2020-03-06 · diff ↗ ·
    removed 1 export
    FitCorCbm
    added 1 export
    FitCorCbmRoc
  • 1.3.1
    record
    2020-01-14 · diff ↗ ·
    removed 2 exports
    UtilLesionDistribution, UtilLesionWeights
    added 11 exports
    DfFroc2Lroc, DfLroc2Froc, SimulateLrocDataset, SsFrocNhRsmModel, SsPowerGivenJKDbmVarComp, SsPowerGivenJKOrVarComp, StSingleTreatmentRandomReader, UtilLesionDistr, UtilLesionWeightsDistr, UtilVarComponentsDBM, UtilVarComponentsOR
  • unarchivedReturned to CRAN
    2019-07-31
  • 1.2.0
    record
    2019-07-31 · diff ↗
  • R
    R 3.6.0 released · 2019-04-26
Show 12 earlier eventsHide 12 earlier events
  • archivedRemoved from CRAN
    2019-01-17
    installation errors were not corrected With C++11 on Solaris, as needed for R-devel
  • 1.1.0
    record
    2018-11-14 · diff ↗ ·
    removed 1 export
    ExampleCompare3ProperRocFits
    added 5 exports
    Compare3ProperRocFits, DfCreateCorCbmDataset, DfExtractCorCbmDataset, FitCorCbm, SimulateCorCbmDataset
  • 1.0.2
    record
    2018-05-31 · diff ↗ ·
    removed 1 export
    SsFROCPowerGivenJK
  • R
    R 3.5.0 released · 2018-04-23
  • 1.0.1
    record
    2018-02-18 · diff ↗
  • 1.0.0
    record
    2018-02-04 · diff ↗ ·
    removed 12 exports
    DBMHAnalysis, EmpiricalOpCharac, FROC2HrROC, FigureOfMerit, ORHAnalysis, OutputReport, PowerGivenJK, PowerTable, RJafrocGui, ReadDataFile, SampleSizeGivenJ, SaveDataFile
    added 40 exports
    Df2RJafrocDataset, DfBinDataset, DfExtractDataset, DfFroc2Afroc, DfFroc2Roc, DfLroc2Roc, DfReadCrossedModalities, DfReadDataFile, DfReadLrocDataFile, DfSaveDataFile, ExampleCompare3ProperRocFits, FitBinormalRoc, FitCbmRoc, FitRsmRoc, PlotBinormalFit, PlotCbmFit, PlotEmpiricalOperatingCharacteristics, PlotRsmOperatingCharacteristics, SimulateFrocDataset, SimulateRocDataset, SsFROCPowerGivenJK, SsPowerGivenJK, SsPowerTable, SsSampleSizeKGivenJ, StSignificanceTesting, StSignificanceTestingCadVsRadiologists, StSignificanceTestingCrossedModalities, StSignificanceTestingSingleFixedFactor, UtilAucBinormal, UtilAucCBM and 10 more
  • R
    R 3.4.0 released · 2017-04-21
  • R
    R 3.3.0 released · 2016-05-03
  • 0.1.1
    record
    2015-08-14 · diff ↗
  • 0.1.0
    record
    2015-07-30 · diff ↗ ·
    added 2 exports
    FROC2HrROC, RJafrocGui
  • 0.0.1
    record
    2015-04-24
  • R
    R 3.2.0 released · 2015-04-16

Package metadata

First published
2015-04-24
Total releases
14 / 11 yrs
License
GPL-3 OSI
Minimum R
≥ 3.5.0
Bundled data
124 KB / 23 files
Download size
3.6 MB

Cite

Cite this package

Run in R for the authors' preferred citation:

citation("RJafroc")
Chakraborty, D., Phillips, P., & Zhai, X. (2022). RJafroc: Artificial Intelligence Systems and Observer Performance (Version 2.1.2) [Computer software]. https://doi.org/10.32614/CRAN.package.RJafroc

This package has no citation file, so citation() returns this entry built from DESCRIPTION.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for RJafroc version 2.1.2 [Data set]. HJJB, LLC. Data release v2026-10-23. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy