How halmosil/voxellabel works
CT Annotation Platform manages DICOM imaging and clinical records organized into cases and studies, then supports annotation, review, and study workflows. The main path is browser upload/import → asynchronous ingestion and de-identification → object storage and metadata → browsing and annotation → workflow review. Admin capabilities also cover memberships, clinical data, analytics, and reusable workflow templates. The README documents the end-to-end service path; some subsystem links below are based on its documented roles and the repository tree rather than sampled implementation.
Main entry points: App.tsx Admin console · database.py Platform database · pipeline.py DICOM pipeline · routes.py Data API
Components 24
User applications
- Admin console
admin-ui/src/App.tsx - CT viewer
ct-annotator/frontend/src/pages/ViewerPage.tsx - Clinician desktop
clinician-app/main.js
DICOM ingestion
- Upload API
services/ingestion-service/app/api/routes.py - Async jobs
services/ingestion-service/app/tasks.py - DICOM pipeline
services/ingestion-service/app/pipeline.py - De-identification
services/ingestion-service/app/deidentify.py
Platform services
- Data API
services/data-service/app/api/routes.py - Admin API
services/admin-service/app/main.py - Shared data model
libs/shared-models/shared_models/models.py - Platform database
libs/shared-models/shared_models/database.py - Object storage
- Study analytics
services/admin-service/app/study_analytics/api.py - Usage insights
services/admin-service/app/usage/api.py
Annotation and review
- Annotation API
services/annotation-service/app/api/routes.py - Annotation masks
ct-annotator/backend/app/storage.py
Study workflows
- Workflow API
services/admin-service/app/api/workflow/routes.py - Workflow run engine
services/admin-service/app/api/workflow/engine.py - Pipeline templates
services/admin-service/app/api/pipeline_templates.py
Other components
- Clinician / admin
- Keycloak
- Job broker
- Ollama model
- MCP tools
services/mcp-server/app/server.py
Connections 34
- Clinician / admin → Admin console: uses
- Clinician / admin → CT viewer: annotates
- Clinician / admin → Clinician desktop: uses
- Admin console → Upload API: uploads
- Upload API → Async jobs: queues jobs
- Async jobs → Job broker: dispatches
- Async jobs → DICOM pipeline: runs
- DICOM pipeline → De-identification: de-identifies
- DICOM pipeline → Object storage: stores DICOM
- DICOM pipeline → Platform database: persists metadata
- Admin console → Data API: browses data
- Data API → Platform database: reads records
- Data API → Object storage: reads files
- Data API → CT viewer: provides data links
- CT viewer → Annotation API: submits work
- Annotation API → Platform database: reads and writes
- Annotation API → Annotation masks: stores masks
- Annotation masks → Object storage: writes masks
- Admin console → Admin API: administers studies
- Admin API → Platform database: manages records
- Admin API → Object storage: accesses files
- Admin console → Workflow API: edits workflows
- Workflow API → Workflow run engine: runs cards
- Workflow run engine → Platform database: reads and updates
- Admin console → Pipeline templates: manages templates
- Pipeline templates → Platform database: persists templates
- Admin console → Study analytics: views study metrics
- Study analytics → Platform database: queries study data
- Admin console → Usage insights: views usage
- Usage insights → Platform database: queries usage data
- Admin console → Keycloak: authenticates
- CT viewer → Keycloak: authenticates
- Workflow API → Ollama model: requests chat
- Workflow API → MCP tools: uses tools via