Processamento de imagens na prática

ImLab: software experimental para processamento de imagens

O objetivo deste post é apresentar o ImLab, software desenvolvido por Antonio Escaño Scuri, que me contatou por email e me apresentou seu projeto. Imlab está na versão 2.3, e leva o subtítulo “A Free Experimental System for Image Processing”. O caráter experimental é um diferencial valioso para quem está pesquisando novas alternativas e não pretende ficar preso ao que já foi feito e documentado.

O ImLab. Foi construido em C++, tendo como base a biblioteca de processamento de imagens IM, desenvolvida na Telegraf puc-rio. E provavelmente foi desenvolvido pensando em usuários-pesquisadores-desenvolvedores.

Do que gostei:

Visualização 3D com tins de cinza no eixo Z, permite identificar características como a irregularidade na iluminação do fundo.

Visualização 3D com tins de cinza no eixo Z, permite identificar características como a irregularidade na iluminação do fundo.

  • A idéia da área de trabalho com texto, produzindo um log completo da seção de trabalho. Guarda resultados numéricos e os métodos e operações que você faz. É ótimo para facilitar a elaboração de relatórios e tutoriais. O log inclui o tempo utilizado para cada processo, em milisegundos.
  • Cada operação que gera uma nova imagem, coloca no título da janela o nome da operação (e as vezes alguns parâmetros). Você não fica confuso, mesmo quando seu processo gera um amontoado de imagens na tela.
  • Tem um amplo conjunto de operações, inclusive transformadas, que são difíceis de se encontrar já implementadas (é comum o pesquisador ter que implementar a sua própria versão só para usar em uma pesquisa).
  • A visualização em 3D, com o nível de cinza no eixo Z pode ser muito útil em análises preliminares. O ImLab a colocou em local de fácil acesso.
  • A documentação do código foi organizada para que novos desenvolvedores possam conhecer o software e desenvolver novas ferramentas.

Do que não gostei:

  • Ainda não tem help. Assim fica bem difícil descobrir como fazer o que se precisa, ou entender como cada processo é realizado. Entendo que não exista tanto tempo disponível para compor manuais grandiosos, mas uma leve descrição de cada função agrega um valor enorme a qualquer software.
  • O projeto tem pouca atividade em listas de discussão e fóruns, o que caracteriza um baixo número de usuários ativos, apesar de ter mais de 10 mil downloads. Isso não significa que o software não é bom, apenas pouco utilizado, e não há uma grande comunidade preocupada em mantê-lo atualizado e livre de bugs.
  • Também faltam mensagens de erro que mostrem ao usuário quando ele está tentando fazer algo que não é possível, como fazer operações binárias com uma imagem RGB.

Recomendo!

Para quem é curioso, sabe C++ (mesmo que só um pouco) e quer experimentar novas técnicas e possibilidades.

O que falta…

A meu ver, para que um software possa ser usado para pesquisa ou aplicações comerciais por usuários-não-desenvolvedores ele precisa de documentação. Não falo de documentação de código (como entendem a maioria dos desenvolvedores), mas de documentação para o usuário! Help, manual! Que diga como utilizar, e quais as fórmulas matemáticas foram usadas para implementar os processos. Um bom manual (que fica ótimo em formato wiki) ensina os usuários a executar as tarefas que necessitam e permite aos pesquisadores que analisem seus resultados de forma segura.

So what?

voo livre
Acho que o projeto tem imenso potencial, mas precisa urgente de:

  • Mais desenvolvedores;
  • Mais usuários;
  • Usuários e desenvolvedores que se disponham a escrever um manual.

Fazer parde de um projeto OpenSource pode ser um passo importante para quem está na graduação, ou mesmo aprendendo de forma independente uma linguagem de programação. Você amplia sua experiência prática com situações reais, aprende a trabalhar em equipe, conhece pessoas do meio.

Se você ainda não é um exímio programador, comece por identificar bugs, escrever manuais e mensagens de erro. Depois pode passar a corrigir alguns bugs e, quando estiver pronto, pode ajudar a implantar novidades.

Ao responsável pelo projeto,

sugiro investir mais na divulgação:

  • Faça um botão (como os que tenho no rodapé do ImageSurvey), e vamos espalhá-lo pela web.
  • Apresente-se! Crie uma página pessoal. Uma das coisas que aprendi ao criar um blog é que ser anônimo na internet é como ser anônimo fora dela: as pessoas não confiam em quem não conhecem.

Aos leitores deste post

Se você faz parte ou conhece algum projeto de software livre para processemento e análise de imagens? Escreva um comentário e conte comigo para ajudar a divulgar seu projeto.

Imagens inseridas neste post são trabalhos derivados de imagens de Jeffrey Beall e ArchanaR, respectivamente.

2 Comentários para ImLab: software experimental para processamento de imagens

  1. Antonio Scuri's Gravatar Antonio Scuri - 30 de janeiro de 2009 at 14:49 | Permalink

    Ola Gabriela,

    Obrigado pelo seu tempo. Uma analise como essa sempre ajuda a nos motivar para fazer algo melhor.

    Todos os seus comentarios são pertinentes.

    Em 2009, vamos re-modelar a interface do ImLab e adicionar um Help online de forma que ele deixe de ser “experimental”.

    Pois se não me engano, atualmente ele e´ a unica alternativa livre ao ImageJ para processamento e analise de imagens.

    Obrigado,
    Antonio Scuri

Comente

Você pode usar estas tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>