explaingit

dzw131/segevo

0PythonAudience · researcherComplexity · 4/5ActiveSetup · moderate

TLDR

Python observation tool that logs per-case predictions, error maps, and feature space movement across epochs for medical image segmentation models.

Mindmap

mindmap
  root((SegEvo))
    Inputs
      Validation cases
      Predictions per epoch
      Layer features
    Outputs
      Case timeline
      Feature PCA view
      Boundary metrics
    Use Cases
      Track segmentation evolution
      Spot regressions per case
      Inspect boundary errors
    Tech Stack
      Python
      PyTorch
      PCA
      Dashboard

Things people build with this

USE CASE 1

Track how a medical segmentation model improves on a fixed set of validation cases across epochs

USE CASE 2

Visualize false positives and false negatives per case with the error map view

USE CASE 3

Inspect how internal features for foreground, boundary, and hard background separate over training

USE CASE 4

Compare boundary Dice, surface Dice, and HD95 alongside the standard per-epoch scores

Tech stack

PythonPyTorchPCA

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires an existing PyTorch segmentation training loop and a small fixed validation set chosen ahead of time.

In plain English

SegEvo is an observation tool for people training medical image segmentation models, the kind of programs that draw outlines around organs, tumors, or lesions in scans. It is not a new training framework. Instead, it sits alongside an existing PyTorch training loop and records what happens to a small fixed set of test cases as the model learns over many epochs, so the researcher can see how the model is improving rather than only seeing a single final score. The motivation is that common end of training numbers like Dice or HD95 only describe the last moment. They do not show whether a particular case got better smoothly or kept regressing, whether remaining mistakes are false positives, false negatives, or shifted boundaries, and whether the model's internal feature representation is actually organizing itself in a useful way. SegEvo is built to answer those questions, which matter in medical work where small objects, fuzzy edges, and scanner differences can hide problems behind aggregate metrics. The tool is installed as a Python package and ships with a command line demo plus a dashboard. The dashboard has three pages. Case Timeline shows the input image with the ground truth and the prediction, an error map of false positives and false negatives, and a metric history. Feature Space is a 3D PCA view that shows how sampled internal features for foreground, boundary, hard background, false positive, and false negative regions move and separate across epochs. Boundary Learning reports boundary specific metrics like boundary Dice, surface Dice, and HD95. Using SegEvo in a project means picking some validation cases, calling a logger every few epochs with the image, the ground truth, and the prediction, and optionally attaching PyTorch hooks to record features from named layers.

Copy-paste prompts

Prompt 1
Install SegEvo and wire its logger into my PyTorch training loop to record predictions every 5 epochs
Prompt 2
Attach PyTorch forward hooks for the encoder bottleneck so SegEvo can show feature-space movement
Prompt 3
Launch the SegEvo dashboard and walk me through the Case Timeline view for case_017
Prompt 4
Add a new dashboard page that overlays predictions from two training runs on the same case
Prompt 5
Export the boundary metrics table from SegEvo as CSV for a paper appendix
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.