DICOM a STL – Segmentación con 3D Slicer GRATIS (Curso Parte 7)

Feb 16, 2022 | 3d-slicer

Una de las herramientas más poderosas de 3D Slicer es la segmentación. Mediante este proceso podremos convertir cualquier estructura del archivo DICOM a STL con máxima precisión. En esta séptima entrega del curso te explico todo sobre segmentación con 3D Slicer.

Segmentación con 3D Slicer

¿Qué es la segmentación en tomografía?

El proceso de segmentación de una tomografía consiste en identificar las distintas estructuras anatómicas y realizar una marcación de cada una de ellas.

El proceso puede ser manual, semi automático o automático y su complejidad dependerá de la definición de las estructuras y de la similitud de densidad que existe con las estructuras circundantes.

¿Cómo convertir un DICOM a STL?

Luego de realizada la segmentación, es posible convertir cada uno de los segmentos en un modelo y luego exportarlo en formato .STL, .PLY u .OBJ

3D Slicer tiene herramientas dedicadas a mejorar y alisar el segmento, de modo que los modelos STL sean adecuados para impresión 3D.

Segmentación de una tomografía mediante Inteligencia Artificial. (Diagnocat)

Editor de Segmentos en 3D Slicer

Todas las herramientas para segmentar una tomografía y obtener un STL a partir de un DICOM se encuentran en el panel Segment Editor. Este se ubica sexto de la sección de favoritos en la barra de herramientas.

A continuación describiré la función de cada una de sus herramientas:

  • Segmentation: Permite crear un nuevo segmento (Create New Segmentation), elegir uno de los existentes, renombrar el segmento seleccionado (Rename current Segmentation) y eliminar el segmento (Delete current Segmentation).
  • Master volume: Aquí seleccionaremos el volumen con el cual pretendemos trabajar. Es posible crear segmentaciones independientes para cada volumen cargado en la escena. La opción Rename current Volume permite renombrar el volumen actual y Delete current volume borrarlo.
Tutorial segmentación con 3D Slicer
  • Add: Agrega un nuevo segmento vacío. El nombre por defecto es Segment_x
  • Remove: Elimina el segmento seleccionado.
  • Show 3D: Activa la previsualización del segmento en el visor 3D. El menú desplegable tiene la opción Surface smoothing que agrega alisado a la previsualización cuando esta activado. Además la cantidad de efecto se puede regular en la opción Smoothing factor.
  • Segmentations: Lleva al panel Segmentations. El menú desplegable Export to Files permite exportar los segmentos que hayamos creado en el DICOM como modelos 3D en formato STL

AL exportar los segmentos como archivos aparece una ventana desplegable en la cual tendremos algunas opciones mas:

Exportar DICOM a STL con 3D Slicer
  • Destination Folder: Carpeta donde se guardarán los archivos.
  • Visible segments only: Cuando esta activo exporta solo los segmentos visibles en el visor 3D
  • Reference volume: El volumen en el que trabajamos.
  • File Format: Se puede elegir formato STL, OBJ, NRRD o NIFTI
  • Merge into single files: Combina todos los segmentos del DICOM en un solo archivo STL.
  • Size Scale: El tamaño de la escala. 1.00 significa escala 1:1
  • Coordinate system: Puedes elegir entre RAS y LPS como el sistema de coordenadas para orientar los modelos exportados.
  • Use Compression: Comprime el archivo exportado.
  • Use color table values: En el formato NRRD permite exportar la información de los colores usados para cada segmento.
  • Show destination folder: Muestra la carpeta del destino al terminar la exportación.

Nodos

Cada segmento es un nodo y puede ser modificado de diversas formas.

  • El ícono de ojo: Activa o desactiva la visibilidad del segmento
  • La caja de color: Indica el color seleccionado para el segmento.
  • Nombre: Con doble clic se puede renombrar el segmento.
  • Columna estado: Permite seleccionar 4 estados: Sin iniciar (Not Started), en progreso (In progress), completado (completed) o con bandera (flagged). Esto sirve para organizar mejor la lista de segmentos cuando se trabaja con muchas estructuras a la vez.

Herramientas de segmentación con 3D Slicer

Todas las herramientas disponibles se han agrupado en la sección Effects. El proceso de segmentación varia según los tejidos que se pretendan identificar, pero en términos generales el proceso consiste en marcar de manera general los segmentos y luego perfeccionarlos.

En la parte inferior de esta sección aparecerán opciones específicas para cada herramienta y por debajo los botones Undo y Redo que permiten deshacer y rehacer respectivamente.

El primer ícono que es la flecha None esta seleccionado por defecto y permite la navegación normal en la interfaz de 3D Slicer

Efectos

La mayoría de efectos tienen un botón apply para aceptar la selección, o permiten seleccionarlo directamente en los cortes o la vista 3D arrastrando el puntero del ratón.

Segmentación mediante threshold

Threshold

Selecciona elementos que se encuentren dentro de un rango de intensidad. Esta es la manera más simple de convertir un Dicom a STL cuando el tejido a segmentar está bien delimitado. Por ejemplo el hueso.

La opción Use for Masking almacena el rango de intensidad seleccionado para utilizarlo con las demás herramientas.

Paint 3D Slicer Segment Editor

Pintar

Pinta el segmento con una brocha circular. En las opciones se puede configurar el tamaño de la brocha en porcentaje (Diameter) o desplazando el deslizable.

  • Sphere brush: Vuelve a la brocha esférica para pintar el segmento en 3D.
  • Edit in 3D Views: Cuando está activada permite pintar directamente en el visor 3D.
  • Color Smudge: Activa la brocha para el segmento en el cual inicia el trazo. Por ejemplo si se inicia en el color amarillo todo el trazo será amarillo independientemente del segmento seleccionado. Si inicia fuera de un segmento borrará las zonas dibujadas.
Draw segment editor

Dibujar

Permite dibujar un área ya sea mediante líneas rectas (clics separados) o a mano alzado (clic izquierdo y arrastrar). Luego presionando clic derecho o la tecla ENTER se rellenará el trazo con el color del segmento seleccionado.

Erease segment 3D Slicer

Borrar

Su funcionamiento es similar al efecto Pintar. La casilla erease all segments permite borrar en todos los segmentos a la vez, de lo contrario solo se eliminará sobre el seleccionado.

Dicom a stl con 3D Slicer

Trazo por nivel

Al mover el ratón se marca un área con voxeles contiguos que tengan la misma intensidad que el que se encuentra bajo el puntero. Al presionar clic izquierdo se acepta la selección y se rellena el segmento.

Segmentación semiautomática 3D Slicer

Crecer desde semillas

Este es un método semiautomático para la segmentación con 3D Slicer. Utiliza áreas llamadas semillas como referencia y extiende el segmento hasta rellenar el área delimitada.

Esta herramienta identifica las zonas donde la intensidad cambia abruptamente y define esta unión como el límite para cada segmento. Este método se conoce como Fast GrowCut

STL a partir de un DICOM semi automático.

Para utilizar la herramienta primero hay que utilizar otros efectos como pintar o dibujar y señalar áreas que pertenezcan a cada tejido que debe ser independiente. Como mínimo debe haber 2 segmentos.

El botón Initialize computa la segmentación y previsualiza el resultado en cada una de las vistas. Si existen áreas que no se han pintado adecuadamente es posible agregar más referencias con el color adecuado para recalcular el segmento. Cuando la segmentación sea adecuada precionar Apply

Segmentación cardiaca. a) semillas creadas con el efecto paint y b) segmentos obtenidos en los cortes axial, coronal y sagital respectivamente c) Vista 3D de la segmentación. *Linagjia et al
  • Auto-update: Activa la actualización automática cada vez que se modifica un segmento agregando o quitando estructuras.
  • Update: Recalcula la segmentación en base a los cambios realizados.
  • Display: Indica la opacidad de los segmentos propuestos.
  • Show 3D: Activa la previsualización en el 3D View
  • Seed locality: Define el grado de expansión del efecto. Mientras más alto el valor menor extensión tendrá y el resultado será más localizado. Es necesario distribuir las referencias más homogéneamente en la estructura para aumentar esta opción.
Dicom a STL con 3D Slicer

Rellenar entre cortes

Este es un método muy práctico para segmentar un DICOM y obtener un STL cuando las estructuras son alargadas o tubulares.

Vía aérea STL de a partir de un DICOM
Segmentación de vía aérea

Para utilizar este efecto solo es necesario pintar la estructura deseada en algunos cortes y la función calculará los cortes faltantes por interpolación. Se pueden espaciar los cortes con cualquier distancia deseada.

Auto-update: Activa la actualización automática
Update: Recalcula la segmentación en base a los cambios realizados.
Display: Indica la opacidad del resultado
Show 3D: Activa la previsualización en el 3D View

segmentación en tomografía


Margen

Crece (Grow) o reduce (Shrink) el segmento seleccionado en base al valor ingresado en Margin Size.

Ahuecar modelo STL a partir de DICOM

Ahuecar

Convierte al segmento en un modelo hueco. Es muy útil cuando se desea convertir un DICOM en un modelo STL para imprimir en 3D.

El valor Shell Thickness define el grosor de las paredes y las opciones inside, medial y outside surface, indican si el modelo hueco se creará hacia adentro, afuera o en un punto medio

Alisar

AlisaDO

Alisa la superficie en base a una definición establecida (Kernel Size) y puede utilizar 5 métodos diferentes:

  • Median: Remueve detalles pequeños preservando un contorno uniforme
  • Opening: Remueve partes salientes que tengan un tamaño menor al Kernel Size
  • Closing: Rellena ángulos y orificios con un tamaño menor al Kernel Size
  • Gaussian: Alisa todo el contorno uniformemente. Suele reducir el tamaño del segmento.
  • Joint Smoothing: Alisa varios segmentos simultáneamente para lograr bordes bien definidos. Cuando un segmento sobrepone con otro, el segmento que este primero en la tabla de nodos tendrá prioridad.
Recortar DICOM para convertir en STL

Tijeras

Recorta todo el segmento desde la perspectiva actual. Puede realizarse en los cortes ortogonales o en el visor 3D:

  • Operation: Puede borrar (erase inside / outside) dentro, afuera, o rellenar (fill inside / outside)) dentro y afuera.
  • Shape: La forma puede ser libre (free-form), circular (circle) o rectangular (rectangle)
  • Slice Cut: Al usar los cortes ortogonales se puede cortar en ambos sentidos (unlimited), solo en los cortes anteriores (Positive), posteriores (Negative) o a un grosor específico (Symetric)
Dicom a STL

Islas

Las islas son elementos que están conectados.

  • Keep Largest island: Preserva la isla más grande y elimina las demás.
  • Keep Selected island: Elimina todas las islas excepto la seleccionada.
  • Remove Small islands: Remueve todas las islas con un valor menor al especificado en Minimun size
  • Remove Selected island: Elmina la isla seleccionada.
  • Split island to segments: Separa todas las islas en nuevos segmentos. El tamaño mínimo para cada isla es el definido en Minimun size
  • Add selected islands: Agrega la isla seleccionada al segmento.
STL desde DICOM

Operadores lógicos

Permite operaciones matemáticas entre los segmentos.

  • Copy: Copia y remplaza la información del segmento marcado en la parte inferior al segmento seleccionado en la lista de nodos.
  • Add: Agrega la información del segmento marcado en la parte inferior al segmento seleccionado.
  • Substract: Elimina la información del segmento marcado en la parte inferior al segmento seleccionado.
  • Intersect: Preserva exclusivamente las partes que coinciden entre los dos segmentos.
  • Invert: Invierte el segmento pintando todo lo que estuvo vacío.
  • Clear: Vacía el segmento por completo.
  • Fill: Rellena el segmento completamente
Enmascarar un volumen en 3D Slicer

Enmascarar volumen

Utiliza la información del segmento activo para crear una mascara en el volumen que oculte ciertas áreas en el.

La cantidad de efecto de esta máscara se configura en el Fill Value utilizando los valores de la escala Hounsfield.

  • Fill outside y Fill inside: Rellena el área fuera o dentro del segmento respectivamente con el valor seleccionado.
  • Fill inside and outside: Rellena todo con el valor seleccionado, pero permite elegir valores independientes para la parte externe e interna.

En la parte inferior se puede seleccionar el volumen original (Imput Volume) y el resultado (Output volume). El ícono de ojo permite visualizar cualquiera de los volúmenes

Este efecto es muy útil para realizar renderizados que ignoren ciertas partes del volumen que puedan obstruir la visibilidad de estructuras de interés. Ver volume rendering

¿Cómo exportar el STL de la Segmentación con 3D Slicer?

Una vez estemos satisfechos con el segmento que hemos logrado solo queda exportarlo. La forma más sencilla es utilizando el menú desplegable del Export segment to files como se indica arriba.

Pero, una segunda alternativa es en el panel Segmentations

Exportar archivos STL desde un DICOM con 3D Slicer

En la sección Export/ Import models and labelmaps basta con seleccionar Models para Output node y presionar Export. Esto creará los modelos dentro de la escena y ya podremos exportarlos usando el botón SAVE. Si no conoces como guardar archivos de 3D Slicer puedes ver la 1era parte del tutorial de 3D Slicer en epañol.

Consejos finales para la segmentación de un DICOM

3D Slicer es un software impresionante y sus herramientas de segmentación son muy poderosas. Aunque no siempre es fácil lograr el resultado deseado, la mejor forma de conseguirlo es combinando todas las herramientas.

Cada caso es distinto y estructurar un protocolo simple para cada caso nos puede permitir ser muy eficientes al segmentar cualquier estructura.

Aquí termina esta lección y si tienes preguntas o comentarios al respecto, me encantaría escuchar de ti aquí abajo.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada.

Ver más

  • Responsable: Juan Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a SiteGround que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Para mantener esta web uso cookies que se instalan en tu dispositivo, propias (necesarias para la web) y de terceros (analíticas, elaboración de perfiles y publicitarias) para crear un perfil según tus hábitos de navegación. Puedes cancelar todas o ajustar las cookies según quieras; o aceptarlas clicando en ACEPTAR y seguir navegando. Te aconsejo leer la Política de cookies    Ver Política de cookies
Privacidad