Anlise e Desenvolvimento de Filtros Digitais Adaptativos para Imagens Mdicas

Authors Avatar

Projeto de Iniciação Científica

RELATÓRIO PARCIAL

Análise e Desenvolvimento de Filtros Digitais Adaptativos para Imagens Médicas

Bolsista: Maria Luísa Cantadori

Orientador: Sérgio Shiguemi Furuie


Introdução

As imagens médicas são muito importantes para o diagnóstico e tratamento de diversas doenças. No entanto, há vários tipos de ruídos que causam a degradação dessas imagens, que dependem do seu processo de formação e dificultam um diagnóstico preciso. Como exemplo, tem-se: ruído térmico dos sensores, ruído de dispositivos eletrônicos, ruído estatístico de emissão radioativa (Poisson), interferência de ondas mecânicas (speckle) e não-homogeneidade de sensibilidade dos transdutores. Todos eles afetam a precisão e a qualidade de imagens de Raio-X (e Tomografia Computadorizada), Medicina Nuclear e Ultra-Som. Portanto, é necessário que as análises e segmentações desse tipo de imagem sejam precedidas por pré-processamentos que levem em conta a natureza das degradações, mas mantenham as características essenciais das imagens.

Objetivos

Este projeto objetiva desenvolver e analisar diversos filtros digitais adaptativos para melhorar a relação sinal-ruído de imagens de diversas modalidades médicas, em especial imagens de Medicina Nuclear e Ecocardiografia, de modo a permitir segmentações e quantificações de estruturas de interesse com maior exatidão e precisão.  Especificamente, pretendemos investigar os seguintes filtros (2D) em um primeiro momento:

  • Filtros adaptativos do tipo Wiener;
  • Filtros adaptativos por Difusão Anisotrópica;
  • Filtros para Estruturas Tubulares;

Os filtros (a) e (c) serão investigados tendo em vista imagens de Medicina Nuclear (SPECT e PET), enquanto os filtros (b) e (c) serão aplicados a imagens de Ecocardiografia. Pretende-se utilizar filtros adaptativos, pois estes preservam melhor as bordas das imagens.

Metodologia

Neste projeto, foram utilizadas imagens simuladas de três tipos de ruídos (gaussiano, speckle e Poisson) para analisar a eficiência dos filtros desenvolvidos. O desenvolvimento dos filtros foi feito na linguagem Java, utilizando a plataforma de desenvolvimento Eclipse. Os programas desenvolvidos foram então executados dentro de um software destinado a trabalhar com imagens, o ImageJ. A vantagem do uso desse software é a possibilidade de criar plugins externos e utilizá-los como sua extensão.

A partir disso, foram estudados e desenvolvidos os filtros mencionados anteriormente.

Filtros adaptativos do tipo Wiener para imagens de Medicina Nuclear e Raio-X

A Medicina Nuclear permite observar o estado fisiológico de órgãos e tecidos de forma não invasiva, por meio da marcação, com isótopos radioativos, de moléculas participantes desses processos fisiológicos. Os isótopos denunciam sua localização ao emitirem partículas detectáveis, como partículas gama. Uma imagem de Medicina Nuclear é o mapa da distribuição do composto marcado com material radioativo dentro do paciente. O ruído decorrente nas imagens obtidas com esse tipo de técnica é o Poisson.

Uma outra técnica de estudo de imagens médicas é a Tomografia Computadorizada (CT, Computerized Tomography), que se baseia na emissão de radiação X e é utilizada em diversas áreas por permitir a visualização de estruturas internas, como seções transversais do corpo humano.  A ampla utilização dos métodos de tomografia se deve à sua rapidez e simplicidade. No entanto, para casos em que há uma baixa relação sinal-ruído, a aplicação direta desses métodos de transformação produz resultados inaceitáveis. Temos também métodos estatísticos que, embora produzam resultados melhores, consomem bastante tempo de execução. O principal tipo de ruído nessa técnica é o gaussiano.

O Filtro de Wiener é uma técnica alternativa rápida para a restauração de imagens com ruído Poisson e gaussiano e baixa relação sinal-ruído. Ele é baseado no uso de um fator de peso , que pondera o novo valor do pixel, , entre a média local na janela,  (onde o tamanho da janela é definido pelo usuário), e o valor do próprio pixel, .

Para valores baixos de  (casos em que a variância local é menor que a variância máxima), a estimativa é próxima da média. Para valores altos de  (casos em que a variância local é próxima da variância máxima, caso das regiões de borda), é próxima ao valor do próprio pixel.

O código do Filtro de Wiener (Filtro_Wiener.java) está anexado no final deste relatório.

Filtros adaptativos para imagens de Ultra-Sonografia

A Ultra-Sonografia, ou Ecografia, é um método diagnóstico que utiliza o eco produzido por ondas acústicas para ver em tempo real as reflexões produzidas pelas estruturas e órgãos do corpo humano. O aparelho de ultra-som gera pulsos elétricos que permitem a emissão de ondas sonoras por meio de transdutores piezoelétricos, a uma dada freqüência. Parte da onda sonora prossegue, penetrando na matéria, enquanto parte é refletida (eco) pelas camadas formadas por diferentes tecidos do corpo.

A esse tipo de método está associado um ruído específico, que é multiplicativo e dependente da intensidade do sinal recebido, o ruído speckle. Esse ruído é devido à interferência destrutiva de ondas, e seu efeito visual proporciona uma textura granulosa, que pode dificultar a interpretação de imagens de Ultra-Som.  

Filtro de Lee

Dentre os filtros utilizados para a redução do ruído speckle e para o aumento da relação sinal-ruído, com o objetivo de melhorar a separabilidade entre os alvos da superfície e com a mínima perda de informação, temos o Filtro de Lee, que utiliza um método parecido com o do Filtro de Wiener para minimizar o erro médio quadrático. Ele realiza uma linearização que permite transformar o modelo multiplicativo do ruído em aditivo, ou seja, o ruído e o sinal tornam-se independentes.

O cálculo do valor do pixel filtrado, , utilizando o Filtro de Lee, pode ser feito por meio da expressão abaixo, onde  é a média local na janela (cujo tamanho é definido pelo usuário),  é o próprio valor do pixel e  é o fator de peso:

 é a variância local normalizada, enquanto  é a variância normalizada do ruído. Esses valores são dados de acordo com as expressões abaixo, onde  é o tamanho da janela, definido pelo usuário,  é a variância do ruído e , a média do ruído, ambas em uma região retangular homogênea da imagem definida pelo usuário. È importante que a região seja homogênea para que a variância do ruído não seja confundida com a variância das bordas, elevada se comparada à primeira.

O valor de  varia entre 0 e 1 e tem como função a preservação das bordas das imagens. Se , então se conclui que , ou seja, trata-se de uma região interna, que não é borda. Faz-se então  para que seja mantido o valor médio da janela. Se , conclui-se que , ou seja, trata-se de uma região de borda. Deve-se então fazer , para que seja mantido o valor do pixel lido.

Assim, o Filtro de Lee consegue preservar bordas e atenuar o ruído em regiões homogêneas.

O código do Filtro de Lee (Filtro_Lee.java) está anexado no final deste relatório.

Filtro por Difusão Anisotrópica

Os Filtros por Difusão Anisotrópica são interessantes, pois preservam as bordas e podem controlar a direção do processo de difusão, bem como o grau de difusão (número de iterações). Eles exploram o coeficiente de variação instantâneo, que é apresentado como uma função da magnitude do vetor gradiente local e operadores laplacianos. A implementação do filtro pode ser feita de acordo com as expressões abaixo, onde,

O gradiente pode ser calculado de forma aproximada como segue:

E seu módulo, por:

 é uma função que limita a difusão na borda, pois satisfaz  quando . Essa função depende de  (um parâmetro positivo que limita o valor do gradiente e é conhecido como constante de difusão ou fluxo) e é definida por:


Sendo assim, tem-se:

Sabendo que:

Conclui-se:

Assim, tem-se que o algoritmo com relaxação é:

, ,  e  são os coeficientes de difusão para os pixels a oeste, leste, norte e sul, numa vizinhança de 4 pixels ao redor do pixel  onde a difusão é computada. Daí a característica direcional.  é um escalar que varia entre 0 e 1 (as simulações indicaram que para valores superiores de  o filtro deixa de preservar as bordas) e determina a taxa de difusão e  é a variação de tempo entre duas iterações, convencionalmente 1.

Join now!

Para que o Filtro de Difusão Anisotrópica fosse efetivo, foi necessário analisar diferentes combinações de ,  e  (número de iterações). Para isso, utilizou-se uma imagem simulada de Raio-X, ou seja, com ruído gaussiano, pois a imagem simulada de Ultra-Som, como será visto adiante, não era ideal para os experimentos, e a imagem simulada de Medicina Nuclear apresentava baixa variância se comparada à de Raio-X. Inicialmente, considerou-se um número de iterações  e valores de  pequenos, entre 2 e 10. Isso foi necessário, pois a constante  só fazia sentido se a razão  fosse superior a 10. Percebeu-se que, nas regiões de borda, ...

This is a preview of the whole essay