Skip to content

🔬 Lab Tools Index


Status Legend

🟢 Active: Actively maintained.
🟡 Stable: No new features, but it works. Use as-is.
🟠 Orphaned: (Use at your own risk). Unmaintained.
🔴 Deprecated: Do not use for new projects.


Getting Started

Essential templates and starting points for new lab members.

ell_code_templates

  • Status: 🟢 Active
  • Developed by: Frederic Ballosera
  • Description: Python templates and working examples for cell image analysis workflows. Includes base and advanced templates with configuration management, logging, and batch processing. Five complete examples: cell cropping, Cellpose segmentation, micronuclei detection, Otsu thresholding, and Phenocycler QPTIFF extraction. Recently added cell cycle quantification (Oct 2025).
  • Link: https://github.com/CellProfiling/ell_code_template
  • Key Features:
    • Base template (beginner-friendly) and advanced template (parallel processing)
    • Configuration hierarchy: hardcoded → YAML → CLI arguments
    • CSV-driven batch processing
    • Shared utilities: image_handling, micronuclei analysis, cell cycle quantification
    • Thread-safe concurrent operations

      Note: Start here! Before writing a new analysis script, check this repo for a template. Actively maintained with regular feature additions.


Cell & Nuclei Segmentation

Tools for segmenting cells and nuclei in microscopy images.

HPA Cell Segmentation

  • Status: 🟡 Stable (HPA-Cell-Segmentation) / 🟢 Active (HPACellSegmentatorPortable)
  • Developed by:
    • HPA-Cell-Segmentation: Hao Xu, Fredric Johansson, Casper Winsnes
    • HPACellSegmentatorPortable: Frederic Ballosera
  • Description: Automated cell and nuclei segmentation tools for confocal microscopy images. Uses DPN-UNet architecture with pretrained models. HPA-Cell-Segmentation is the original mature implementation (last updated Jan 2024). HPACellSegmentatorPortable is a modernized rework with updated dependencies, simplified usage, and better cross-platform support (actively maintained through Aug 2025).
  • Links:
  • Key Features:
    • Multi-channel segmentation (microtubules, ER, nuclei)
    • Pretrained models with auto-download
    • GPU acceleration (CUDA 11.2)
    • Batch processing, optional cell crops with binary masks
    • Flexible configuration (YAML, CLI, CSV batch files)

      Note: Please use HPACellSegmentatorPortable for all new projects. It works with modern Python libraries and has fewer dependency issues.


Subcellular Protein Localization

Tools for analyzing protein subcellular localization patterns.

SubCell / SubCellPortable

  • Status: 🟢 Active (both repositories)
  • Developed by: Ankit Gupta, Konstantin Kahnert, Frederic Ballosera
  • Description: Self-supervised vision foundation model for protein subcellular localization prediction and cellular morphology analysis. subcell-embed is the research training framework for developing new models. SubCellPortable is the inference wrapper for running predictions on new datasets. SubCellPortable generates 1536-dimensional embeddings and predicts protein localization across 31 compartments from multi-channel fluorescence microscopy images.
  • Links:
  • Key Features: PyTorch-based, supports H5AD/AnnData output, GPU-accelerated batch processing, S3 download support
  • Citation: Gupta et al. (2024) bioRxiv: 10.1101/2024.12.06.627299

Embedding & Feature Extraction

Tools for generating embeddings and feature representations from microscopy images.

SubCell / SubCellPortable

  • Status: 🟢 Active
  • Developed by: Ankit Gupta, Konstantin Kahnert, Frederic Ballosera
  • Description: Generates high-quality 1536-dimensional embeddings that capture cellular morphology and protein localization patterns. These embeddings can be used for downstream analysis, clustering, classification, and visualization tasks.
  • Links:
  • Key Features: Self-supervised learning, proteome-wide feature extraction, H5AD/AnnData output format, scanpy-compatible

    Note: See full details in Subcellular Protein Localization section above.


Image Visualization & Exploration

Tools for viewing and exploring microscopy images.

ellviewer

  • Status: 🟢 Active
  • Developed by: Frederic Ballosera
  • Description: HTML-based multi-channel microscopy image viewer. Useful for sharing layered fluorescence images with dynamic channel controls, transparency adjustment, and zoom/pan functionality. Runs as static HTML with CSV-based configuration. Supports pyramidal tiling for high-resolution imagery (15000+ pixels). GPU-accelerated rendering with Fabric.js.
  • Link: https://github.com/CellProfiling/ellviewer
  • Key Features:
    • Static HTML deployment
    • CSV metadata file for configuration
    • Multi-channel compositing with 8-bit/16-bit support
    • Dynamic transparency, coloring, intensity clipping
    • Optional pixel-to-micron scaling
    • Python utility for pyramid generation (create_pyramid.py)

      Note: Useful for sharing JUMP pilot images and multi-channel immunofluorescence datasets. Last updated July 2025.


Data Processing Pipelines

Workflow pipelines for large-scale data processing.

JUMP-Pilot Processing Script


Image Format Conversion & Metadata (ImageJ plugins)

ImageJ plugins for converting microscope vendor-specific formats to standardized formats and processing image metadata.

TifCs_To_HPA-PNG-JPEG

  • Status: 🟢 Active
  • Developed by: Jan N. Hansen
  • Description: A FIJI ImageJ plugin that converts single-channel TIFF files into PNG/JPEG formats styled after the Human Protein Atlas. Provides intensity scaling with customizable percentile-based adjustment (16-bit to 8-bit), channel merging capabilities for multi-channel overlays, and batch processing support for consistent image adjustment across datasets. Includes white channel support for brightfield/transillumination integration.
  • Link: https://github.com/CellProfiling/TifCs_To_HPA-PNG-JPEG
  • Key Features:
    • Batch processing with grouped adjustment
    • Customizable intensity scaling (default: 0.001% to 99.999% percentiles)
    • Multi-channel merging with individual channel exports
    • White channel support for brightfield integration
    • Zenodo archival (DOI: 10.5281/zenodo.17237265)

Sp8-Lif_To_Memento

  • Status: 🟢 Active
  • Developed by: Jan N. Hansen
  • Description: A FIJI plugin designed to convert microscopy data from Leica Sp8 confocal microscopes (.lif files) into accessible formats including .ome.tif, PNG, JPG, or multi-page TIF. Supports 3D stack images and multi-channel hyperstacks with 99.9% percentile intensity scaling at the image level. Includes CSV-based metadata mapping for antibody ID, plate ID, and protein names, making output suitable for Memento projects.
  • Link: https://github.com/CellProfiling/Sp8-Lif_To_Memento
  • Key Features:
    • 3D stack and hyperstack support
    • Multiple output format options (.ome.tif, PNG, JPG, multi-page TIF)
    • CSV metadata integration
    • Intensity scaling at image level for consistency
    • Companion tool available for joint intensity scaling across wells
    • Zenodo archival (DOI: 10.5281/zenodo.15778558)

HPA_Convert_OPERA_To_LIMS-OMETIF

  • Status: 🟢 Active
  • Developed by: Jan N. Hansen
  • Description: An ImageJ plugin that converts image output from Opera Phenix and Operetta CLS microscopes into OME-TIF format with proper metadata preservation. Restructures OPERA microscope output folders into organized directory structures (LIMS-style, canonical OME-TIF, or Memento-compatible). Features coordinate correction from OPERA's well-relative system to LIMS plate-based schemes and optional automatic cropping from standard 2160×2160 pixel output.
  • Link: https://github.com/CellProfiling/HPA_Convert_OPERA_To_LIMS-OMETIF
  • Key Features:
    • Three output format options (LIMS, canonical OME-TIF, Memento)
    • Metadata transfer from OPERA XML to OME-TIF XML
    • X/Y coordinate correction for plate-based systems
    • Automatic image cropping capability
    • Batch folder processing

HPA_Convert_Sp8_To_OMETIF

  • Status: 🟢 Active
  • Developed by: Jan N. Hansen
  • Description: A FIJI plugin that converts OME-TIF files exported from Leica's LASX microscopy software (DMi8-Sp8 or Stellaris 8) into HPA LIMS-compliant OME-TIF formats. Processes 3D viewer-exported image files from confocal microscopes with batch processing capabilities and OME XML metadata correction. Supports both z-stack and non-z-stack images.
  • Link: https://github.com/CellProfiling/HPA_Convert_Sp8_To_OMETIF
  • Key Features:
    • Batch folder processing
    • Z-stack and non-z-stack support
    • OME XML metadata correction
    • LASX software compatibility (DMi8-Sp8, Stellaris 8)
    • Complementary to Sp8-Lif_To_Memento for different export workflows

HPA_LIMS_Channel_Selector

  • Status: 🟡 Stable
  • Developed by: Jan N. Hansen
  • Description: An ImageJ plugin developed for the HPA Sperm project that selects the best channel from two channels acquired under identical settings but with different gain or exposure times. Works exclusively with output from HPA_Convert_OPERA_To_LIMS-OMETIF, providing an important quality-control step in the image processing pipeline for dual-acquisition imaging workflows.
  • Link: https://github.com/CellProfiling/HPA_LIMS_Channel_Selector
  • Key Features:
    • Dual-channel quality selection based on acquisition parameters
    • Works with HPA_Convert_OPERA_To_LIMS-OMETIF output folder structure

      Note: Requires HPA_Convert_OPERA_To_LIMS-OMETIF as a preprocessing step. Last updated December 2023.


Infrastructure & Utilities

Scripts and utilities for lab infrastructure and data management.

backup_to_ellvault.sh

  • Status: 🟡 Stable
  • Developed by: Konstantin Kahnert
  • Description: rclone-based script for automated backups from Sherlock to ell-vault storage. Supports multiple backup modes: full directories (GROUP_HOME, GROUP_SCRATCH, SCRATCH), single folders, or batch lists from CSV. Features file locking to prevent concurrent runs, configurable verification (size-only or checksum), optional sync mode, and dry-run testing. Includes crontab examples for scheduled backups.
  • Download: backup_to_ellvault.sh
  • Sherlock Locations:
    • Utility folder: $GROUP_HOME/utils/backup_to_ellvault.sh
  • Key Features:
    • Five backup modes: --group_home, --group_scratch, --scratch, --folder, --folders-file
    • Optional --sync (mirrors, deletes remote extras), --dry-run (test mode), --checksum (thorough verification)
    • File locking with 6-hour timeout
    • Automated mapping: GROUP_HOME → ell_vault:/sherlock/group_home, etc.
    • Configured rclone settings: 32 checkers, 16 transfers, fast-list, mmap
  • Usage Examples:
    # Backup entire group home
    backup_to_ellvault.sh --group_home
    
    # Backup specific folder
    backup_to_ellvault.sh --folder "$GROUP_SCRATCH/konstantin/projectA"
    
    # Batch backup from list
    backup_to_ellvault.sh --folders-file folders_to_backup.txt
    
    # Sync mode (careful - deletes remote extras!)
    backup_to_ellvault.sh --group_scratch --sync
    

    Note: This is the only official script for backing up to ell-vault. Always use this instead of raw rclone commands to ensure proper locking and verification.


Archive (Deprecated Tools)

Tools in this section are no longer recommended for new work but may be referenced in legacy projects.

hpa_densenet

  • Status: 🔴 Deprecated
  • Developed by: Casper Winsnes, Frederic Ballosera
  • Description: DenseNet-based model for protein localization prediction in HPA images. Implements the winning solution from the HPA Kaggle Image Classification Challenge. Provides pipeline for image preprocessing, model inference, feature extraction, and UMAP-based visualization of latent features.
  • Link: https://github.com/CellProfiling/hpa_densenet
  • Key Features: 4-channel (RGBY) image processing, DPN-UNet architecture, PyTorch 2.2.1

    Note: Deprecated. For new projects, use SubCell models for more modern architectures and broader capabilities. Last updated March 2024.