Quick Set Scale, macro para o ImageJ!
Translate original post with Google Translate
Esse tópico é um pouco velho, pois acabei ficando sem tempo pra publicar!
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 800cm (8 metros!).

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 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);
}

Português
Irene 11:17 on 2008/01/03 Permalink |
ora vejam soh quem encontro pelos caminhos tortuosos da internet. interessante este seu macro. vou experimentar no nosso imageJ.
bjs
Irene
Sandro 19:43 on 2009/02/22 Permalink |
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
nelas 1:24 on 2009/02/23 Permalink |
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.
ricardo 20:25 on 2009/06/19 Permalink |
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
luis 16:29 on 2010/03/04 Permalink |
por favor escreva pra mim, nao consigo estabelecer uma escala ideial
grato
nelas 17:03 on 2010/03/04 Permalink |
Olá luis, não entendi sua dúvida. Não existe uma escala ideal apenas a escala correta. Você está usando o QuickSetScale?