Bibliotecas Python para la gestión de imágenes médicas

Hoy quiero compartirte algunas de las bibliotecas python para la gestión de imágenes en formato DICOM y Nifi, con las que podrás almacenar, compartir, mostrar, enviar, consultar, procesar, recuperar e imprimir imágenes médicas, así como gestionar los flujos de trabajo relacionados con estas librerías.

Analicemos algunas de las bibliotecas Python para imágenes médicas:

Pydicom

Pydicom es una biblioteca de código abierto para trabajar con archivos DICOM. Lo podemos utilizar para cargar, editar y guardar archivos estos archivos. Ejemplos:

Si queremos ver los datos extraídos del archivo DICOM, podemos usar el siguiente código:

Nibabel

También tenemos nibabel, que es la biblioteca más utilizada para manejar archivos nifti. Hay muchas opciones en esta biblioteca, aquí hay algunos ejemplos para empezar:

dicom2nifti

Esta es una biblioteca muy útil para convertir series DICOM en archivos nifti con una sola función.

SimpleITK

SimpleITK es posiblemente una de las mejores biblioteca para tratar o procesar archivos DICOM y Nifti porque contiene todas las funciones requeridas para ambos formatos e incluso ofrece opciones que no se encuentran en otras bibliotecas de imágenes médicas, como convertir archivos Nifti en series DICOM (esto es una de las conversiones más sensibles y no disponible en otras bibliotecas).

Hay muchas opciones disponibles, puedes consultarlas aquí.

VTK

Kitware proporciona VTK como biblioteca. Incluye no solo funciones de conversión sino también herramientas adicionales para visualización y procesamiento de imágenes médicas. Esta biblioteca incluso es utilizada por algún software conocido, como 3D Slicer. Esto significa que todas las funciones disponibles en 3D Slicer se pueden encontrar y usar en VTK, lo cual es fantástico.

Debido a que hay tantas cosas que podemos hacer con esta biblioteca, proporcionaré un enlace a la documentación para que puedas verificar directamente y encontrar las funciones y operaciones exactas necesarias para tu proyecto.

Numpy-stl

Esta biblioteca no solo se usa para imágenes médicas, sino que juega un papel importante en imágenes médicas al ayudar en la creación de mallas 3D a partir de la segmentación, de forma manual o automática, o al ayudar en la conversión de archivos Nifti en STL.

MedPy

Otra biblioteca basada en SimpleITK para imágenes médicas que se puede usar para leer y escribir archivos como:

Formatos médicos:

  • ITK MetaImage (.mha/.raw, .mhd)
  • Neuroimaging Informatics Technology Initiative (NIfTI) (.nia, .nii, .nii.gz, .hdr, .img, .img.gz)
  • Analyze (plain, SPM99, SPM2) (.hdr/.img, .img.gz)
  • Digital Imaging and Communications in Medicine (DICOM) (.dcm, .dicom)
  • Digital Imaging and Communications in Medicine (DICOM) series (<directory>/)
  • Nearly Raw Raster Data (Nrrd) (.nrrd, .nhdr)
  • Medical Imaging NetCDF (MINC) (.mnc, .MNC)
  • Guys Image Processing Lab (GIPL) (.gipl, .gipl.gz)

Formatos de microscopía:

  • Medical Research Council (MRC) (.mrc, .rec)
  • Bio-Rad (.pic, .PIC)
  • LSM (Zeiss) microscopy images (.tif, .TIF, .tiff, .TIFF, .lsm, .LSM)
  • Stimulate / Signal Data (SDT) (.sdt)

Formatos de visualización:

  • VTK images (.vtk)

Otros formatos:

  • Portable Network Graphics (PNG) (.png, .PNG)
  • Joint Photographic Experts Group (JPEG) (.jpg, .JPG, .jpeg, .JPEG)
  • Tagged Image File Format (TIFF) (.tif, .TIF, .tiff, .TIFF)
  • Windows bitmap (.bmp, .BMP)
  • Hierarchical Data Format (HDF5) (.h5 , .hdf5 , .he5)
  • MSX-DOS Screen-x (.ge4, .ge5)

Conclusión

Todas estas bibliotecas python serán de gran utilidad para ayudarte en la gestión de imágenes médicas de tus proyectos, no hay una mejor que otra, simplemente encontrar la librería que te ofrezca la utilidad deseada en tu proyecto.