Na semana passada iniciei um tutorial sobre como contar objetos no ImageJ. Esta será a continuação. Vamos abordar aqui os “detalhes” (quase sempre cruciais) para que os resultados obtidos estejam corretos do ponto de vista do usuário.
A parte anterior terminou encontrando um resultado que não correspondia à realidade. Nesta segunda e última parte, vamos ver também como corrigir este suposto “erro”.
Digo suposto poque não houve erro algum. A imagem tem mesmo 25 partículas, apesar de sermos capazes de ver apenas 22. O que acontece é que 3 delas são muito pequenas, com um, dois ou 3 pixels apenas (e provavelmente desapareceram por completo na versão da imagem compactada que coloquei no site).
Tamanho das partículas:

Diálogo de Análise de partículas
Para que o programa conte apenas as letras, descartando partículas irrelevantes, é possível informar no diálogo da função qual é o intervalo de tamanhos de partículas que se espera encontrar. Para isso escreva um intervalo na caixa de texto Size, ou apenas um valor, que será interpretado como tamanho mínimo. Assim o programa desconsidera partículas fora do intervalo informado.
Pronto, agora obtive as minhas 22 letras.
Circularidade
Circularidade (Circularity) é uma outra característica que pode ser usada para filtrar as partículas de interesse. Os valores variam de zero a 1.0, sendo 1.0 o valor de um círculo perfeito.
Show (Mostrar)
Esta caixa de opções não influencia no cálculo, mas melhora a visualização dos resultados, principalmente quando se tem dúvidas a respeito dos parâmetros anteriores. Outlines e Count Masks, por exemplo, seriam úteis para descobrir o que saiu errado na contagem da primeira parte do tutorial.

A figura mostra a letra ‘a’, da imagem que foi mostrada em ‘Count Masks’. Apliquei uma look up table para que se possa identificar melhor os dois pequenos pontos que ficaram dentro do ‘a’. Estes pontos foram contados como partículas quando o tamanho mínimo estava informado como zero, na primeira parte deste tutorial.
Outras opções
Display results: deixe marcado se você espera ver os resultados obtidos para cada objeto.
Clear results: apaga resultados anteriores e mostra apenas o da análise corrente.
Summarize: mostra o resumo da análise, como número total de partículas, área total, etc.
Exclude on Edges: deixa de contar quaisquer partículas que toquem o limite da figura.
Include Holes: inclui os buracos (como o da letra a) como parte da partícula. Além de incluir os buracos na medição da área, também faz com que partículas dentro de outras partículas não sejam contadas.
Record Starts: permite que macros e plugins recriem representações das partículas para quaisquer que sejam seus propósitos.
Add to Mananger: inclui as partículas medidas no ROI Manager, que é uma forma de trabalhar com várias regiões de interesse, independente da sua localização.
Quais medidas serão calculadas
Para determinar quais medidas serão calculadas sobre as partículas, use o diálogo Set measurements, no mesmo menu Analyse. Esta caixa de diálogo permite ao usuário indicar quais medidas serão calculadas e mostradas nas caixas de resultados, tanto para a contagem de partículas quando para a função Measure. Assim é possível contar e medir numa só operação.
É preciso selecionar as medidas antes de entrar no diálogo do analisador de partículas.
Escala
Também é possível indicar a escala em que a sua imagem foi adquirida, usando o diálogo Set Scale, no mesmo menu. Isto é necessário se você estiver medindo objetos do mundo real usando imagens. Cada imagem pode ter sua própria escala.
No exemplo atual, o arquivo TIFF que gerei através do meu scanner, no GIMP, guardou a informação de 600 dpi, ou seja, 600 dots per inch, ou pixels por polegada. O ImajeJ recuperou esta informação numa das tags do TIFF, e usou para determinar a escala, de 600 pixels/polegada. Assim não tive de determinar a escala manualmente. Alguns equipamentos de microscopia, quando bem utilizados, também são capazes de preservar esta informação.
Moral da história
O software vai acertar a resposta, assim que você souber exatamente o que perguntar.
Até mais!


Gabriela
Achei muito interessante o seu site, e já coloquei nos meus favoritos. Trabalho com o ImageJ e por isso vou sempre visitar o site.
Vc. poderia me explicar como “pegar” a informação do “dpi” de uma imagem .jpg no ImageJ. Para usar automaticamente o “SetScale”?
Abs.
Lino
@ Antônio Lino
Obrigada!
Sobre os dados de dpi do scanner, fiz um teste rápido aqui, e não funcionou com JPEG.
O que acontece é que o ImageJ lê as tags do arquivo TIFF, se elas estiverem lá, e estiverem corretas. É de se esperar que o mesmo ocorra com JPEG, mas não aconteceu. Pode ser que o ImageJ não tenha o mesmo suporte ao JPEG que tem ao TIFF, já que é um programa para análise de imagens. Mas também pode ser que o programa que gravou a imagem digitalizada, ou “escaneada”, não armazene metadados (informações textuais e numéricas) no JPEG. Isso é bem difícil de verificar, porque a maioria dos softwares não trazem esse tipo de informação na documentação ao usuário.
Não posso prometer, mas vou tentar verificar se você me disser que programa usou para digitalizar a imagem.
Mas, se quiser uma opinião, use TIFF.
A resolução pode ser vista nas propriedades da imagem pelo Windows. Eu já recebi as imagens escaneadas, mas tentarei salvar em TIFF da préxima vez.
Se a resolução aparece nas propriedades, então é o ImageJ que não é capaz de ler.
Talvez haja um plugin para isso. De qualquer forma, se você vai analisar, é melhor usar tiff.
Ótimo tutorial.
Alguém sabe informar como posso medir o tamano ou diâmetro de partículas?
Olá Rodrigo!
Para medir o tamanho (área) das partículas você precisa primeiro marcar a caixa ‘Area’ no diálogo Set Measures do menu Anayse. Informe também a escala da sua imagem, como está explicado no tópico Escala deste artigo. Se você não sabe a escala, coloque o número 1 nos 3 primeiros campos de texto, e terá a área em pixels. Depois siga os passos de Tutorial ImageJ – como contar objetos: parte I e terá a área de cada partícula na tabela de resultados.
A medida de diâmetro não está implementada originalmente no ImageJ, mas você pode procurar
por algum plugin que faça isso.
Espero que isso ajude, e obrigada pela visita!
Oi, primeiro gostaria de agradecer e parabenizar sua iniciativa e o excelente site. Estou precisando contar fibras musculares em cortes histológicos, mas tenho que diferenciar entre as que tem núcleo centralizado (sinal de regeneração) e as que tem núcleo periférico. Li o tutorial de contar objetos, mas continuo sem idéia de como fazer isso. Se vc puder me dar uma luz… te agradeço muito!!!
Abraço e feliz 2010!
Oi, Bruno!
Esta é difícil… pode ter solução, dependendo da qualidade das suas imagens. Faça o seguinte: mande uma imagem prá mim, e se eu achar a solução publico um tutorial aqui, certo?