VoxTell es un modelo de visión-lenguaje 3D que segmenta estructuras en imágenes médicas volumétricas a partir de indicaciones en texto libre. Entrenado en más de 62.000 volúmenes de TC, RM y PET que abarcan más de mil clases anatómicas y patológicas, el modelo representa un avance concreto en segmentación automática. Gustavo Gomes Formento, investigador de RT Medical Systems, desarrolló dos integraciones open source que conectan VoxTell a interfaces web interactivas y al Varian Eclipse ESAPI, creando prototipos de investigación que aproximan modelos académicos al flujo de trabajo real de radioterapia.
Este artículo detalla la arquitectura del modelo, las dos integraciones públicas — web y ESAPI — y el pipeline de conversión de coordenadas DICOM que hace posible todo esto. Todo el contenido se refiere exclusivamente a herramientas de investigación y evaluación técnica, nunca a software clínico.
Qué Cambia VoxTell en la Segmentación 3D

Los modelos convencionales de segmentación operan con etiquetas fijas. Si el modelo no fue entrenado para «tumor de fosa posterior», simplemente no segmenta. VoxTell reemplaza ese paradigma con indicaciones en texto libre: el operador escribe la estructura deseada — desde «hígado» hasta «riñón izquierdo con quiste cortical» — y el modelo genera la máscara volumétrica correspondiente.
La arquitectura combina un encoder de imagen 3D con Qwen3-Embedding-4B como encoder de texto congelado. Un decoder de indicaciones transforma las consultas textuales y las representaciones de imagen latentes en características textuales multiescala. El decoder de imagen fusiona información visual y textual a múltiples resoluciones usando fusión query-imagen al estilo MaskFormer con supervisión profunda. El resultado: segmentación zero-shot con rendimiento de vanguardia en estructuras conocidas y generalización razonable para clases nunca vistas.
El paper original (arXiv:2511.11450) documenta entrenamiento en 158 datasets públicos que cubren cerebro, cabeza y cuello, tórax, abdomen, pelvis y sistema musculoesquelético — incluyendo estructuras vasculares, subestructuras de órganos y lesiones. Una base que refleja la migración de la IA de algoritmos aislados a la integración en el flujo de trabajo.
Interfaz Web: Visor 3D, RTStruct e Ingeniería para GPU Limitada

Desarrollado por Gustavo Gomes Formento (RT Medical Systems), el voxtell-web-plugin es una aplicación FastAPI + React/TypeScript que pone el modelo detrás de una interfaz accesible. El operador carga un volumen (.nii, .nii.gz o DICOM), escribe una indicación como «liver» o «prostate tumor», y recibe la máscara 3D superpuesta en el visor NiiVue en tiempo real.
La ingeniería de bajo consumo de VRAM es el diferencial práctico. El encoder de texto Qwen3-Embedding-4B corre en float16, reduciendo el uso de memoria de ~15 GB a ~7,5 GB. El asignador de memoria usa expandable_segments=True para reducir la fragmentación, y el sliding window opera con perform_everything_on_device=False para descarga parcial a CPU. Con esto, GPUs de 12 GB ya pueden ejecutar inferencia — hardware que se encuentra en estaciones de trabajo de investigación, no solo en clusters.
El visor soporta acumulación de múltiples segmentaciones (hígado + bazo + riñones en la misma sesión), dibujo manual para refinamiento, y exportación en NIfTI y RTStruct. La exportación RTStruct es particularmente relevante: produce un archivo DICOM-RT que puede importarse en sistemas de planificación para evaluación comparativa — siempre en contexto de investigación.
Atención a la orientación: las imágenes deben estar en orientación RAS para una correcta localización anatómica izquierda/derecha. Las discrepancias de orientación producen resultados en espejo o incorrectos. PyTorch 2.9.0 presenta un bug de OOM en convoluciones 3D; la versión recomendada es 2.8.0 o anterior.
Varian Eclipse ESAPI: Cómo Funciona la Integración

También creado por Gustavo (RT Medical Systems), el VoxTell-ESAPI agrega dos componentes al ecosistema: un servidor Python/FastAPI que recibe datos de TC vía HTTP y ejecuta inferencia en GPU, y un plugin C# ESAPI que extrae TC de Varian Eclipse, lo envía al servidor y reimporta los contornos resultantes como estructuras RT.
El flujo de trabajo completo funciona así:
- El operador abre un paciente en Eclipse con TC y structure set existente
- El plugin crea una sesión en el servidor, enviando la geometría del volumen (origin, row/column/slice direction, spacing)
- Para cada slice Z, los voxels se extraen como
ushort[xSize, ySize], se convierten a int32, se serializan en little-endian, se comprimen con gzip y se codifican en base64 — reduciendo el payload en ~4× - Tras el envío de todos los slices, el servidor ensambla el volumen NIfTI con conversión LPS→RAS
- El operador escribe indicaciones (ej.: «liver, left kidney, spleen») y envía
- La inferencia corre asincrónicamente — Eclipse no se congela
- El servidor extrae contornos 2D de las máscaras y devuelve coordenadas en LPS (espacio del paciente)
- El plugin importa vía
structure.AddContourOnImagePlane(contour_points_lps, z_index)
Las estructuras existentes se asocian por nombre (exacto, case-insensitive o fuzzy). Las estructuras no encontradas se crean automáticamente con tipo DICOM CONTROL. Los nombres se sanitizan a 16 caracteres (ej.: «left kidney» → «left_kidney»).
Este plugin está destinado exclusivamente a entornos no clínicos: ECNC (External Calculation and Non-Clinical) y Varian TBOX (training box). Nunca debe ejecutarse en un entorno clínico.
Pipeline de Conversión DICOM: LPS, RAS y la Matemática de las Coordenadas

La conversión de coordenadas entre DICOM (LPS) y NIfTI (RAS) es el punto técnico más crítico de toda la integración. Un error en esta etapa produce volúmenes en espejo, contornos invertidos anteroposterior o estructuras en el lado incorrecto del paciente. El pipeline implementa la transformación rigurosamente.
Geometría DICOM → Affine LPS
Eclipse expone la geometría de la imagen (origin, row direction, column direction, slice direction, spacing). El servidor construye la matriz affine 4×4 que mapea índices de voxel a posiciones en milímetros en el sistema DICOM LPS (Left, Posterior, Superior):
$$x_{LPS} = A_{LPS} \begin{bmatrix} i \\ j \\ k \\ 1 \end{bmatrix}$$
Donde las columnas de $A_{LPS}$ se forman por:
- Columna 0:
row_direction × x_res(eje columna +X) - Columna 1:
col_direction × y_res(eje fila +Y) - Columna 2:
slice_direction × z_res(eje slice +Z) - Columna 3:
origin(posición del voxel 0,0,0)
Conversión LPS → RAS
DICOM y NIfTI usan convenciones opuestas en los dos primeros ejes:
| Sistema | X | Y | Z |
|---|---|---|---|
| DICOM/Eclipse (LPS) | Patient Left | Patient Posterior | Patient Superior |
| NIfTI/VoxTell (RAS) | Patient Right | Patient Anterior | Patient Superior |
La transformación requiere invertir los dos primeros ejes:
$$A_{RAS} = \operatorname{diag}(-1,-1,1,1) \cdot A_{LPS}$$
En el código, el volumen se transpone de (Z,Y,X) a (X,Y,Z) para la convención NIfTI, y los ejes X e Y del affine se invierten. Una copia ingenua produce un volumen en espejo e invertido anteroposterior — exactamente el tipo de error que solo aparece en revisión clínica rigurosa, no en pruebas automatizadas.
Retorno: Máscaras RAS → Contornos LPS
Tras la inferencia, el camino inverso usa find_contours de scikit-image para extraer líneas de contorno 2D en cada slice, y proyecta los índices de voxel de regreso a milímetros LPS usando el affine almacenado en la sesión:
$$\text{pts}_{LPS} = (\text{vox\_coords} \cdot A_{LPS}^T)[:, :3]$$
Los puntos se envían a Eclipse, que los aplica directamente vía AddContourOnImagePlane().
Métricas de Evaluación
Para evaluar la calidad de la segmentación, dos métricas son estándar:
El coeficiente Dice mide la superposición entre la segmentación predicha $X$ y la referencia $Y$:
$$DSC(X,Y) = \frac{2|X \cap Y|}{|X| + |Y|}$$
La distancia de Hausdorff mede la peor divergencia puntual entre superficies:
$$HD(X,Y) = \max\left\{\sup_{x \in X}\inf_{y \in Y} d(x,y),\; \sup_{y \in Y}\inf_{x \in X} d(x,y)\right\}$$
Plugins de Investigación, Fronteras SaMD y Por Qué Importa el Lenguaje Regulatorio

El mercado de software médico opera bajo regulación estricta. Cualquier software que influya en decisiones diagnósticas o terapéuticas puede clasificarse como Software as a Medical Device (SaMD), sujeto a marcos como IEC 62304, ISO 14971, IMDRF y regulaciones de agencias como FDA, ANVISA y CE Marking.
Los plugins descritos en este artículo — web y ESAPI — son herramientas de investigación, experimentación, prototipado y evaluación técnica. Específicamente:
- El modelo VoxTell original es trabajo del grupo de investigación citado en el paper (Rokuss et al., 2025), no de RT Medical Systems
- Gustavo Gomes Formento, investigador de RT Medical Systems, es el autor de las integraciones open source (interfaz web y plugin ESAPI) publicadas en torno a VoxTell
- El plugin ESAPI está destinado exclusivamente a ECNC y Varian TBOX — entornos no clínicos
- Estos plugins nunca deben usarse clínicamente
- No son software médico aprobado, liberado, validado ni autorizado por ninguna agencia reguladora
- No existe respaldo formal de Varian, DKFZ, MIC-DKFZ ni de los autores originales del paper
El uso clínico de cualquier herramienta de segmentación asistida por IA requeriría validación independiente, sistema de gestión de calidad, análisis de riesgo (ISO 14971), proceso de ciberseguridad y evaluación regulatoria completa. Estas no son formalidades — son las barreras que separan los prototipos de investigación de los dispositivos que influyen en el tratamiento de pacientes.
Para profesionales que trabajan con desarrollo de software DICOM o con implementación y resolución de problemas de infraestructura DICOM, entender esta frontera es esencial antes de evaluar cualquier herramienta de IA.
Ingeniería de Integración: Lo Que la Radioterapia Exige al Software
El valor técnico de estas integraciones no reside en el modelo en sí — los modelos de segmentación aparecen cada trimestre. El valor está en demostrar las competencias de ingeniería que toda empresa de software para radioterapia debe dominar:
- Interoperabilidad DICOM: conversión bidireccional entre formatos (NIfTI ↔ DICOM), manejo de affines y orientación de volumen, exportación RTStruct
- Integración con TPS: comunicación vía ESAPI, serialización de voxels, importación de contornos en coordenadas del paciente
- Optimización de recursos: inferencia en GPU de consumo, descarga a CPU, compresión de payload
- Flujo de trabajo asíncrono: sesiones con TTL, polling sin bloquear la UI, cancelación y limpieza
- Gobernanza: separación clara entre investigación y producto clínico, lenguaje regulatorio preciso
Cada uno de estos puntos es un requisito real en proyectos como RTConnect y pipelines de revisión de contornos — no ejercicios teóricos, sino problemas que surgen en cada integración con equipos y sistemas de planificación reales. La estandarización de estructuras según TG-263 es otro punto de convergencia directa.
Próximos Pasos y Contexto para Equipos
El roadmap público de VoxTell indica que el soporte para fine-tuning aún no ha sido liberado. Cuando esté disponible, abrirá la posibilidad de adaptar el modelo para estructuras de interés específico — por ejemplo, estructuras OAR de cabeza y cuello según protocolos institucionales — nuevamente en contexto de investigación.
Si su equipo está evaluando flujos de trabajo de contorneo asistido por IA, pipelines de validación, o capas de revisión y gobernanza en torno a la segmentación, RT Medical Systems puede ayudar a estructurar esa conversación.
Toda la información técnica de este artículo fue extraída de fuentes públicas: el paper VoxTell (arXiv:2511.11450, Rokuss et al., 2025) y los repositorios GitHub gomesgustavoo/voxtell-web-plugin y gomesgustavoo/VoxTell-ESAPI.




