A Shiny application for manual (human) image classification and validation of Imaging FlowCytobot (IFCB) plankton images. Built for researchers who need to validate automated classifications or create training datasets for machine learning classifiers.
Full documentation: europeanifcbgroup.github.io/ClassiPyR
ClassiPyR was created to provide a lightweight, standalone annotation and validation tool that is fully compatible with the ifcb-analysis toolbox and custom classifiers (e.g. a CNN). The primary design goals were user-friendliness and portability—enabling researchers to work with IFCB data without complex setup requirements or dependencies on specific computing environments (other than Python and R). To achieve these goals efficiently, Claude Code was used for development.
- Dual Mode: Validate existing classifications or annotate from scratch
- Multiple Formats: Load from CSV or MATLAB classifier output
- SQLite Storage: Annotations stored in a local SQLite database by default - no Python needed
- Efficient Workflow: Drag-select, batch relabeling, class filtering
- MATLAB Compatible: Optional
.matexport for ifcb-analysis toolbox - CNN Training Ready: Organized PNG output by class
- Measure Tool: Built-in ruler for image measurements
- Cross-Platform: Works on all platforms with no external dependencies
Install the latest release from GitHub using the remotes package:
# Install remotes
if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes")
# Install ClassiPyR
remotes::install_github("EuropeanIFCBGroup/ClassiPyR",
ref = remotes::github_release())ClassiPyR depends on iRfcb for IFCB data handling, which is installed automatically.
Python is not required for the default workflow. Annotations are stored in a local SQLite database that works out of the box.
Python is only needed if you want to export annotations as MATLAB .mat files for use with ifcb-analysis. To set up using iRfcb:
library(iRfcb)
# Define a path were the venv will be installed
venv_path = "/path/to/your/venv"
# Install the venv
ifcb_py_install(venv_path)library(ClassiPyR)
run_app()
# Or specify a Python virtual environment (takes priority over saved settings)
run_app(venv_path = venv_path)See the Getting Started guide for detailed setup instructions.
- Getting Started - First-time setup
- User Guide - Complete feature reference
- Class List Management - Managing classes for ifcb-analysis
- FAQ & Troubleshooting - Common issues
citation("ClassiPyR")MIT License - see LICENSE file.
This software is provided for research and educational purposes. Users are responsible for their data and annotations. Always maintain backups of your original data.
This package was partly developed with the assistance of Claude Code, an AI programming assistant by Anthropic.
