c# Slicer developer tutorial: programming in slicer
Fecha: 16 de diciembre de 2021
Este tutorial es una introducción de python interactor y el Qt.
Software de código abierto para el análisis y visualización de imágenes médicas.
El software no esta aprobado por la FDA o CE-marked. Únicamente se usa en la investigación.
Módulos para descargar. Slicer tiene un gestor de módulos para instalar.
La consola de python en slicer esta basada en una consola de Qt. Para acceder a esta, damos click en el ícono correspondiente.
Preprocesamiento de imágenes consiste principalmente en dos clasificaciones
Tipos de sistemas coordenados:
Planos anatómicos:
La imágenes médicas que tienen mayor resolución son los rayos X, que se puede tener 2000 px. De acuerdo a la instrumentación del equipo se puede tener un espaciado, guardado a partir de matrices.
Slicer al soportar tantos formatos, se implementa mucho en la parte de investigación.
Modelos:
En la guía se encuentra más explicito como manipular una escena en slicer Guía manipulación escena
escena = slicer.mrmlScene;
print(type(escena)) # tipo de escena
volumen = escena.GetNodeByID('vtkMRMLScalarVolumeNode1') # Recuperar un volumen de la escena
imagen = volumen.GetImageData()
volumen = slicer.vtkMRMLScalarVolumeNode() # Crear un volumen nuevo a la escena
volumen.SetAndObserveImageData(imagen)
Una imagen se puede crear a partir de código de python de la siguiente forma:
imagen = vtk.vtkImageData()
imagen.SetDimensions([10,10,2])#tamanio de la matriz
imagen.SetOrigin([0,0,0]) #origen de la imagen
imagen.SetSpacing([0.78,0.78,1.5]) #espaciamiento entre puntos de la matriz
imagen.AllocateScalars(vtk.VTK_SHORT,1) #tipo de datos, en este caso SHORT
volumen = slicer.vtkMRMLScalarVolumeNode()
volumen.SetAndObserveImageData(imagen)
volumen.SetName('Prueba')
slicer.mrmlScene.AddNode(volumen)
Fiducia: un punto, son referentes en cirugía para poder relacionar información de las imágenes con los pacientes.