Recomendaciones generales

Esta página pretende realizar una breve introducción a la manipulación y procesamiento de imágenes médicas, principalmente esta enfocada a neuroimagenes. La idea es poder brindar información sobre aspectos como conversión, anonimización, formato BIDS, y preprocesamiento de imágenes estructurales y funcionales. La página esta en continua actualización y espero ir corrigiendo los errores que vayan saliendo.

Existen algunas recomendaciones generales como sistemas operativos y hardware. Estas son mis recomendaciones que han surgido en mi experiencia. Es claro que no pretendo que se tomen como recomendaciones únicas o las mejores; pero son elementos que me han ayudado a comprender a procesar imágenes en estos años.

  • OS: Ubuntu / Debian

  • Hardware mínimo: CPU i5 o i7, 8Gb en RAM y un disco duro de 1Tb.

Las maquinas virtuales en windows si bien pueden servir para aprender el funcionamiento, tienen un bajo rendimiento. WLS2 en windows permite ejecutar Ubuntu directamente, tiene algunas desventajas en rendimiento aun, pero es claro que la comunidad esta trabajando fuertemente en ello.

El procesamiento de neuroimágenes generalmente hace uso de manera intensiva de librerías, aplicaciones y programas en su mayoría con licencias Open. Ahora bien, con respecto a la pregunta inicial de qué sistema operativo usar mi recomendación es usar GNU/Linux principalmente de variantes Debian, bien puede ser Debian es su versión mas pura o variantes como Ubuntu, Ubuntu Mate, Pop o similares. Variantes basadas en arch tienen poco desarrollo en la comunidad así que requerirá de un mayor trabajo.

  • MACOS: Es de aclarar que en MAC con chips tipo intel las aplicaciones corren muy bien; sin embargo, con el cambio a ARM con M1 algunas de las aplicaciones prototípicas son ahora emuladas y otras no lo hacen tan bien. En la siguiente página se ilustra una evaluación con diferentes programas: Apple silicon for neuroimaging, para que pueda tomar una mejor decisión.

Es importante resaltar que el procesamiento de neuroimágenes para estudios sencillos pueden ser abordados con computadoras comunes y de medianas o altas prestaciones. Sin embargo, si usted tiene acceso a HCP, clusters o similares muy posiblemente podrá abordar problemas de mayor complejidad computacional; tal vez este sea un futuro a mediano plazo en las neurociencias, donde por medio de interfaces web, usted accede a clusters de computadoras y envía su solicitud similar a la propuesta de Brainlife.

Programas básicos

Antes de comenzar, es importante contar con un buen numero de programas instalados para poder manipular y procesar las imágenes.

Estos serían los programas indispensables:

Existe un paquete ampliamente usado y es SPM. Este paquete es realmente excelente; sin embargo, requiere de Matlab para funcionar, el cual requiere de licencia; menciono esto como limitación dado que en Latinoamérica no todas las universidades o centros de investigación tienen opciones de comprar licencias para investigación de Matlab. Una opción ante esta dificultad es la versión standalone aunque tiene algunas restricciones como la dificultad de instalar nuevos paquetes o toolboxes. Cabe anotar que si en su universidad existe Matlab SPM es una de las mejores herramientas.

Competencias básicas

Si desea tener una introducción a neuroimágenes que sea mas fluida existen un conjunto de competencias que le serán de mucha utilidad

  • Aprender a usar Linux (puede usar cualquier tutorial básico de Youtube para esto)

  • Conocer y usar la terminal (al principio cuesta, pero luego se disfruta enormemente).

  • Aprender a realizar scripts en bash.

  • Conocimientos generales sobre cómo se adquieren y procesan imágenes médicas.

  • Paciencia, ya que algunos procesos son largos e incluso de varias horas.

  • Tolerancia a la frustración porque un pequeño fallo como una coma o paréntesis mal puesto pueden acarrear tiempos de revisión que generalmente no se contemplan.

  • Ser autodidacta, si bien existen manuales y guías que le ayudaran en el proceso, es importante tener un gran sentido de búsqueda. Algunas respuestas estarán en foros, listas de correos o en páginas web bien sea que estén actualizadas o no.

  • Realice siempre los ejemplos que dan los programas y compare sus resultados con el esperado.

  • No invente la rueda, las neuroimágenes son un campo con un alto desarrollo y permanente actualización; es posible que exista ya un toolbox, librería o similar que contemple su propuesta. Siempre revise qué se ha hecho.

Contenedores

Dado que la instalación y compilación de algunos paquetes requiere de una buena cantidad de tiempo; se ha comenzado a usar el sistema de contenedores para poder tener todas las librerías de manera rápida. Existen dos tipos de contenedores ampliamente usados Docker y Singularity; siendo Docker el mas usado. Una de las ventajas de Docker es que permite el despliegue de un gran conjunto de herramientas en poco pasos. Neurodocker; es uno de los mejores ejemplos de esta propuesta. Igualmente si usted se adhiere a la propuesta BIDS; existen un conjunto de apps para Docker que funcionan directamente con BIDS y le permiten por ejemplo; control de calidad, grosor cortical, análisis funcionales o de conectividad entre muchos otros. Le recomendaría iniciar de manera sencilla con programas como SPM y FSL y una vez tenga mas conocimientos de los flujos de procesamiento se pase a contenedores docker sobretodo si va analizar masivamente datos.

¿Dónde aprender?

Si usted desea realmente aprender cómo funcionan los análisis de neuroimágenes porque desea investigar en este tema, es altamente recomendable realizar un curso introductorio, aquí hay algunos ejemplos de cursos. No se limite a unicamente observar el curso, sino a replicar los métodos de análisis que se dan. La observación sin ejecución realmente no le servirá de mucho.

No tema preguntar en foros de discusión, aunque previamente revise si ya alguien hizo la misma pregunta (lo cual es muy probable).