Skip to content

EuropeanIFCBGroup/ClassiPyR

Repository files navigation

ClassiPyR ClassiPyR website

Lifecycle: experimental R-CMD-check codecov DOI

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

Background

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.

Features

  • 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 .mat export 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

Installation

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 Setup (optional)

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)

Quick Start

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.

Documentation

Citation

citation("ClassiPyR")

License

MIT License - see LICENSE file.

Disclaimer

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.