Computação Gráfica II
Descrição
O objetivo deste trabalho é
desenvolver um software de segmentação de tecidos cerebrais.
O programa deve ler imagem de ressonância magnética(IRM) de cérebro e exibi-las na tela.
Estas imagens estão armazenada em formato RAW, em um arquivo texto.
Este arquivo representa uma imagem de 512x512 pixels. Os valores dos
pixels são números reais. Não há informação prévia dos limites dos
valores de tons de cinza, ou seja, é preciso varrer toda a imagem para
descobrir os limites.
Como as IRM tem seu tons de cinza em números reais, é preciso converter este tons para um a escala de 256 tons de cinza [0..255].
Para tanto se define uma janela sobre a escala de cinza original da imagem. Esta janela tem dois atributos:
- contraste: largura
da janela, definindo quais os tons de cinza mínimo e máximo deverão ser
convertidos para o intervalo [0..255]. Quanto mais larga for a janela,
menos contraste terá a imagem;
- brilho: define qual o valor mínimo da janela. Quanto mais alto for este valor, mais clara será a imagem.
Após a exibição, a imagem deve ser processada com o intuito de gerar uma imagem-máscara para cada tecido cerebral(Substância Branca, Substância Cinza e Líquido Cefalorraqudiano).
A figura a seguir mostra uma IRM em tons de cinza, após a conversão para 256 tons de
cinza, bem como a forma como a segmentação dos tecidos ideve ser apresentada.
Figura - Exemplo de Imagem e suas segmentações
Para a geração das máscaras, inicialmente o programa deve calcular de forma automática
os limiares nos quais os tecidos serão separados. A imagem a seguir
mostra como o histograma deve ser apresentado. É importante notar que
este histograma sofreu a aplicação de um filtro de ruído.
Figura - Exemplo de Histograma
Na sequência, o programa deve aplicar ao menos dois algoritmos além da segmentação por limiar. Estes algortimos devem se escolhidos dentre aqueles apresentados em aula. Os resultados devem ser apresentados na tela, para cada tecido.
O programa deve rodar sobre todas as imagens fornecidas neste link. A partir disto deve ser gerado um relatório, conforme a descrição as seguir.
Para cada imagem o programa deve gerar:
- Um histograma da imagem, destacando o ponto de corte usado para cada tecido;
- Uma imagem para cada tecido, com máscara deste tecido sobreposta à imagem original;
- O contorno do crânio sobreposto à imagem original;
- Um arquivo texto com:
- Matriz de Confusão/Matriz de Classificação do processo de segmentação: matriz que mostra o percentual de cada tecido que foi classificado em cada categoria;
- Número de Verdadeiros Positivos: número de pontos que foram corretamente classificados como sendo do tecido em análise
- Número de Falsos Positivos: número de pontos que foram erroneamente classificados como sendo do tecido em análise
- Número de Falsos Negativos: número de pontos que deveria ter sido classificados como sendo do tecido em análise, mas não foram.
- Uma Planilha de Métricas com todos os dados das imagens;
- Relatório de até quatro páginas apresentando os algoritmos usados e os resultados obtidos.
FIM.