Categories
artigos código

Quick Set Scale, macro para o ImageJ

Como vocês já devem ter lido por aqui, gosto e uso bastante o ImageJ, um software de processamento de imagens. Uma das tarefas que faço frequentemente é medir “coisas” que estudo. Essas coisas podem ser células, embriões, larvas, seres do plâncton, ou bolachas-do mar adultas.

Para fazer as medições você precisa calibrar a foto informando ao programa qual é o tamanho (em cm, mm, µm, etc…) de cada pixel. Por exemplo, se cada pixel equivale a 1cm e a célula que fotografei tiver 800 pixels de diâmetro, o diâmetro real desta célula é de 800 cm (8 metros!).

Escala micrométrica utilizada para calibrar a escala no ImageJ.

Para descobrir que valor usar é simples, tire uma foto de uma escala numérica (uma régua, ou algo que você saiba o tamanho com precisão), e lembre-se de não alterar o zoom e posição da câmera, ou o aumento do microscópio quando bater suas fotos. Se precisar mudar, bata outra foto da escala com a nova configuração!

Como eu tenho imagens com diferentes aumentos, mas sempre tirados com a mesma câmera, objetivas, microscópio e lupa, fiz uma pequena macro para facilitar minha vida. A macro simplesmente calibra a foto de acordo com valores pré-determinados pelo usuário (meus equipamentos, um microscópio e uma lupa). Pra usar você precisa descobrir quais valores você deve colocar! Não use os valores que estão no código original! Tentei deixar bem fácil para alterar esses valores e adicionar outros equipamentos.

Pra usar é só salvar o código como um arquivo .txt, colocar na pasta ImageJ/macros/toolsets e reiniciar o ImageJ. Esse código foi melhorado pelo Wayne Rasband, que criou o ImageJ, quem quiser ver a versão anterior tem aqui (não use a versão anterior… é só para quem tiver curiosidade em comparar as mudanças). O Quick Set Scale foi incorporado na versão 1.39g do ImageJ!

Depois coloco umas fotos… :-)

// Quick Set Scale v0.99 - 15/10/2007
// Copyleft - Bruno C. Vellutini
// Macro specific for Compound Microscope Zeiss Axioplan2 and Stereoscope Zeiss Stemi SV11 APO
// with photos taken with a Nikon Coolpix 4500 camera (max zoom)
// If you are using this macro you need to input your own values
// specific for your scope and camera set up
var global = false;
macro "Unused Tool - " {}
macro "Quick Set Scale Action Tool - C037L1cfcL1a1eLfafeL8b8dL5b5dLbbbdT0707qT4707uT8707iTa707cTe707k" {
Dialog.create("Quick Set Scale");
// Write the name of the equipments you want to quickly set scale in the array below
Dialog.addChoice("Equipment:", newArray("Microscopio Zeiss Axioplan2", "Lupa Zeiss Stemi SV11 APO"));
Dialog.show();
equip = Dialog.getChoice();
// Options for Axioplan2
if (equip=="Microscopio Zeiss Axioplan2") {
// Write the magnifications available for your equipment
magnifications = newArray("2.5x", "10x", "20x", "40x", "100x");
scales = newArray("2.0450",  "0.5277", "0.2571", "0.1333", "0.05255");
setScale("Zeiss Axioplan2", magnifications, scales);
}
// Options for Stereoscope.
if (equip=="Lupa Zeiss Stemi SV11 APO") {
magnifications = newArray("0.6x", "0.8x", "1.0x", "1.2x", "1.6x", "2.0x", "2.5x", "3.2x", "4.0x", "5.0x", "6.6x");
scales = newArray("5.788712012", "4.246284501",  "3.318620781", "2.631509697", "2.087682672",
"1.680672269", "1.353784505",  "1.06835324", "0.850340136", "0.661371287",  "0.506072874");
setScale("Lupa Zeiss Stemi SV11 APO", magnifications, scales);
}
}
function setScale(name, mag, scale) {
Dialog.create(name);
Dialog.addChoice("Objective:", mag);
Dialog.addCheckbox("Global Scale", global);
Dialog.show();
magnification = Dialog.getChoice();
global = Dialog.getCheckbox();
options = " distance=1 pixel=1 unit=micron known=";
for (i=0; i
if (magnification==mag[i]) options = options + scale[i];
}
if (global) options = options + " global";
run("Set Scale...", options);
}

15 replies on “Quick Set Scale, macro para o ImageJ”

Olá

Gostaria muito de usar o ImageJ em um trabalho para mensurar o tamanho e a area foliar de umas espécies. Como eu posso fazer isso? Qdo escanear as folhas devo ter sempre um padrão de referência? E depois quais os passos que devo fazer?

Obrigado

Olá Sandro, tudo depende do que você precisa medir. Para medir área foliar acredito que seja possível automatizar a tarefa transformando a imagem em binária (imagem com apenas 2 tonalidades). Entre no wiki do ImageJ, acho que lá pode ter um tutorial sobre o tema. Mas é bastante importante utilizar o mesmo aumento em todas as fotos, na aquisição das imagens, ou ter uma escala de refêrencia. Outra coisa é salvar as imagens em png ou tif, já que jpg gera artefatos que podem enviezar suas análises.

prezado colega, boa noite.
meu, estou precisando fazer um trabalho com este programa, tenho as fotos de algumas imagem tiradas com camera digital acoplada a um dermatoscopio digital, gostaria de saber como calibrar o programa image J para eu medir a areA DAS imagens que tenho.
desde ja agradeço sua atenção

Como faço para medir a área de uma superfície em centímetros quadrados? Já fiz os tratamentos de contraste e consigo medir as estruturas que preciso, mas não nessa escala. Por favor, pode me ajudar?? Preciso destas medidas, pois é uma das análises do meu projeto de mestrado que está parado, dependendo disto para seguir adiante!

Vá para o “Analyze > Set Measurements” e ative o check box Area. Se você já ajustou a escala com o “Set Scale…” em centímetros, quando você medir uma área usando as ferramentas de seleção (por exemplo, a seleção elíptica) vai ter uma coluna mostrando a medição da área já em cm².

Oi, Estou fazendo medida de umas fotos de uma região demarcando atraves de uma marcação eliptica, só que gostaria que essa marcação tivesse sempre a mesma medida. Tem como fazer isso?

Olá, boa noite! Gostaria de tirar uma dúvida. Estou precisando inserir uma barra de escala em algumas imagens histológicas, mas estou sem saber como fazer direito. Eu fiz o seguinte: imagej>open>régua de calibração>medição da distância com uma linha>set scale>distância conhecida de 100 micrômetros>global>Ok. Depois da calibração… Open>Imagem para inserção da barra>set scale>tools>scale bar>Configurações>ok. Feito isso, a barra foi inserida na imagem como eu queria, mas ficou grande e ao invés de aparecer 100 micrômetros que era a distância conhecida da calibração, apareceu outro valor (14 micrômetros). Eu posso configurar a barra do tamanho que eu quiser, visto que a imagem havia sido previamente calibrada ou devo obedecer rigorosamente esse valor que apareceu quando eu pedi para inserir a barra? Aguardo resposta. Agradeço imensamente!

Oi Luciano. A calibração só especifica o tamanho “real” de 1 pixel. Quando você insere uma barra de escala você pode escolher o tamanho da barra à vontade, pois a escala é atualizada automaticamente. Você pode mudar o valor de 14 µm para 100 µm, a barra irá aumentar bastante, talvez não caiba na imagem. Mas se você calibrou com 100 µm uma barra de 100 µm deve caber na imagem, se não couber existe algo errado com a calibração.

Olá Bruno,
Estou tentando medir fluorescencia de amostras de 10mm de diametro. Estão em RAW e quando vou abri-las no ImageJ elas ficam pequenas…como faço para que elas fiquem no tamanho real? Se puderes me responder por email…Obrigada

Oi Bruno, estou tentanto alibrar umas imagens pelo Image J mas todos os tutoriais mandam realizar uma medida conhecida na imagem (não tenho nenhuma, pois elas não vem com escala de outro equipamento e não contém nada de tamanho que eu conheça) ou usar os pixels. Você pode me ajudar?

Oi Lisiane, o ideal é criar uma imagem com o equipamento de algo conhecido, como uma escala milimétrica. E usar essa medida para calibrar as suas imagens. Mas isso depende muito de que equipamento é esse, quais imagens estão sendo adquiridas (fotografia ou alguma outra coisa?). Uma alternativa é simplesmente calcular o aumento usando os dados do equipamento. Se for num microscópio você pode calcular o aumento real usando os aumentos da objetiva e da ocular, por exemplo.

Ola Bruno
Estamos realizando medidas de veias de folhas de diferentes plantas, utilizando o ImageJ. Quando realizamos a medida de comprimento, após salvar e iniciar uma nova medida a linha desaparece. Você sabe me dizer se ha alguma forma de deixar essa linha fixa nas estruturas que já medimos como uma forma de marcação? Assim não corremos o risco de medir duas vezes a mesma coisa, ou deixar de medir algo.

Grata

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *