---
title: "histo"
description: "Histopathology imaging, whole-slide-image tiling/serving, tissue segmentation, and vxAnnotate-produced pathology assessments."
image: "https://docs.virdx.dev/img/virdx-social-card.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.virdx.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# histo

Goal: produce and serve histopathology ground truth (whole-slide images,
tissue/anatomy segmentation, PIRADS/ISUP/PIQUAL pathology assessments) that
grounds the `diffsim` biophysical tissue model and provides labels/eval
data for `ve2e`.

No dedicated monthly report has ever been filed for `histo` (not even an
explicit gap stub beyond January) — treat month-by-month status as largely
undocumented here; the June 2026 engineering report notes `histo` ran a
large-scale formal evaluation of vxAnnotate outputs (243 files / 57k lines)
that same month.

## What's documented so far

- **WSI tile serving**: `dashboard-api` serves histo WSI tiles directly (no
  separate tile server) via `large_image` TIFF tiling + OME-Zarr streaming,
  behind the `@virdx/ui-components` `TileViewer`. See
  [Dashboard histo tile serving](/knowledge/wiki/workstreams/infrastructure/sops/dashboard-histo-tile-serving).
- **Preprocessing performance**: the `histo-preprocessing` inference service
  (mono `apps/inference`) is libvips/pyvips-based; libvips is not
  cgroup-aware and will oversubscribe threads unless `VIPS_CONCURRENCY` is
  pinned. See
  [Histo preprocessing libvips container performance](/knowledge/wiki/workstreams/histo/sops/histo-preprocessing-performance).
- **viseg segmentation inference**: resolve model weights via ClearML and run
  `VisegInferenceModel`. See [Viseg segmentation inference](/knowledge/wiki/workstreams/histo/sops/viseg-inference);
  for the data-access half use
  [vxData SDK + schema model](/knowledge/wiki/workstreams/infrastructure/sops/vxdata-sdk-and-schema-model)
  (the old `vxp_client` API died with the archived `data-platform` repo).
- **New schemas paired with histo output**: `HistoScan` (zarr-backed tissue
  scan), `HistoMap` (zarr-backed parameter/segmentation map over a
  `HistoScan`), `DiffSimOutput` (diffusion-sim `.nii` referencing a
  `HistoScan`+`HistoMap`) landed in vxData May 2026 — see
  [vxData SDK + schema model](/knowledge/wiki/workstreams/infrastructure/sops/vxdata-sdk-and-schema-model)
  for the current payload-type list.
- **vxAnnotate integration bugs**: the ISUP/PIRADS mask silent-drop bug
  (VBC-1250, `pl.col(...).first()` in a `group_by`) and the empty-mask RLE
  bug (native-res masks truncated because the frontend picked the wrong
  reference series) are both fixed; the traps they came from are written up in
  [vxData jobs ingestion patterns](/knowledge/wiki/workstreams/infrastructure/sops/vxdata-jobs-ingestion)
  and
  [workstreams/infrastructure/sops/vxannotate-vxdata-sync.md](/knowledge/wiki/workstreams/infrastructure/sops/vxannotate-vxdata-sync).

## SOPs

See [sops/](/knowledge/wiki/workstreams/histo/sops). No `projects/` subdirectory exists yet — add one
as time-bound histo projects get synthesized from `inbox/`.

Source: https://docs.virdx.dev/knowledge/wiki/workstreams/histo/index.mdx
