How rikixy/virtual-staining works
Virtual Staining is a reproducible histopathology image-translation framework. Users configure a run, prepare slide sets into patches, train Pix2Pix or CycleGAN, generate images, then evaluate or compare results. It also supports single-image and directory inference, TIFF conversion, comparison panels, run organization, and queued staged runs. The graph reflects the sampled pipeline, inference, and metadata code plus README-documented capabilities; unsampled subsystem wiring is left unspecified.
Main entry points: pipeline.py Stage Orchestrator · runner.py Inference Runner · evaluate.py Run Evaluation · methods Translation Methods
Components 24
Run Workflow
- Stage Orchestrator
virtual_staining/applications/pipeline.py - Run Configuration
virtual_staining/config/run.py - Dataset Preparation
virtual_staining/applications/prepare.py - Slide Data Processing
virtual_staining/data - Run Session
virtual_staining/experiment/session.py
Translation Runtime
- Model Training
virtual_staining/applications/train.py - Training Runtime
virtual_staining/training/trainer.py - Translation Methods
virtual_staining/methods - Network Components
virtual_staining/models - Checkpoint Selection
virtual_staining/checkpoint_selection.py - Run Inference
virtual_staining/applications/infer.py - Inference Runner
virtual_staining/inference/runner.py - Image Inference
virtual_staining/inference/single.py - Generated Artifacts
virtual_staining/inference/outputs.py
Evaluation
- Run Evaluation
virtual_staining/applications/evaluate.py - Image Metrics
virtual_staining/metrics.py - Evaluation Reports
virtual_staining/evaluation/reports.py - Run Comparison
virtual_staining/applications/compare.py
Run Utilities
- TIFF Conversion
virtual_staining/applications/convert.py - Comparison Panels
virtual_staining/applications/compare_panels.py - Output Organization
virtual_staining/applications/organize.py - Queued Runs
virtual_staining/applications/run_queue.py - Dependency Status
virtual_staining/applications/status.py
Other components
- User
Connections 25
- User → Stage Orchestrator: runs stages
- Stage Orchestrator → Run Configuration: loads config
- Stage Orchestrator → Dataset Preparation: dispatches prepare
- Stage Orchestrator → Model Training: dispatches train
- Stage Orchestrator → Run Inference: dispatches infer
- Stage Orchestrator → Run Evaluation: dispatches evaluate
- Dataset Preparation → Slide Data Processing: builds patches
- Model Training → Training Runtime: starts training
- Training Runtime → Translation Methods: uses method
- Translation Methods → Network Components: constructs networks
- Run Inference → Inference Runner: runs inference
- Inference Runner → Checkpoint Selection: selects checkpoint
- Inference Runner → Translation Methods: builds predictor
- Inference Runner → Generated Artifacts: writes outputs
- User → Image Inference: infers images
- Image Inference → Generated Artifacts: writes outputs
- Run Evaluation → Image Metrics: computes metrics
- Run Evaluation → Evaluation Reports: writes reports
- User → Run Comparison: compares runs
- User → TIFF Conversion: converts TIFFs
- User → Comparison Panels: builds panels
- User → Output Organization: organizes outputs
- User → Queued Runs: queues runs
- Queued Runs → Stage Orchestrator: dispatches stages
- User → Dependency Status: checks dependencies