Post on 07-Apr-2016
Processamento de Imagens Processamento de Imagens MédicasMédicas
Prof. Dr. Paulo Mazzoncini de Azevedo MarquesProf. Dr. Paulo Mazzoncini de Azevedo Marques ((pmarques@fmrp.usp.br))
Centro de Ciências das Imagens e Física Médica – Centro de Ciências das Imagens e Física Médica – CCIFMCCIFM
Faculdade de Medicina de Ribeirão Preto – Faculdade de Medicina de Ribeirão Preto –
FMRP/USPFMRP/USP
Imagem Médica
??IMAGEM ??Formar a imagem de um objeto significa obter um mapa de uma propriedade física específica desse objeto em função da posição no espaço.
Por exemplo, para imagens de raios-X a propriedade mapeada é o coeficiente de atenuação do material, para imagens por Ressonância Magnética a propriedade considerada é a resposta dos núcleos atômicos do material a variação de um campo magnético bastante elevado e assim por diante. Como nossos olhos são sensíveis a variação de intensidade luminosa, independentemente da técnica utilizada em algum momento terá que ser formada uma imagem por variação de intensidade luminosa Essa imagem será, então, exibida em algum tipo de monitor ou através de um filme.
CAT Scan1974
Primeiras Primeiras Imagens Imagens Clínicas DigitaisClínicas Digitais
Imagens Digitais Imagens Digitais AtuaisAtuais
Aquisição de Imagens Digitais
Constituída de 3 elementos básicos:
DigitalizadorConverte um sinal elétrico em um sinal digital
TransdutorConverte a variação de uma propriedade física em um sinal elétrico.
Detetor Detecta a variação de uma propriedade física.
BASES DA IMAGEM DIGITALBASES DA IMAGEM DIGITAL
BASES DA IMAGEM DIGITALBASES DA IMAGEM DIGITAL
RESOLUÇÃO ESPACIAL
QUANTIZAÇÃO
RESOLUÇÃO DE QUANTIZAÇÃO (CONTRASTE)
Modelo para Imagens DigitaisModelo para Imagens Digitais
Imagem = f(x,y)Imagem = f(x,y)
Para cada elemento (x,y) na imagem(pixel) temos um valor f(x,y) correspondente à intensidade luminosa naquele ponto.
f(x,y) =
(0,1) (0,2) (0,3)
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)=
121 133 57
45 212 134
0 86 214
PROCESSAMENTO DE IMAGENSPROCESSAMENTO DE IMAGENS
PRÉ-PROCESSAMENTO(realce da imagem)
Métodos no domínio espacial (manipulação dos píxels da imagem)transformações de intensidadeprocessamento do histogramasubtração e média de imagens.filtragens espaciais de fundo (background) de suavização de realce
Métodos no domínio da freqüência (modificação da Transformada de Fourier da imagem)
filtragem passa-baixa filtragem passa-alta filtragem passa-banda
Métodos no domínio espaço-freqüência (modificação da Transformada "Wavelet" da imagem)
PRÉ-PROCESSAMENTO(realce da imagem)
Métodos no domínio espacial (manipulação dos píxels da imagem)
transformações de intensidade
processamento do histograma
subtração e média de imagens.
filtragens espaciais de fundo (background) de suavização de realce
PRÉ-PROCESSAMENTO(Equalização de Histograma)
PRÉ-PROCESSAMENTO(realce da componente horizontal)
Filtro de Prewitt - horizontal
PRÉ-PROCESSAMENTO(realce da componente vertical)
Filtro de Prewitt - vertical
PRÉ-PROCESSAMENTO(soma das componentes)
Métodos no domínio da frequência
Transformada de FourierFiltro passa baixaFiltro passa altaFiltro passa banda
Transformada Wavelet
PRÉ-PROCESSAMENTO(realce da imagem)
Transformadas
Transformações matemáticas são operações que são aplicadas em sinais (imagens) de forma a se obter informações que não são “legíveis” no sinal original.
Existe um grande número de Transformações que podem ser aplicadas e a Transformada de Fourier é provavelmente a mais conhecida.
TRANSFORMADA DE FOURIER
Reversível
Não possui informação de tempo
A T.F. nos diz a quantidade de uma certa freqüência que existe no sinal mas não quando ela ocorre no tempo.
Sinais Estacionários
Sinais Não Estacionários
SÉRIE DE FOURIER
Sinais Estacionários x(t)=cos(2*pi*10*t)+cos(2*pi*25*t)+cos(2*pi*50*t)+cos(2*pi*100*t)
Sinais Não Estacionários
Sinais Não Estacionários
Sinais Não Estacionários
Sinais Não Estacionários
A Transformada de Fourier nos dá a informação de freqüência mas não nos diz quando (no tempo) esta informação aparece.
Quando a Transformada de Fourier é útil?
Quando desejarmos obter as componentes de freqüência de um sinal sem a necessidade de saber quando elas aparecem.
Análise Multiresolução
Possibilita analisar o sinal em diferentes freqüências com diferentes resoluções
Desenvolvida para fornecer:
• Uma boa resolução no tempo e uma pobre resolução frequencial em altas freqüências.
• Uma boa resolução frequencial e pobre resolução no tempo em baixas freqüências.
Transformada Wavelet
A transformada wavelet é definida como:
é uma função de 2 variáveis: tau (translação) e s(escala)
psi(t) é a função de transformação e é chamada wavelet mãe e tem esse nome devido a duas propriedades importantes da análise de wavelets:
O termo wavelet significa pequena onda
O termo pequeno refere-se a esta função (janela) por ela possuir comprimento finito (suporte compacto)
Transformada Wavelet
O termo onda é por ela ser oscilatória
O termo mãe implica que diferentes funções com diferentes regiões de suporte (comprimento) que são utilizadas no processo de transformação são derivadas de uma função principal chamada wavelet mãe. Em outras palavras a wavelet mãe é utilizada para gerar outras funções “janela”.
O termo translação é usado para indicar o deslocamento da janela ao longo do sinal.
A frequência é definida pela escala.(1/frequência).
ESCALA
O parâmetro de escala na análise wavelet é similar à escala usada em mapas. Altas escalas correspondem a uma visão global e baixas escalas correspondem a uma visão detalhada.
Em termos de frequência, baixas frequências (altas escalas) correspondem a uma visão global enquanto altas frequências (baixas escalas) correspondem a uma visão detalhada do sinal.
Realce de Imagens
Nível
1
Nível
2
Original
Aplicação da T.W.
...
...
...
...
...
...
...
Coeficientes wavelet
Aplicação da Inversa da T.W.
Realçada
Realce de Imagens
Nível 1
Nível 2
Nível 3
Componentes de Baixa Frequência
Imagem Original
ImagemReconstruída
Componentes de Alta FrequênciaHorizontal
Componentes de Alta FrequênciaVertical
Componentes de Alta FrequênciaDiagonal
PRÉ-PROCESSAMENTO(realce da imagem)
Realce de microcalcificações através da aplicação de Transformada Wavelet
PROCESSAMENTO DE IMAGENSPROCESSAMENTO DE IMAGENS
Segmentação de imagensSegmentação de imagens
Processo para detectar e delimitar o Processo para detectar e delimitar o objeto de interesse em uma imagem objeto de interesse em uma imagem e/ou subdividir uma imagem em suas e/ou subdividir uma imagem em suas regiões constituintes.regiões constituintes.
Exemplos de aplicaçãoExemplos de aplicação
Detecção de órgãos:Detecção de órgãos:– Coração;Coração;– Pulmões MR e CT;Pulmões MR e CT;
Calculo do volume:Calculo do volume:– Massa branca e cinzenta;Massa branca e cinzenta;
Medidas quantitativas:Medidas quantitativas:– Ultra-som;Ultra-som;
Determinação de forma:Determinação de forma:– Mamografia;Mamografia;
Reconstrução 3D;Reconstrução 3D;
Exemplos de aplicaçãoExemplos de aplicação
Detecção de órgãos:Detecção de órgãos:– Coração;Coração;– Pulmões MR e CT;Pulmões MR e CT;
Calculo do volume:Calculo do volume:– Massa branca e cinzenta;Massa branca e cinzenta;
Medidas quantitativas:Medidas quantitativas:– Ultra-som;Ultra-som;
Determinação de forma:Determinação de forma:– Mamografia;Mamografia;
Reconstrução 3D;Reconstrução 3D;
SEGMENTAÇÃO
Manual;Manual; Interativa ou semi-automática;Interativa ou semi-automática; Baseada em modelo;Baseada em modelo; Automática;Automática;
Segmentação ManualSegmentação Manual
Delimitação manual das regiões de Delimitação manual das regiões de interesse;interesse;
Indicado para pequenos experimentos Indicado para pequenos experimentos ou um número limitado de casos;ou um número limitado de casos;
Problemas:Problemas:– Tempo (3D);Tempo (3D);– Variação intra e inter usuários;Variação intra e inter usuários;– Resolução do monitor;Resolução do monitor;
Segmentação ManualSegmentação Manual
Software BrainSight
SEGMENTAÇÃO MANUAL
Malha 2D
SEGMENTAÇÃO INTERATIVA
A segmentação é acompanhada por um especialista o qual pode interagir com A segmentação é acompanhada por um especialista o qual pode interagir com o sistema;o sistema;
Imagem é subdividida em regiões
homogêneas que são unidas
automaticamente seguindo o critério de
homogeneidade estabelecido pelo
usuário.
SEGMENTAÇÃO BASEADA EM MODELOS
Imagens para gerar os modelos Imagens para gerar os modelos ((Point Distribution ModelPoint Distribution Model););
3 características das imagens:3 características das imagens:– níveis de cinza;níveis de cinza;– borda;borda;– posição;posição;
Ajustes dos pontos;Ajustes dos pontos;
Segmentação AutomáticaSegmentação Automática
O processo automatizado de segmentação é O processo automatizado de segmentação é considerado um dos processos mais difíceis considerado um dos processos mais difíceis em processamento de imagens digitais;em processamento de imagens digitais;
A escolha de uma técnica de segmentação em A escolha de uma técnica de segmentação em relação à outra é ditada principalmente pelas relação à outra é ditada principalmente pelas características peculiares do problema;características peculiares do problema;
Melhora do desempenho:Melhora do desempenho:– Controle sobre o ambiente;Controle sobre o ambiente;– Tipos de sensores que tendam a realçar os Tipos de sensores que tendam a realçar os
objetos de interesse;objetos de interesse;– Pré-processamento;Pré-processamento;
Segmentação AutomáticaSegmentação Automática
Utiliza operadores automáticos que Utiliza operadores automáticos que examinam a imagem em busca de examinam a imagem em busca de características que determinem e delimitem características que determinem e delimitem regiões de interesse;regiões de interesse;
Exemplo de características: Exemplo de características: – BordaBorda– RegiõesRegiões
Thresholding (Limiarização)Thresholding (Limiarização)
Uma das mais importantes abordagens para a segmentação de Uma das mais importantes abordagens para a segmentação de imagens;imagens;
Utiliza análise do histograma da imagem para segmentar a Utiliza análise do histograma da imagem para segmentar a imagem;imagem;
A iluminação deve ser uniforme;A iluminação deve ser uniforme; A imagem deve apresentar um alto contraste;A imagem deve apresentar um alto contraste; Dificuldade: determinar o limiar (T);Dificuldade: determinar o limiar (T);
Limiarização global simplesLimiarização global simples
Detecção de Detecção de descontinuidadedescontinuidade
Varredura da imagem por uma Varredura da imagem por uma máscara;máscara;
Envolve o cálculo da soma dos Envolve o cálculo da soma dos produtos dos coeficientes pelos produtos dos coeficientes pelos níveis de cinza contidos na níveis de cinza contidos na região englobada pela mascara;região englobada pela mascara;
onde: onde: – zi - nível de cinza da imagem;zi - nível de cinza da imagem;– wi - valor da mascara;wi - valor da mascara;
W1 W2 W3 W4 W5 W6 W7 W8 W9
9
1
992211 ...
iii zwR
zwzwzwR
Detecção de pontosDetecção de pontos
Basicamente, o que Basicamente, o que essa formulação faz é essa formulação faz é medir as diferenças medir as diferenças ponderadas entre o ponderadas entre o ponto central e seus ponto central e seus vizinhos;vizinhos;
A idéia é que o nível A idéia é que o nível de cinza de um ponto de cinza de um ponto central será central será completamente completamente diferente do nível de diferente do nível de cinza de seus cinza de seus vizinhos;vizinhos;
TR
sendo sendo TT limiar; limiar;
Detecção de linhasDetecção de linhas
Basicamente, o que essa formulação faz Basicamente, o que essa formulação faz é medir as diferenças ponderadas entre a é medir as diferenças ponderadas entre a orientação desejada e seus vizinhos;orientação desejada e seus vizinhos;
Detecção de bordasDetecção de bordas
Abordagem mais comum para a detecção de Abordagem mais comum para a detecção de descontinuidades significantes na imagem;descontinuidades significantes na imagem;
Uma borda é o limite entre duas regiões com Uma borda é o limite entre duas regiões com propriedades relativamente distintas de nível de cinza;propriedades relativamente distintas de nível de cinza;
Assume-se que as regiões em questão são Assume-se que as regiões em questão são suficientemente homogêneas, de maneira que a suficientemente homogêneas, de maneira que a transição entre duas regiões possa ser determinada transição entre duas regiões possa ser determinada com base apenas na descontinuidade dos níveis de com base apenas na descontinuidade dos níveis de cinza;cinza;
Um modelo mais custoso computacionalmente, mas Um modelo mais custoso computacionalmente, mas simula o comportamento do olho humano e é muito simula o comportamento do olho humano e é muito mais flexível e genérico;mais flexível e genérico;
As principais limitações são ruídos e o fato que as As principais limitações são ruídos e o fato que as bordas podem não ser fechadas;bordas podem não ser fechadas;
Detecção de bordas
Operadores de gradienteOperadores de gradiente– Exemplo Sobel;Exemplo Sobel;
SEGMENTAÇÃO AUTOMÁTICA
(a) mamograma original; (b)Limiarização pelo método de Ridler & Calvard; (c) Remoção de espúrios; (d) Remoção do fundo da imagem; (e) Borda da mama gerada por morfologia matemática; (f) Contorno da mama, com detecção do músculo peitoral através de congruência de fase.
SEGMENTAÇÃO AUTOMÁTICA
SEGMENTAÇÃO
Exemplo de Segmentação de Imagem(a) ROI original com cluster (b) imagem após realce (c) imagem diferença
(d) imagem segmentada (após aplicação de threshold adaptativo)
Exemplo de Segmentação de Imagem(a) ROI original com nódulo (b) imagem segmentada após aplicação
de threshold adaptativo e morfologia matemática
Ferrari RJ et al. Characterization of breast cancer using statistical approaches. In: Doi K, MacMahon H, Giger ML and Hoffmann KR, eds. Computer-Aided Diagnosis in Medical Imaging. Amsterdan: Elsevier Science, 1999:281-6
Kinoshita SK et al. Characterization of breast masses using texture and shape features. In: Doi K, MacMahon H, Giger ML and Hoffmann KR, eds. Computer-Aided Diagnosis in Medical Imaging. Amsterdan: Elsevier Science, 1999:265-70.
PROCESSAMENTO DE IMAGENSPROCESSAMENTO DE IMAGENS
Descrição ou Extração de Descrição ou Extração de AtributosAtributos
Esse processo procura extrair atributos Esse processo procura extrair atributos que resultem em alguma informação que resultem em alguma informação quantitativaquantitativa de interesse ou que sejam de interesse ou que sejam básicas para básicas para discriminaçãodiscriminação entre entre classes de objetos;classes de objetos;
Descrição ou Extração de Descrição ou Extração de AtributosAtributos
Fronteira ou características externas: Fronteira ou características externas: utilizado quando o interesse se utilizado quando o interesse se concentra na caracterização de concentra na caracterização de formas;formas;
Características internas: utilizado para Características internas: utilizado para representação de brilho e textura, por representação de brilho e textura, por exemplo;exemplo;
Geralmente se utiliza as duas formas Geralmente se utiliza as duas formas concomitantemente;concomitantemente;
Descritores de Descritores de FronteirasFronteiras Comprimento;Comprimento;
– Um dos descritores mais simples - uma Um dos descritores mais simples - uma simples contagem dos pixels ao longo do simples contagem dos pixels ao longo do contorno fornece uma aproximação do contorno fornece uma aproximação do comprimento;comprimento;
Diâmetro;Diâmetro;– é o maior eixo da fronteira;é o maior eixo da fronteira;
Curvatura;Curvatura;– é a taxa de mudança de inclinação;é a taxa de mudança de inclinação;– pode determinar se um segmento do pode determinar se um segmento do
objeto é côncavo ou convexo;objeto é côncavo ou convexo;
Descritores de FronteirasDescritores de Fronteiras• Assinaturas
Assinaturas
Giger ML, MacMahon H. Radiologic Clinics Of North America, V.34, No 3, p.565-96, 1996.
Descritores de FronteirasDescritores de Fronteiras• Descritores de Fourier
original M=2 M=20
M=40 M=100 M=150
M=200 M=250 M=400
M=500 M=550 M=552
Exemplo de filtragem no contorno
(numero máximo de descritores de Fourier 556)
Descritores RegionaisDescritores Regionais
• Descritores Simples• Área• Perímetro• Compacidade (perímetro2/área)
Descritores RegionaisDescritores Regionais
• Descritores Topológicos • São insensíveis à deformações
• Número de buracos (H)• Número de componentes conexos (C)• Número de Euler (E): E = C - H
Descritores RegionaisDescritores Regionais• Textura Medidas de propriedades como suavidade, rugosidade e regularidade
•Abordagem Estatística•Histograma de primeira ordem – momentos
Descritores RegionaisDescritores Regionais• Textura
•Abordagem Estatística•Histograma de segunda ordem (Matriz de co-ocorrência de níveis de cinza) – entropia, uniformidade, contraste, etc...
Dividindo-se cada elemento de A pelo número total de ocorrências da matriz (no caso 16) obtém-se a Matriz de co-ocorrência de níveis de cinza, da qual podem ser extraídos alguns descritores de textura.
Extração dos atributos de Textura Extração dos atributos de Textura
Relações espaciais entre os níveis de cinza Relações espaciais entre os níveis de cinza da imagem na direção de 0da imagem na direção de 000..
Matriz de co-ocorrência do níveis de cinzaMatriz de co-ocorrência do níveis de cinza
110000001133000000002200001122220
123
0 1 2 3
São extraídas 4 matrizes de co-São extraídas 4 matrizes de co-ocorrênciaocorrência
Matriz de co-ocorrência do níveis de cinzaMatriz de co-ocorrência do níveis de cinza
00˚̊**4545˚̊90 90 ˚̊135135˚̊
Energia Um indicador de uniformidade ou suavidade da imagem.
- Texturas homogêneas terão um valor mais alto que uma não homogênea.
i j
jipenergia 2)),((
0.710.950.970.971.00
*
Contraste Quantidade de variação local de níveis de cinza de uma imagem.
-Imagens de baixo contraste Os níveis de cinza estão próximos da média.
1
0
2 ))},((){(gN
k
jipjicontraste
onde k =| i - j |.
0,000,000,040,040,300,300,330,331,001,00*
PROCESSAMENTO DE IMAGENSPROCESSAMENTO DE IMAGENS
CLASSIFICAÇÃO DE PADRÕES
Padrão é uma descrição quantitativa ou estrutural de um objeto ou alguma outra entidade de interesse em uma imagem.Geralmente, o padrão é formado por um ou mais descritores.O nome características (ou atributos) é frequentemente adotado para denotar os descritores. Um objeto pode ser descrito por um vetor de características (ou atributos).Uma classe de padrões é uma família de padrões que compartilham algumas propriedades.Reconhecimento de padrões por máquina envolve técnicas para a atribuição dos padrões a suas respectivas classes automaticamente, com a mínima intervenção humana possível.
CLASSIFICAÇÃO DE PADRÕES
•Classificador de Distância Mínima•Calcula distância entre vetores de atributos médios (protótipos)•O padrão desconhecido é atribuído à classe de protótipo mais próximo•Para uma distribuição Gaussiana assume um MAX = (2)1/2
Métodos de Decisão Teórica
21
2
)/()/(
dxxpxpJ jiij
CLASSIFICAÇÃO DE PADRÕES
•Classificador Estatístico Paramétrico (Bayesiano)•Considera distribuições de funções densidade de probabilidade gaussianas.•Procura minimizar as perdas da classificação errada através da associação de custos.O padrão desconhecido é atribuído à classe que permitir a minimização da perda média por classificação errada.
Métodos de Decisão Teórica
CLASSIFICAÇÃO DE PADRÕES
•Classificador Estatístico não Paramétrico (KNN)•Neste classificador um padrão desconhecido é classificado na mesma classe a que pertence a maioria dos exemplos mais próximos. Por “mais próximos” entende-se geralmente a distância euclidiana, apesar de se poder usar outra métrica.
Métodos de Decisão Teórica
OBSERVE QUE:Elemento X B Elemento Y Ak = 7
CLASSIFICAÇÃO DE PADRÕES
Esquema de uma rede neural artificial multi-camadas do tipo
“feedforward”
Métodos de Decisão Teórica
Representação de um neurônio de McCulloch e Pitts.
n
iiiwxu
1
n
iiiwxu
1
Processamento de Imagens Processamento de Imagens MédicasMédicas
INSPEÇÃO VISUALINSPEÇÃO VISUAL AUXÍLIO COMPUTADORIZADOAUXÍLIO COMPUTADORIZADO
– Diagnóstico Auxiliado por Computador Diagnóstico Auxiliado por Computador (CAD – Computer-aided diagnosis)(CAD – Computer-aided diagnosis)
– Cirurgia Auxiliada Por Computador Cirurgia Auxiliada Por Computador (CAS – Computer-assisted Surgery)(CAS – Computer-assisted Surgery)
RECUPERAÇÃO DE IMAGEM POR RECUPERAÇÃO DE IMAGEM POR CONTEÚDO CONTEÚDO (CBIR – Content-based image retrieval)(CBIR – Content-based image retrieval)
INSPEÇÃO VISUALINSPEÇÃO VISUAL
Visão Computacional e Visualização Visão Computacional e Visualização CientíficaCientífica
co-registro e fusão de imagens, realce, segmentação, quantificação visualização 3D de estruturas
- Exemplo: Neurologia
INSPEÇÃO VISUAL
Exemplos de Visualização 3D de Imagens
DIAGNÓSTICO AUXILIADO POR DIAGNÓSTICO AUXILIADO POR COMPUTADORCOMPUTADOR
(CAD)(CAD) Diagnóstico feito por especialista Diagnóstico feito por especialista
que utiliza a saída de uma análise que utiliza a saída de uma análise computadorizada de imagens computadorizada de imagens como como “segunda opinião”“segunda opinião” no no processo de detecção de lesões e processo de detecção de lesões e tomadas de decisões diagnósticas.tomadas de decisões diagnósticas.
Doi K. Computer-aided diagnosis and its potential impact on diagnostic radiology. In: Doi k, MacMahon H, Giger ML, Hoffmann KR, eds. Computer-aided diagnosis in medical imaging. Amsterdam: Elsevier Science, 1999:11-20.
CADCAD
TIPOS DE AUXÍLIOTIPOS DE AUXÍLIO
Auxílio à DetecçãoAuxílio à Detecção– Localização de regiões suspeitasLocalização de regiões suspeitas
CAD – Computer Assisted DetectionCAD – Computer Assisted Detection– aprovado pela FDA-USAaprovado pela FDA-USA
Auxílio ao DiagnósticoAuxílio ao Diagnóstico– Classificação dos achadosClassificação dos achados
extração de informações pelo computadorextração de informações pelo computador extração de informações pelo especialistaextração de informações pelo especialista
3D CT 3D CT HemangioHemangiomama
CIRURGIA AUXILIADA POR COMPUTADORCIRURGIA AUXILIADA POR COMPUTADOR(CAS)(CAS)
Procedimentos Intervencionistas Procedimentos Intervencionistas Planejamento e Tratamento Radioterápico (dose Planejamento e Tratamento Radioterápico (dose
máxima no alvo e dose mínima no tecido circundante)máxima no alvo e dose mínima no tecido circundante)
Avaliações Ortopédicas
CIRURGIA AUXILIADA POR COMPUTADORCIRURGIA AUXILIADA POR COMPUTADOR(CAS)(CAS)
RECUPERAÇÃO DE IMAGEM POR RECUPERAÇÃO DE IMAGEM POR CONTEÚDO CONTEÚDO
(CBIR)(CBIR)
BD ORACLEBD ORACLE
CTCT
Imagens DICOM
MÉDICO
?
O Sistema SRIS-HCRosa NA, Traina AJM. Uma abordagem prática e eficiente de consultas por similaridade para suporte ao diagnóstico por imagem. Dissertação de mestrado, ICMC/USP, 2002.