The iRfcb R package offers a suite of tools for managing and performing quality control on plankton data generated by the Imaging FlowCytobot (IFCB). It streamlines the processing and analysis of IFCB data, facilitating the preparation of IFCB data and images for publication (e.g. in GBIF, OBIS, EMODNet, SHARK or EcoTaxa). It is especially useful for researchers using, or partly using, the MATLAB ifcb-analysis package.
- Data Management: Functions for reading raw and processed IFCB files, counting and summarizing annotated or classified image data, and accessing, correcting, and merging manually annotated datasets.
- Quality Control: Tools for geospatial quality control of IFCB data and analysis of Particle Size Distribution.
- Image Extraction: Tools to extract and prepare images for publication.
- Image Classification: Functions to classify IFCB images through a CNN model served by a Gradio application.
- Taxonomical Data: Tools for handling and analyzing taxonomic data and calculating biomass concentration from image data.
You can install iRfcb from CRAN using:
install.packages("iRfcb")To access a feature from the development version of iRfcb, install the latest development version from GitHub using the remotes package:
# install.packages("remotes")
remotes::install_github("EuropeanIFCBGroup/iRfcb")For a detailed overview of all available iRfcb functions, please visit the reference section:
Explore the key features and capabilities of iRfcb through the tutorials:
- iRfcb Introduction
- Quality Control of IFCB Data
- Handling MATLAB Results
- Creating a DwC-A from IFCB Data
- Sharing Annotated IFCB Images
- Prepare IFCB Images for EcoTaxa
- WHOI-Plankton Data Integration
iRfcb is designed for integration into IFCB data processing pipelines. For an example, see its implementation in the following project:
Some functions in iRfcb require Python, and you will be notified when you call one of these functions. You can download Python from the official website: python.org/downloads. For details on which functions require Python, please visit the project's Function Reference.
A Python virtual environment (venv) can be created using the ifcb_py_install() function before calling functions that require Python.
The iRfcb package can also be configured to automatically activate an installed Python venv upon loading by setting an environment variable. This feature is especially useful for users who regularly interact with Python dependencies within the iRfcb package.
- Description: The
USE_IRFCB_PYTHONenvironment variable controls whether the package automatically activates a pre-installed Python venv (e.g. usingifcb_py_install()) when the package is loaded. The optionalIRFCB_PYTHON_VENVvariable controls which venv is activated. - Default: By default, neither variable is set. This means that the Python environment will not be loaded automatically, and the user must call the
ifcb_py_install()function manually before using a Python feature. - Usage: To enable automatic setup of the Python environment when
iRfcbis loaded, setUSE_IRFCB_PYTHONto"TRUE". By default the package activates the first available venv namediRfcbfound inreticulate::virtualenv_root()(as listed byreticulate::virtualenv_list()). To load a specific environment instead, also setIRFCB_PYTHON_VENVto either the name of a venv underreticulate::virtualenv_root()or a full path to a venv directory. IfIRFCB_PYTHON_VENVis set but cannot be resolved, no environment is activated (auto-discovery is not attempted). Both variables must be set beforeiRfcbis loaded.
You can set the variables in your R session or make them persistent across sessions:
-
Temporary for the session: Set the variables before loading
iRfcb:Sys.setenv(USE_IRFCB_PYTHON = "TRUE") Sys.setenv(IRFCB_PYTHON_VENV = "/path/to/my/venv") # optional; or a named venv, e.g. "iRfcb-3.11"
-
Permanent across sessions: To ensure these settings persist across R sessions, add them to your
.Renvironfile in your R home directory. You can easily edit the file using:usethis::edit_r_environ("user")
Then add the following lines (the second is optional):
USE_IRFCB_PYTHON=TRUE IRFCB_PYTHON_VENV=/path/to/my/venvThis will automatically set the environment variables each time you start an R session.
If you encounter a bug or need an IFCB feature that’s missing, please report it on GitHub with a minimal reproducible example.
For more details and the latest updates, visit the GitHub repository.
This package is licensed under the MIT License.
