Procesamiento de imágenes: núcleos de conteo

10

Estoy tratando de crear un programa que pueda contar la cantidad de núcleos en una imagen de este tipo:

ingrese la descripción de la imagen aquí

Lo que ya hice es lo siguiente, paso a paso:

  1. Aplique un filtro secuencial alterno (cerrando y abriendo la imagen con elementos estructurantes gradualmente más grandes)
  2. Aplicar una transformación de distancia
  3. Aplique segmentación de cuencas hidrográficas utilizando la imagen transformada a distancia para detectar mínimos

Lo que produce el siguiente resultado (donde cada color representa un nuevo núcleo contado):

ingrese la descripción de la imagen aquí

Como podemos ver, hay muchas imperfecciones, específicamente, núcleos sobrecontados. Diría que la razón de ese problema es la forma en que impuse los mínimos para la Transformación de la Cuenca (usando la transformación de distancia), pero realmente no tengo otras ideas para imponer los mínimos en ese caso.

Como la Transformación de distancia genera mínimos basados ​​en la redondez de los objetos, me gustaría conocer una mejor alternativa para redondear los núcleos que el Filtro secuencial alterno (mirando la imagen de arriba, podemos inferir que la mayoría de los "conteos excesivos" provienen de los núcleos menos redondeados). También me gustaría conocer mejores formas de imponer mínimos para la Transformación de la Cuenca.

Thiago
fuente
3
A veces recibo este tipo de preguntas en el trabajo y ... no me meto en eso. Generalmente le pido al usuario que regrese al microscopio y obtenga imágenes decentes. No estoy seguro de poder contarlos con precisión a mano. ¿Es esta una opción en su caso (rehacer la parte de imagen que quiero decir)?
Jean-Yves
Idea loca, que podría funcionar dependiendo de cuántas imágenes necesite analizar y con qué frecuencia, pero sabiendo que los humanos son mejores en este tipo de cosas: intente usar el Mechanical Turk de Amazon.
DarenW
¿Puedes proporcionar una verdad básica para tu imagen? (delineado manualmente por usted) Miré la imagen y, francamente, no puedo decirle cuáles son los núcleos o cuáles son los artefactos. ¿Hay algunos núcleos que están compuestos solo por varios píxeles? ¿Se supone que los núcleos son redondos / elipse? Y en última instancia, como señaló @ Jean-Yves, ¿puedes obtener una mejor imagen? Todos podemos ajustar el contraste y la luminosidad, pero no podemos volver a teñir la muestra.
Visoft

Respuestas:

1

Existen numerosos artículos sobre cómo manejar el problema de sobresegmentación de la cuenca hidrográfica, pero creo que debería leer Métodos de segmentación de imágenes de celdas robustas (artículo científico de 2004 de Bengtsson et al).

Cubre varios métodos para segmentar imágenes celulares e incluye ejemplos del mundo real que muestran cómo manejar la sobresegmentación de la cuenca en imágenes de microscopía de fluorescencia similares a la suya (también tiene ejemplos de imágenes de campo brillante e imágenes de microscopía confocal). Utiliza semillas de la transformación de distancia, similar a su enfoque, y combina regiones con bordes débiles. El artículo se lee bien y los conceptos son bastante sencillos de implementar en Matlab.

Para un enfoque aún más actual, puede leer Un esquema de descomposición para objetos difusos 3D basado en la información de distancia difusa de Svensson. Utiliza un método similar al de Bengtsson et al, pero trabaja en la transformación de distancia difusa que proporciona una mejor representación de densidad para los objetos utilizados en el artículo.

revistas
fuente
0

Puede probar la "transformación máxima máxima", que es un método de reconstrucción morfológica. Detecta los puntos máximos dados un criterio de contraste que puede invertir e imponer. Se implementa en Matlab.

Zoran
fuente