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.