• Nenhum resultado encontrado

Imagem de Raios X. 18 de Março de 2010 Joana Nunes Nº João Marques Nº 58513

N/A
N/A
Protected

Academic year: 2021

Share "Imagem de Raios X. 18 de Março de 2010 Joana Nunes Nº João Marques Nº 58513"

Copied!
14
0
0

Texto

(1)

1

Imagem de Raios X

18 de Março de 2010 Joana Nunes Nº 58497 João Marques Nº 58513

Neste trabalho pretende-se analisar uma imagem de TAC recorrendo para isso ao software MATLAB®. Com a informação contida na imagem de TAC simula-se a imagem obtida num exame de radiografia planar e utiliza-se essa informação para efectuar o cálculo de diversos parâmetros associados a esta técnica. Concluí-se que o software MATLAB® é apropriado para fazer este tipo de abordagem e que através da análise computacional de imagens se conseguem resultados realistas relativamente aos obtidos nos exames. No entanto, podemos também observar que algumas das propriedades dos raios X não são devidamente contempladas neste tipo de análise (ex: ponto 3).

0. Introdução

Para proceder à realização deste trabalho experimental foi disponibilizado um ficheiro ct.mat que contém o resultado de um exame de tomografia axial computorizada. O ficheiro ct.mat consiste num tensor de terceira ordem, com dimensões 512x512x256, que representa um conjunto de 256 imagens bidimensionais com dimensões 512x512 pixeis. Relativamente aos valores de cada posição de tensor, estes têm valores entre −1024 e 2873 e permitem o cálculo dos valores do coeficiente de atenuação (𝜇).

1. Visualização de cortes representativos nas orientações: axial, sagital e coronal Para proceder à visualização do conteúdo do ficheiro ct.mat foi construído o script

slices.mat, cujo código se encontra presente em Anexo.

Os resultados obtidos apresentam-se nas Figura 1, Figura 2 e Figura 3.

(2)

2

Figura 2. Slices representativas da orientação coronal

Figura 3. Slices representativas da orientação sagital

2. Simulação de uma imagem obtida por transmissão de Raios X

Para proceder a esta simulação é necessário calcular os coeficientes de atenuação para cada pixel no espaço e posteriormente calcular a sua projecção no eixo desejado, que neste caso será o eixo longitudinal.

Com esta finalidade recorre-se às expressões (1) e (2). 𝐶𝑇 =𝜇 −𝜇𝐻 2𝑂

𝜇𝐻 2𝑂 × 1000 (1)

𝑎 𝑦, 𝑧 = 𝐼0− 𝐼0 𝑛𝑥 =1𝑒−𝜇 (𝑥 ,𝑦 ,𝑧)

𝑛 (2)

Para efectuar os cálculos recorre-se á utilização do script raiox.m, cujo código se encontra em Anexo. Assume-se para a realização desta simulação que o coeficiente de atenuação da água é 𝜇𝐻2𝑂 = 0,206 𝑐𝑚−1 e que a intensidade do feixe incidente é de 𝐼0 = 10000 contagens/pixel.

(3)

3

Figura 4. Simulação da imagem obtida por transmissão de Raios X.

3. Como seria a imagem resultante de efectuar a transmissão de Raios X no sentido oposto (i.e., -x)?

A imagem resultante de efectuar a transmissão de Raios X no sentido oposto seria a imagem da Figura 4, uma vez que analisando a Equação (2) se pode concluir que os valores de intensidade obtidos não dependem do sentido em que se percorrem os slices (isto é x ou -x).

No entanto, se se tratasse de um exame real este facto não se verificaria. Isto acontece porque a atenuação dos Raios X não é uniforme ao longo do percurso através do objecto. Este efeito denomina-se por Beam Hardening e consiste no facto de os Raios X de menor energia sofrerem uma maior atenuação, pelo que a energia média do feixe de Raios X aumenta durante a sua passagem pela matéria. Uma ilustração deste efeito encontra-se na Figura 5.

Figura 5. Ilustração do efeito de Beam Hardening

Agora, é necessário saber qual a relação entre esta energia que se sabe ir aumentando à medida que o feixe de Raios X atravessa o objecto com o coeficiente de atenuação em cada ponto. Esta é uma relação de proporcionalidade inversa. Ou seja, quanto menor for a energia média do feixe de fotões, maior é o coeficiente de atenuação de cada tecido. Para além disto, não só os coeficientes de atenuação são maiores para menores energias

(4)

4 dos fotões, como mais distintos entre os vários tecidos, o que promove um melhor contraste. Este efeito é visível na Figura 6.

Figura 6. Dependência da atenuação dos diversos tecidos com diferentes energias dos fotões

Tendo em conta os efeitos acima descritos conclui-se que, num exame de transmissão de Raios X real, se a fonte estiver anterior ao corpo e o detector posterior, a imagem obtida apresentaria um maior contraste ao nível dos tecidos mais anteriores, como é exemplo dos pulmões e outros tecidos moles adjacentes, bem como de tecidos duros como a parte anterior das costelas. Relativamente a estes, num exame teste tipo a coluna apresentaria um menor contraste.

Por outro lado, se o exame fosse efectuado com a fonte numa posição posterior ao corpo e o detector numa posição anterior, teríamos uma imagem com características diferentes. Isto é, os tecidos posteriores apresentariam um maior contraste, como é o caso da coluna vertebral, e os tecidos anteriores, como é o caso dos pulmões, teriam um coeficiente de atenuação menor que no caso anterior, apresentando assim um menor contraste na imagem.

Na tentativa de ilustrar este efeito foi criado o script atenua.m. Neste script, com o intuito de simular o aumento do valor médio de energia do feixe de Raios X ao longo do percurso através do corpo, criaram-se dois tensores de terceira ordem, cujos valores variam linearmente entre 0 e 1 ao longo do eixo longitudinal (eixo do x), de forma inversa. Esta abordagem não é correcta e é meramente utilizada para conseguir uma ilustração aproximada dos efeitos descritos anteriormente, uma vez que não seria possível, dado o carácter não linear das curvas (Figura 6) da atenuação com a energia e os diferentes materiais presentes, simular correctamente os efeitos.

O resultado obtido na simulação da fonte anterior ao corpo encontra-se na Figura 7, e o resultado da simulação da fonte posterior ao corpo encontra-se representado na Figura 8.

(5)

5

Figura 7. Simulação de uma transmissão de Raios

X com a fonte anterior ao corpo

Figura 8. Simulação de uma transmissão de Raios

X com a fonte posterior ao corpo

4. Determinação do tamanho efectivo do foco da fonte (effective focal spot size). Para proceder à determinação do tamanho efectivo do foco da fonte sabe-se que a distância entre a fonte e o detector é 𝑆1 = 5𝑚 e que a distância entre o objecto e a fonte é 𝑆0 = 4𝑚. Conhece-se ainda o valor do field of view 𝐹𝑂𝑉𝑦 = 128𝑚𝑚 e 𝐹𝑂𝑉𝑧 = 64𝑚𝑚 e sabe-se que o tamanho do pixel corresponde à penumbra da imagem.

Começa-se por calcular o tamanho do pixel utilizando a relação entre o 𝐹𝑂𝑉 e o número de pixéis em cada uma das direcções, descrita em (3)

𝑡𝑎𝑚𝑎𝑛𝑕𝑜 𝑑𝑜 𝑝𝑖𝑥𝑒𝑙 =128 512×

64

256 = 0,25 × 0,25 𝑚𝑚 (3) Como a penumbra da imagem corresponde ao tamanho do pixel sabe-se que 𝑃 = 0,25 𝑚𝑚 em ambas as direcções. Assim para saber o tamanho efectivo do foco da fonte (𝑓) usa-se a equação (4).

𝑃 =𝑓(𝑆1−𝑆0)

𝑆0 (4)

e daqui se conclui que 𝑓 = 1 𝑚𝑚 em ambas as direcções (𝑦 e 𝑧). 5. PSF do sistema de imagiologia, admitindo uma forma gaussiana.

Para proceder a esta determinação usa-se 𝐹𝑊𝐻𝑀 ≅ 2,36𝜎, uma vez que a distribuição é Gaussiana.

É utilizada a função do MATLAB® fspecial, cujo primeiro parâmetro é o tipo de distribuição (no caso em análise, ‘gaussian’), o segundo parâmetro o tamanho da PSF que se pretende obter, e o terceiro parâmetro o desvio padrão (𝜎 = 𝑃

2,36). O tamanho da PSF que vai ser utilizado é [3 3], uma vez que o desvio padrão é pequeno e estes pixeis são suficientes para descrever a normal.

(6)

6

Figura 9. Representação matricial da PSF Figura 10. Representação gráfica (2D) da PSF

6. Determinar a penumbra no caso de o paciente ter sido aproximado mais 𝟏 𝒎 da fonte. Mostrar a PSF e simular a imagem resultante.

Para proceder ao cálculo do valor da penumbra da imagem recorre-se novamente à utilização da equação (4), agora com um valor de 𝑆0 = 3 𝑚. O resultado obtido para a penumbra foi 𝑃 = 0,667 𝑚𝑚 = 2,667 𝑝𝑖𝑥𝑒𝑖𝑠.

A determinação da PSF é novamente feita recorrendo ao comando fspecial, tal como indicado em 5, neste caso com 𝜎 = 1,13 𝑝𝑖𝑥𝑒𝑖𝑠. Como o desvio padrão (𝜎) é bastante maior do que na alínea anterior é necessário um maior número de pixeis para descrever completamente a PSF, neste caso as dimensões da matriz da PSF são [9 9].

O resultado obtido para a PSF está representado na Figura 11 e na Figura 12.

Figura 11. Representação matricial da PSF

Figura 12. Representação gráfica (2D) da PSF

Para agora simular a imagem de Raios X que se obteria, é necessário aplicar esta PFS à imagem de Raios X existente. Isto é naturalmente uma aproximação, mas bastante próxima da verdade. Se por um lado a imagem de que se dispõe já tem uma PSF a ela

(7)

7 aplicada e aplicação de outra poderia não ser a acção mais correcta a realizar, por outro lado sabe-se já que essa PSF é uma distribuição normal muito estreita, com o peso praticamente todo no pixel central, e que portanto não introduz distorção praticamente nenhuma. O resultado obtido encontra-se na Figura 13.

Figura 13. Imagem obtida por aplicação da PSF calculada em 6 à imagem de Raios X

Esta imagem é muito semelhante à da Figura 4, mas se se observar com atenção, conseguem notar-se diferenças, principalmente ao nível da definição da imagem. Esta última é ligeiramente mais esbatida e difusa que a anteriormente obtida, o que era já de esperar, já que estamos a aplicar-lhe um filtro que pesa os diferentes pixéis de acordo com uma distribuição normal.

7. Determinar o SNR do osso e tecidos moles, considerando o ruído de fundo do ar, e o CNR entre eles, para ambas as imagens de Raios X obtidas.

Para determinar os SNR necessários, atribuíram-se Regions Of Interest (ROI) para cada osso, tecidos moles e ar. Estas regiões não caracterizam o respectivo tecido na sua globalidade, mas apresentam uma boa representatividade. As ROI atribuídas podem ser vistas na Figura 14, Figura 15 e Figura 16.

Figura 14. ROI representativa

do ruído

Figura 15. ROI representativa

dos tecidos moles

Figura 16. ROI representativa

do osso

Com base nestas regiões, é agora necessário calcular o Signal to Noise Ratio (SNR) tanto para o osso como para os tecidos moles, e o Contrast to Noise Ratio (CNR). Estes parâmetros são calculados recorrendo a (5) e (6).

(8)

8 𝑆𝑁𝑅𝐴 = 𝑚𝑒𝑎𝑛 𝑠𝑖𝑔𝑛𝑎𝑙 𝑜𝑓 𝑡𝑖𝑠𝑠𝑢𝑒 𝐴 / 𝑠𝑡𝑎𝑛𝑑𝑎𝑟𝑑 𝑑𝑒𝑣𝑖𝑎𝑡𝑖𝑜𝑛 𝑜𝑓 𝑏𝑎𝑐𝑘𝑔𝑟𝑜𝑢𝑛𝑑 (5) 𝐶𝑁𝑅𝐴𝐵 = 𝑎𝑏𝑠 𝑆𝑁𝑅𝐴 − 𝑆𝑁𝑅𝐵 (6) Os resultados obtidos para ambas as imagens, calculados recorrendo ao script

perg7.m encontram-se na Tabela 1.

Figura 4 Figura 13

SNRosso 92,8699 31,4788

SNRtecidos moles 74,1466 23,5383

CNRosso-tecidos moles 18,7233 7,9406

Tabela 1. Valores de SNR e CNR obtidos para as duas imagens de Raios X

Como se pode observar, os valores de relação sinal ruído para a imagem original são muito mais elevado do que para a imagem simulada por aplicação da PSF representada na Figura 11 e Figura 12. Esta situação era previsível, já que a aplicação desta PSF introduz incerteza nos valores dos pixéis, reduzindo em cerca de 3 vezes a relação sinal ruído para cada um dos tecidos. Também a nível do contraste há diferenças significativas, já que este é reduzido de 18,7233 para 7,9406. O código referente a este ponto pode ser consultado no script perg7.m, em Anexo.

8. Simulação do efeito de quantum mottle na imagem de Raios X original

Neste ponto pretende-se retirar a aproximação de que todos os fotões apresentam a mesma intensidade, neste caso 10000 contagens por pixel. Na realidade, a intensidade segue uma distribuição de Poisson, de valor médio 10000. Uma outra abordagem possível seria adicionar ruído a posteriori, fazendo com que cada pixel seguisse uma distribuição de Poisson, com valor médio do próprio pixel antes da adição de ruído. No entanto, dado que este efeito, chamado efeito de quantum mottle, é um efeito da fonte e não do receptor, faz mais sentido aplicar este efeito ao nível da fonte.

A implementação deste efeito pode ser vista no script perg8.m, e é em tudo semelhante aos anteriores (raiox.m e newraiox.m), alterando apenas a intensidade do feixe inicial. Em termos de resultado, as imagens de Raios X podem ser vistas na Figura 17 e Figura 18.

(9)

9

Figura 17. Imagem de Raios X inicial após

aplicação do efeito de quantum mottle

Figura 18. Imagem de Raios X após aplicação do

efeito de quantum mottle e da PSF calculada

Apesar de estas imagens serem em tudo muito semelhantes às obtidas na Figura 4 e Figura 13, notam-se diferenças ao nível dos SNR e CNR. Os resultados para ambas as imagens encontram-se na Tabela 2.

Figura 4 Figura 13

SNRosso 89,7067 31,4077

SNRtecidos moles 71,6641 23,4650

CNRosso-tecidos moles 18,0425 7,9427

Tabela 2. Valores de SNR e CNR obtidos para as duas imagens de Raios X após aplicação do efeito de quantum mottle

Pode observar-se que os valores são ligeiramente mais baixos do que os da Tabela 2.

Valores de SNR e CNR obtidos para as duas imagens de Raios X após aplicação do efeito de quantum

mottle, o que era já esperado já que pixéis adjacentes podem ter valores relativamente díspares, o que contribui para a diminuição da relação sinal ruído. Relativamente à imagem de Raios X obtida por aplicação da PSF representada na Figura 11 e Figura 12, os valores são muito próximos dos já obtidos anteriormente.

9. Simular a imagem obtida perante uma duplicação da corrente no tubo de raios X, mantendo constantes todos os outros parâmetros. Qual a variação do SNR? Ao aumentar a corrente no tubo de Raios X para o dobro está-se de facto a aumentar o número de fotões emitidos também para o dobro. Ou seja, este efeito traduz-se na intensidade do feixe incidente passar a ser de 𝐼0 = 20000 contagens/pixel. A energia média dos fotões mantém-se inalterada. Desta forma, já que se está a multiplicar por 2 o valor de todos os pixéis, resulta em que o valor médio passará ao dobro, e que o desvio padrão passe também ao dobro. Concluindo, os valores de SNR são exactamente os mesmos. A imagem resultante desta simulação pode ser determinada correndo o script

(10)

10

Figura 19. Simulação da imagem obtida por transmissão de Raios X, para uma corrente duplicada.

Os respectivos valores de SNR e CNR para as ROI indicadas na Figura 14, Figura 15 e Figura 16 encontram-se representados na Tabela 2.

Figura 4

SNRosso 92,8699

SNRtecidos moles 74,1466

CNRosso-tecidos moles 18,7233

Tabela 3. Valores de SNR e CNR obtidos para a imagem de Raios X para uma corrente duplicada

Como se pode observar, a Figura 19 é exactamente igual à Figura 4, o que é claramente mostrado pelos valores da Tabela 3, tal como era esperado.

10. Descrever as consequências de aumentar o potencial de aceleração do tubo em vez da corrente.

Ao aumentar o potencial de aceleração, está-se no fundo a aumentar a tensão de aceleração dos fotões. Como a intensidade do feixe varia com o quadrado da tensão de aceleração, tem-se que a intensidade do feixe está também a variar com o quadrado da tensão. Se por exemplo se aumentar a tensão para o dobro, está-se a aumentar a intensidade do feixe para o quádruplo. Desta forma a situação é análoga à da questão anterior, onde não há variação da imagem (dado que a escala é feita automaticamente pelo software, ainda que hajam variações ao nível dos valores dos pixéis) nem dos valores de SNR.

No entanto, o aumento da tensão traz um outro efeito: o do aumento da energia dos fotões emitidos. Assim, quanto maior for essa energia, maior será a probabilidade de se observar scattering (efeito de Compton), podendo neste caso haver variações ao nível da imagem e dos valores de SNR (e consequentemente de CNR).

(11)

11 ANEXO

slices.m

colormap gray; j=1; for i=1:16:256

subplot(4,4,j); imagesc(reshape(ct(:,:,i),512,512)); axis

square; j=j+1; end figure; colormap gray; j=1; for i=1:32:512 subplot(4,4,j); imagesc(imrotate(reshape(ct(i,:,:),512,256),-90)); axis square; j=j+1; end figure; colormap gray; j=1; for i=1:32:512 subplot(4,4,j);

imagesc(imrotate(reshape(ct(:,i,:),512,256),90)); axis square; j=j+1; end

raiox.m

miu0=0.206; I0=10000; miu=ct(:,:,:)*miu0/1000+miu0; a=I0-I0*mean(exp(-miu),1); figure; colormap gray; a=imrotate(reshape(a,512,256),90); imagesc(a); axis square;

newraiox.m

miu0=0.206; I0=10000;

miu=ct(:,:,:)*miu0/1000+miu0;

(12)

12 a=imrotate(reshape(a,512,256),90); psf=fspecial('gaussian',[9 9], 1.13); b=imfilter(a,psf); figure; colormap gray;

imagesc(b); axis square;

atenua.m

miu0=0.206; I0=10000; miu=ct(:,:,:)*miu0/1000+miu0; aten1=zeros(size(miu)); aten2=aten1; for i=1:512 aten1(i,:,:)=1-(i-1)/512; aten2(i,:,:)=(i-1)/512; end a1=I0-I0*mean(exp(-miu.*aten1),1); a2=I0-I0*mean(exp(-miu.*aten2),1); a1=imrotate(reshape(a1,512,256),90); a2=imrotate(reshape(a2,512,256),90); figure; colormap gray;

imagesc(a1); axis square; figure;

colormap gray;

imagesc(a2); axis square;

perg7.m

miu0=0.206; I0=10000; miu=ct(:,:,:)*miu0/1000+miu0; a=I0-I0*mean(exp(-miu),1); a=imrotate(reshape(a,512,256),90); psf=fspecial('gaussian',[9 9], 1.13); b=imfilter(a,psf); %Ar hl = 0; hr = hl+20; vt = 0; vb = vt+10; roi0=roipoly(a,[hl hr hr hl],[vt vt vb vb]); %Tecidos moles hl = 0; hr = hl+20; vt = 246; vb = vt+10; roi1=roipoly(a,[hl hr hr hl],[vt vt vb vb]); %Osso hl = 210; hr = hl+20; vt = 130; vb = vt+10; roi2=roipoly(a,[hl hr hr hl],[vt vt vb vb]);

(13)

13

snr_osso_a = mean(a(roi2>0))/std(double(a(roi0>0))) snr_mole_a = mean(a(roi1>0))/std(double(a(roi0>0))) cnr_a = snr_osso_a - snr_mole_a

snr_osso_b = mean(b(roi2>0))/std(double(b(roi0>0))) snr_mole_b = mean(b(roi1>0))/std(double(b(roi0>0))) cnr_b = snr_osso_b - snr_mole_b

perg8.m

miu0=0.206; [m1 m2 m3] = size(ct); I0=single(poissrnd(10000,[m3 m2])); miu=ct(:,:,:)*miu0/1000+miu0; aux = mean(exp(-miu),1); aux=imrotate(reshape(aux,512,256),90); a1=I0-I0.*aux; psf=fspecial('gaussian',[9 9], 1.13); b1=imfilter(a1,psf); figure; colormap gray;

imagesc(a1); axis square; figure;

colormap gray;

imagesc(b1); axis square; %Ar hl = 0; hr = hl+20; vt = 0; vb = vt+10; roi0=roipoly(a1,[hl hr hr hl],[vt vt vb vb]); %Tecidos moles hl = 0; hr = hl+20; vt = 246; vb = vt+10; roi1=roipoly(a1,[hl hr hr hl],[vt vt vb vb]); %Osso hl = 210; hr = hl+20; vt = 130; vb = vt+10; roi2=roipoly(a1,[hl hr hr hl],[vt vt vb vb]); snr_osso_a1 = mean(a1(roi2>0))/std(double(a1(roi0>0))) snr_mole_a1 = mean(a1(roi1>0))/std(double(a1(roi0>0))) cnr_a1 = snr_osso_a1 - snr_mole_a1

snr_osso_b1 = mean(b1(roi2>0))/std(double(b1(roi0>0))) snr_mole_b1 = mean(b1(roi1>0))/std(double(b1(roi0>0))) cnr_b1 = snr_osso_b1 - snr_mole_b1

perg9.m

miu0=0.206; I0=20000; miu=ct(:,:,:)*miu0/1000+miu0; a=I0-I0*mean(exp(-miu),1);

(14)

14

figure;

colormap gray;

a=imrotate(reshape(a,512,256),90); imagesc(a); axis square;

%Ar hl = 0; hr = hl+20; vt = 0; vb = vt+10; roi0=roipoly(a,[hl hr hr hl],[vt vt vb vb]); %Tecidos moles hl = 0; hr = hl+20; vt = 246; vb = vt+10; roi1=roipoly(a,[hl hr hr hl],[vt vt vb vb]); %Osso hl = 210; hr = hl+20; vt = 130; vb = vt+10; roi2=roipoly(a,[hl hr hr hl],[vt vt vb vb]); snr_osso_a = mean(a(roi2>0))/std(double(a(roi0>0))) snr_mole_a = mean(a(roi1>0))/std(double(a(roi0>0))) cnr_a = snr_osso_a - snr_mole_a

Referências

Documentos relacionados

O teste de patogenicidade cruzada possibilitou observar que os isolados oriundos de Presidente Figueiredo, Itacoatiara, Manaquiri e Iranduba apresentaram alta variabilidade

CARACTERÍSTICAS DE SEGURANÇA - Cinto de segurança para recém nascido, alarme de alta temperatura limitado em 40ºC, Alarme de tensão de baterias, Temperatura da superfície

(2019) Pretendemos continuar a estudar esses dados com a coordenação de área de matemática da Secretaria Municipal de Educação e, estender a pesquisa aos estudantes do Ensino Médio

 Identificar, a partir da leitura de vários textos, as principais características dos textos de receita e de anúncio publicitário..  Desenvolver habilidades e

150 g de linguiça calabresa fininha Lebon 150 g de queijo muçarela 300 g de ervilha Nature 150 g de bacon Seara 180 g de presunto Lebon 2 molhos madeira TP 800 g de batata aipo 50 g

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

As consequências diretas e indiretas da solvatação nos espectros de absorção dos clusters Au 13 L 8 3+ são ilustradas na Figura 4.18.. O red-shift da banda c pode ser