Cephla HCS Viewer

We’ve developed an HCS (High Content Screening) viewer that displays stitched OME-ZARR datasets as interactive well plate grids with real-time thumbnail synchronization. Users can click any well thumbnail to open it in an embedded napari viewer.

Video
Github Repo

Usage:

  1. Drop dataset folder onto launcher or specify path
  2. Click any well thumbnail to view in napari
  3. Adjust contrast/visibility - changes apply to all thumbnails
  4. Cycle through wells
  5. Toggle layout orientation with right-click menu

Expected File Structure
dataset_dir/
├── 0_stitched/ # Timepoint directory
│ ├── A1.ome.zarr # Well regions
│ ├── A2.ome.zarr
│ └── …
├── 1_stitched/ # Additional timepoints
└── …

Output

  • In-memory caching for fast thumbnail updates
  • No modifications to original OME-ZARR data
  • Real-time contrast/visibility synchronization
  • Cross-platform Qt6 interface

Modules:

Grid Display (WellPlateWidget)

  • Renders wells in standard plate formats (4, 6, 12, 24, 96, 384, 1536-well)
  • Generates composite RGB thumbnails from multi-channel data
  • Hover and click-to-open functionality

Thumbnail Generation (ThumbnailWorker)

  • Loads OME-ZARR data with parallel processing (ThreadPoolExecutor)
  • Caches channel data in memory for instant updates
  • Applies contrast limits and visibility before compositing

Contrast Synchronization (GridViewerGUI)

  • Monitors napari layer contrast_limits and visible events
  • Preserves user settings when switching between wells
  • Smart update detection (only regenerates when necessary)

Customizable Parameters:

  • thumbnail_size: Default 80 pixels (speed/quality balance)
  • max_threads: Worker count (default: 16)
  • update_delay: Throttling delay (default: 100ms)
  • handle_width: Splitter size (default: 8px)