ImageJ: Imágenes y píxeles#

Introducción#

Esta es la primera sección que toma las ideas descritas en el capítulo principal y muestra cómo se relacionan con el software: en este caso ImageJ.

Comenzamos con una breve introducción a qué es ImageJ, cómo obtenerlo y cómo navegar por la interfaz para abrir y mostrar imágenes.

¿Qué es ImageJ?#

ImageJ es un software de código abierto para análisis de imágenes.

Creado por Wayne Rasband de los Institutos Nacionales de Salud, ImageJ se ha vuelto indispensable para la comunidad de investigación durante más de 20 años. Continúa actualizándose periódicamente y es, por mucho, el tema más discutido en el Foro de imagen de la comunidad científica, con [más de 10 000 temas] (https://forum.image.sc/tags) al momento de escribir este artículo, y se agregan más cada día.

El éxito de ImageJ se debe no sólo a las características del software en sí, sino también a su apertura y extensibilidad. El código fuente es de dominio público, lo que significa que otros pueden adaptarlo según sea necesario. Pero normalmente esto no es necesario, porque los usuarios pueden escribir (y compartir) macros, plugins o scripts personalizados para agregar nuevas funciones, sin cambiar ImageJ en sí.

Personalmente, ImageJ me ha parecido fenomenalmente útil a lo largo de mi carrera, hasta el punto de que estoy convencido de que cualquiera que trabaje con imágenes biomédicas se beneficia si sabe cómo utilizarlo. Incluso si finalmente utiliza otro software para su análisis, o incluso escribe el suyo propio, la capacidad de verificar cosas rápidamente en ImageJ es extremadamente útil.

Estas secciones están destinadas a ayudar a cualquier lector interesado a desarrollar un sólido conocimiento práctico del propio ImageJ y, al mismo tiempo, obtener una comprensión más profunda del análisis de imágenes en general.

Obtener imageJ#

ImageJ está disponible en múltiples formas. Tres de los más importantes para nuestros propósitos son:

1. ImageJ#

../../../_images/imagej-logo.png

Descargar desde https://imagej.nih.gov/ij/

La descarga “original” de ImageJ contiene todas las funciones principales, pero sin plugins adicionales.

El componente principal de la aplicación es un pequeño archivo ij.jar (~2,5 MB) que se ejecuta en Java. Puede descargar un paquete específico para cada plataforma que incluye tanto ImageJ como Java para Windows, Mac o Linux. La inclusión de Java hace que la descarga sea más grande, pero hace que la aplicación sea autónoma y fácil de ejecutar.

2. Fiji#

../../../_images/fiji-logo.png

Descargar desde https://fiji.sc/

Fiji, que significa Fiji Is Just ImageJ, (Fiji es solo ImageJ por sus siglas es inglés) es una distribución de ImageJ que viene con una gran cantidad de plugins y funciones adicionales que son particularmente útiles para científicos en áreas biomédicas. También tiene un potente editor de scripts que ayuda mucho a la hora de desarrollar macros o scripts, un actualizador para ayudar a gestionar todas las adiciones e incluso un “Big Data Viewer” para imágenes particularmente grandes.

3. ImageJ.JS#

../../../_images/imagej.js-logo.png

Ejecutar en https://ij.imjoy.io

ImageJ.JS es una versión web del ImageJ original, capaz de ejecutarse en un navegador. Tiene algunas características adicionales, pero no tantas como Fiji. Fue elaborado y mantenido por el equipo ImJoy dirigido por Wei Ouyang.

Para obtener más información, consulte https://imagej.net/software/imagej-js

¡Más interactividad con ImageJ.JS!

Siempre que vea un botón como este lanzar ImageJ.JS puede utilizarlo para iniciar ImageJ.JS directamente desde este libro, a menudo con una imagen relevante abierta.

De forma predeterminada, ImageJ.JS se abrirá en la misma pestaña del navegador. Si desea que se abra en una nueva pestaña, entonces probablemente haya un truco sencillo en su navegador para hacerlo (en una computadora, supongo que presionará {kbd} Ctrl o al hacer clic en el enlace).

¿Qué ImageJ elijo?

Yo diría: todos. Yo siempre instalo ImageJ y Fiji en cualquier computadora que uso regularmente. ImageJ.JS no requiere ninguna instalación: sólo un navegador web moderno.

Todo lo que ImageJ puede hacer también se puede lograr en Fiji (porque Fiji contiene el ImageJ completo en su interior), pero lo contrario no es cierto (porque Fiji contiene muchos elementos adicionales). Por lo tanto, Fiji es mi primera opción para tareas de análisis más extensas. Su principal desventaja es que es mucho más grande: tarda más en iniciarse y en ejecutar comprobaciones de actualizaciones, y contiene muchos comandos que no siempre se necesitan.

Por el contrario, el ImageJ original es muy pequeño y liviano. En mi computadora, se inicia casi instantáneamente. Sigue siendo mi primera opción para tareas rápidas y comunes con imágenes.

La mayoría de las prácticas relacionadas con ImageJ en este curso solo utilizan funciones básicas y, por lo tanto, se pueden realizar utilizando ya sea ImageJ, Fiji o ImageJ.JS. A veces en este libro me referiré explícitamente a Fiji, indicando que el comando relevante sólo está disponible en Fiji.

¡Recuerde citar el software que utiliza!

Gran parte del software de código abierto es desarrollado y respaldado por académicos, que invierten una gran cantidad de tiempo en desarrollo y soporte. Necesitan financiamiento para continuar ese trabajo[^fn_1] y citas en artículos para ayudar a conseguir ese financiaimento.

Si utiliza software para una investigación que planea publicar, dedique unos minutos a buscar cómo los desarrolladores del software quieren que se cite.

La interfaz ImageJ#

La interfaz de usuario de ImageJ es bastante minimalista. Está centrado alrededor de una barra de herramientas. Todo lo demás (imágenes, histogramas, tablas de medidas, cuadros de diálogo) aparece en ventanas separadas.

../../../_images/imagej-gui.png

Figura 6 La interfaz de usuario principal de ImageJ.#

../../../_images/imagej-gui-dark.png

Figura 7 La interfaz de usuario principal de ImageJ.#

Pero a pesar de su apariencia simple, ImageJ es poderoso. La profundidad del software es evidente por su abundancia de menús y submenús.

Lo que lleva al consejo más importante para usar ImageJ:

No memorices los menús: ¡busca!

ImageJ tiene muchas opciones, ocultas en muchos menús… y submenús… y, a veces, sub-submenús.

Afortunadamente, no hay razón para memorizar dónde se encuentran todos ellos. Más bien, recuerde una tecla de acceso directo: L

Al presionar L, aparece efectivamente una lista de todos los comandos de los menús, listos para cada búsqueda.

Para ImageJ, verá la ventana Command Finder donde puede comenzar a escribir el nombre del comando que desea. Luego puede ejecutarlo haciendo doble clic en la entrada, o usando las teclas de flecha hacia arriba o hacia abajo seguidas de Enter.

../../../_images/imagej-command-finder.png

Figura 8 El cuadro de diálogo Buscador de comandos#

En Fiji, es posible que veas el Buscador de comandos o, alternativamente, puedes activar una barra de búsqueda seleccionándola en Editar ‣ Opciones ‣ Barra de búsqueda …. La idea es la misma. La barra de búsqueda también se puede activar usando L y usarse para buscar y ejecutar comandos.

../../../_images/imagej-options-misc.png

Figura 9 Editar ‣ Opciones ‣ Varios… cuadro de diálogo#

Perdiendo el control

En la mayoría del software, las teclas de método abreviado a menudo requieren presionar Ctrl (en Windows, Linux) o (Mac ). Por lo tanto, el atajo para buscar un comando sería Ctrl+L o + L.

Esto funciona en ImageJ, pero no es necesario. En Editar ‣ Opciones ‣ Misc…, puede especificar si la tecla Ctrl o la tecla se necesita, junto con la letra para el atajo.

De forma predeterminada, esta opción está desactivada, por lo que presionar L es suficiente. Es posible que esto haga que sea demasiado fácil ejecutar comandos accidentalmente, en cuyo caso debe seleccionar la opción para activarlo.

Abrir imágenes y ver píxeles#

Siempre me sorprende cuando veo que alguien abre una imagen en ImageJ a través de los menús, eligiendo Archivo ‣ Abrir….

Aunque esto puede funcionar, es innecesariamente lento e incómodo. La forma más elegante de abrir una imagen es simplemente arrastrar el archivo de imagen a la barra de herramientas de ImageJ.

A medida que el cursor se mueve sobre la imagen, el valor del píxel debajo del cursor se muestra en la barra de estado de ImageJ. Las imágenes se pueden navegar de la siguiente manera:

  • Incrementar el zoom

    1. Seleccione la herramienta ../../../_images/zoom.png y luego haga clic izquierdo en la imagen, o

    2. Presione la tecla +

  • Disminuir el zoom

    1. Seleccione la herramienta ../../../_images/zoom.png y luego haga clic derecho en la imagen, o

    2. Presione la tecla -

  • Organizar

    1. Seleccione la herramienta ../../../_images/hand.png, luego haga clic y arrastre sobre la imagen, o

    2. Presione la barra espaciadora, luego haga clic y arrastre sobre la imagen.

Cuando la imagen es más grande que la región visible, aparece una pequeña descripción general (púrpura) en la parte superior izquierda para indicar qué parte se puede ver actualmente.

La barra de estado también muestra las coordenadas xy del píxel debajo del cursor. Sin embargo, para interpretarlos es necesario conocer el origen, es decir, la ubicación del píxel en x=0, y=0.

¿Dónde está el origen de la imagen en ImageJ?

  • Esquina superior izquierda

  • Esquina superior derecha

  • Esquina inferior izquierda

  • Esquina inferior derecha

  • Centro de la imagen

Consejo: Debería poder responder esta pregunta abriendo una imagen en ImageJ y observando las coordenadas en la barra de herramientas mientras mueve el cursor sobre la imagen.

lanzar ImageJ.JS

El origen de la imagen está en la parte superior izquierda, es decir, el píxel superior izquierdo se identifica con la coordenada x=0, y=0.

Cambiando de apariencia#

Ajustar el brillo y el contraste#

../../../_images/imagej-brightness-contrast.png

Figura 10 Opción Brillo/Contraste#

El comando principal para cambiar el brillo de una imagen es Imagen ‣ Ajustar ‣ Brillo/Contraste…. Dado que es probable que lo use mucho, vale la pena aprender el atajo: Shift+C.

El cuadro de diálogo Brillo/Contraste tiene cuatro controles deslizantes: Minimum, Maximum, Brillo y Contraste. Están vinculados entre sí: cambiar cualquiera de los dos primeros también resulta en un cambio en los dos últimos, y viceversa.

Suponiendo que tienes una LUT en escala de grises, con colores que van del negro al blanco, deberías ver que

  • Todos los píxeles con un valor menor o igual al Minimum se mostrarán en negro.

  • Todos los píxeles con un valor mayor o igual al Máximo se mostrarán en blanco.

  • Todos los demás píxeles con un valor intermedio se mostrarán usando un tono de gris.

Utilice los controles deslizantes mínimo y máximo

A pesar de que el nombre del comando implica que Brillo y Contraste son los artistas estrella, yo diría que los controles deslizantes Mínimo y Máximo son mucho más intuitivos.

Yo utilizo Mínimo y Máximo casi exclusivamente.

¿Ajustar alguno de los controles deslizantes en el cuadro de diálogo de brillo y contraste cambia los valores de píxeles o solo el LUT?

¿Qué sucede si presionas Aplicar?

lanzar ImageJ.JS

Ajustar los controles deslizantes cambia la LUT, y no los valores de píxeles.

Eso es a menos que presione Aplicar. Si presiona Aplicar, se cambian los valores de píxeles.

Las versiones recientes de ImageJ dan una advertencia al presionar Aplicar, pero las versiones anteriores no… lo que lo convertía en un botón extremadamente peligroso para los nuevos usuarios del software. En la mayoría de los casos, la regla es:

Truco

Al ajustar el brillo y el contraste en ImageJ, ¡no presione Aplicar!

¡No debería romper esta regla sin una buena razón!

Cambio de LUT#

Puede cambiar los colores de la LUT seleccionando una opción alternativa del submenú Imagen ‣ Tablas de búsqueda ‣.

Utilice el Panel de Control para acceder con frecuencia al mismo menú

Si desea explorar las LUT rápidamente, utilice Plugins ‣ Utilidades ‣ Panel de Control. Esto abre una ventana que le permite hacer doble clic en los comandos de cualquier menú o submenú para aplicar ese comando rápidamente.