Section Break


Introduction


The juicr package for R contains tools for facilitating the extractions of numerical data from scientific images – like scatter-plots, bar-plots, and other charts/figures found in publications. Below is a description of functionalities and layout.

Updates to this vignette will be posted on our research webpage at USF.

For the source code of juicr see: http://cran.r-project.org/web/packages/juicr/index.html.


Acknowledgements

I thank everyone who watched my YouTube course Hard-boiled Synthesis and reached out to me about using juicr – you gave me the final push to complete this old project I started way back and abandoned in 2017!


How to cite? TBA, but for this beta version maybe:

Lajeunesse, M.J. (2021) Squeezing data from scientific images with the juicr package for R. R package, v. 0.1. CRAN


Installation and Dependencies

juicr has an external dependency that needs to be installed and loaded prior to use in R. This is the EBImage R package (Pau et al. 2010) available only from Bioconductor repository.

To properly install juicr, use the following script in R:

# first load Bioconductor resources needed to install the EBImage package 
# and accept/download all of its dependencies
install.packages("BiocManager"); 
BiocManager::install("EBImage")

# then load juicr
library(juicr)

Finally for Mac OS users, installation is sometimes not straighforward, as the GUI_juicr() requires the Tcl/Tk GUI toolkit to be installed. You can get this toolkit by making sure that the latest X11 application (xQuartz) is installed from here: xquartz.macosforge.org.


Report a bug? Have comments or suggestions?

Please email me any bugs, comments, or suggestions and I’ll try to include them in future releases: . Also try to include juicr in the subject heading of your email. Finally, I’m open to almost anything, but expect a lag before I respond and/or new additions are added.


Video tutorials on Youtube

Image name


Section Break


GUI layout and loading images


When running juicr without a file specified, the layout is simple:


main juicr input/ouput bar


Images can be loaded into juicr using the add new image(s) button. Alternatively one or many images (as a vector of file name strings) can be included via console:

# then load juicr
library(juicr)
GUI_juicr("Kam_et_al_2003_Fig2.jpg")
# or many files
GUI_juicr(c("Kam_et_al_2003_Fig2.jpg", "Kortum_and_Acymyan_2013_Fig4.jpg"))
If an image is loaded, the main window will look like this:


main juicr window


Section Break


Automated extraction functionality


The center section of juicr includes two options: automated or manual tools for extracting data. The automated tools include:


main juicr input/ouput bar


By pressing the large juicr-hex button, it will first determine automatically plot type (e.g., scatter or bar for now), and then begin attempts to extract data from the image. Successes of extractions, such as whether the y-axis was detected, will presented as an orange orange (detected), and failures as gray oranges (not-detected). Also included a suite of semi-automated tinkering options to help juicr detect the desired image objects.


Section Break


Manual extraction functionality


A large diversity of manual extraction tools are available:


main juicr manual window


main juicr secondary manual window


Section Break


Saving extractions and generating reports


Currently, juicr offers extractions to be saved as .csv files, copied into clipboards, saved as postscript .eps files, or as a fully-embedded and standalone .html file that retains all information of extractions, juicr setup, and image modifications for permanent and replicable storage of data.

Here is an example of a report: