imrt, sua implementação no cat3d

11
Implementação da IMRT no CAT3D Dentro de um sistema de planejamento da IMRT existem diversas etapas que constituem processos de optimização. Optimização do mapas de fluxo de energia. Segmentação óptima para Step & Shot. Estrategia óptima de velocidade e percursos para Sliding Window. Optimização da topografia para moduladores sólidos. Optimização do número e ângulos de campos.

Upload: armando-alaminos-bouza

Post on 25-Jul-2015

91 views

Category:

Health & Medicine


1 download

TRANSCRIPT

Page 1: IMRT,  sua Implementação no CAT3D

Implementação da IMRT no CAT3D

Dentro de um sistema de planejamento da IMRT existem diversas etapas que constituem processos de optimização.

• Optimização do mapas de fluxo de energia.• Segmentação óptima para Step & Shot.• Estrategia óptima de velocidade e percursos para Sliding Window.• Optimização da topografia para moduladores sólidos.• Optimização do número e ângulos de campos.

Page 2: IMRT,  sua Implementação no CAT3D

Objetivo:

Apresentar as ideias básicas do módulo de optimização de fluxo do CAT3D pois dessa forma estamos melhor preparados para entender e manipular os parámetros do programa na prática clínica.

Page 3: IMRT,  sua Implementação no CAT3D

Formulação do modelo de distribuição de dose a partir de “Beamlets” ou Pencil Beam finitos.

Plano axial com seções do PTV (cóncavo) e OARs. Alguns pontos de controle como ilustração, a densidade de pontos de controle é muito maior.

Ilustração da contribuição de dose de uma série de “beamlets” sobre os pontos de controle. Todos os beamlets com igual peso (não modulados)

Resultado de integrar as contribuições de todos os beamlets. Com todos os pesos iguais, isto é, campo sem modulação de intensidade..

O cálculo da contribuição de dose por parte de um beamlet a um ponto de controle pode realizar-se com diversos algoritmos: Monte Carlo, CCC ou Pencil Beam de seção finita. Os resultados que mostraremos utilizam o modelo de Pencil Beam divergente e finito.

Page 4: IMRT,  sua Implementação no CAT3D

Com os beamlets do modelo anterior, a dose depositada em qualquer ponto pode ser calculada como a soma das contribuições de todos os beamlets para o ponto de interesse.

Se identificarmos cada beamlet pelo índice m e cada voxel de controle de dose pelo índice n, podemos calcular e armazenar a fracção da energia recebida por cada voxel de controle desde cada beamlet como:

Wnm - fracção da energía do beamlet m ao voxel de controle n.

Os conjuntos dos valores Wnm podem ser tratados como matriz .Assim, podemos calcular a dose em qualquer voxel de controle como:

𝐷𝑛=∑𝑗=1

𝑀

𝑊𝑛𝑗∗ 𝐼 𝑗

Onde M é o número total de beamlets no tratamento. Ij é a energía inicial recebida pelo beamlet j-esimo em um plano de referencia.

Page 5: IMRT,  sua Implementação no CAT3D

O modelo de dose matricial apresentado permite calcular a dose administrada a todos os voxels de controle de forma muito rápida. A alteração dos mapas de fluxo não modifica os elementos da matriz do sistema, apenas se altera o vector Ij .

Como avaliar a qualidade de um plano, dentro do universo de soluções possiveis ?

Precisamos de uma métrica que expresse a distancia entre a distribuição de dose desejada pelo médico e a distribuição de dose atingida por um plano qualquer do universo de soluções possíveis.

Esta métrica, na nomenclatura dos problemas matemáticos de optimização, se denomina

“função objetivo”.

Na IMRT o normal é criar uma função objetivo que diminui quando ficamos mais perto do plano ideal desejado pelo medico.

Page 6: IMRT,  sua Implementação no CAT3D

Fobj = rα EPTV + rβ EOAR + rμ EOHT

onde :

EPTV = 1/N Σ (Dci - Dpi)2i

EOAR = 1/N Σ [ ( Dci > Dpi) ? (Dci - Dpi)2 : 0.0 ]

EOHT = 1/N Σ [ ( Dci > Dpi) ? (Dci - Dpi)2 : 0.0 ]

Exemplo simples de Função Objetivo articulada.

Restrições físicas do problema : Valores da fluencia relativa não podem ser negativos. Na práctica as fluencias estão limitadas pois a modulação da intensidade enfrenta limitações físicas.

Cada solução no universo de mapas de fluxo possiveis gera o cómputo completo da função objetivo, incluindo a multiplicação da matriz antes apresentada, e uma verificação das restrições.

Page 7: IMRT,  sua Implementação no CAT3D

Esta não é a única forma de implementar a função objetivo. Outros autores não utilizam o modelo de penalização quadrática por voxel de controle. Em lugar disto penalizam o desvio de uma proposta baseada no histograma dose-volume (DVH).

O CAT3D implementa uma forma de função objetivo baseada em penalização quadrática por voxel de controle.

As retrições físicas são consideradas no CAT3D na forma de uma penalização do gradiente de fluxo. É conhecido que regiões de alto gradiente criam problemas para todos os métodos de entrega da dose (delivery), sejam moduladores ou MLC.

Na medida que a função objetivo se torna mais complexa, o problema de optimização global fica menos garantido, pois criamos concavidades na topologia da função a ser minimizada e o optimizador pode travar em mínimos locais. O CAT3D procura sair de mínimos locais com um algoritmo mixto de optimização que utiliza um método baseado em derivadas parciais seguido de perturbações aleatorias, ao estilo de “simulated annealing” (ideia que tomamos da nossa experiencia com Maximização da Informação Mútua, para fusão).

Temos planos futuros para implementar outra função objetivo baseada em DVH, de modo que o usuario possa testar as duas formas e ficar com a melhor para cada caso.

Page 8: IMRT,  sua Implementação no CAT3D

d1

d2

d3

.

.

.

dm

W11 w12 w13 . . . w1n

W21 w22 w23 . . . W2n

W31 w32 w33 . . . w3n

.

.

.

wm1 wm2 wm3 . . . wmn

I1

I2

I3

.

.

.

In

= •

Qual é o custo de calcular a distribuição da dose para <m> pontos de controle em um plano com <n> beamlets ?

do modelo matricial teremos como mínimo :multiplicações : m * nadições : m * (n -1)memory read : (m * n) + nmemory write : m

Por que investigamos em algoritmos e implementações para minimizar o tempo de cálculo ?- O planejamento de IMRT ainda é um processo de “tentativa e erro” no qual vários parâmetros devem ser ajustados até atingir um plano clinicamente satisfatório. Sem um programa rápido não é possível conseguir um ambiente interativo para planificação inversa (Crooks, Xing; I.J. Radiat. Oncol. Biol Phys. 2002).

- Outros parâmetros podem ser investigados automaticamente se a optimização para modulação de intensidade for suficientemente rápida. Por exemplo, a seleção do número e angulação dos campos ( Gaede, Wong, Rasmussen; “An algorithm for systematic selection of beam directions for IMRT”, Med. Phys. 31 (2) 2004 ).

Page 9: IMRT,  sua Implementação no CAT3D

Como optimizamos no CAT3D o cálculo da distribuicão da dose ?

- Processamento paralelo, conhecido como multithread. O CAT3D utiliza a tecnologia OpenMP, presente no compilador INTEL C++ .

- Processamento vectorial baseado nas tecnologia SSEx ou AVX. O Compilador da INTEL (*) é considerado o melhor neste sentido, capaz de fazer vectorização automática. No CAT3D utilizamos até a tecnologia SSE3 para evitar problemas de compatibilidade com clientes que não tem PCs de última geração, mas em algum momento vamos a quebrar esta compatibilidade para tirar proveito da AVX (Advanced Vector Extensions) que ja foi lançada ao mercado em 2011, com os processadores “Sandy Bridge” , por tanto não é tão nova hoje (2014).

- Utilizar em forma óptima as memorias cache (L1 a L3). A matriz do modelo é muito maior que a capacidade da L3, por isso necesitamos uma estrategia que maximize os “cache hits”. Podem-se empregar bibliotecas como MKL de Intel ou cuBLAS e CULA da Nvidia. No CAT3D foi implementada uma rotina de multiplicação matriz por vector aprimorada neste sentido, sem utilização de biblioteca externa para isso.

(*) o CAT3D é compilado com o Intel Parallel Composer 2014, para C++ e C99.

Page 10: IMRT,  sua Implementação no CAT3D

Recomendações para uma estação de trabalho destinada a IMRT com o CAT3D :

- Memoria RAM de 8 GB ou maior. Memoria o mais rápida possivel.

- Sistema operacional de 64 bits para que cada instância do CAT3D consiga utilizar até 4 GB. PTVs de grande volume geram matrizes entre 1 e 3 GB !

- Processador i7 de quatro núcleos físicos e oito threads ou melhor. Já existem i7 de 6 núcleos e processadores Xeon de até 10 núcleos e 20 threads.

PC para IMRT. i7, 12 threads16 GB de RAM. OS de 64 bits.Todos os núcleos a 100% de carga na optimização.

Page 11: IMRT,  sua Implementação no CAT3D

Muito Obrigado!

www.linkedin.com/company/mevis-inform-tica-m-dica-ltda-

www.mevis.com.br

www.facebook.com/MevisInformaticaMedica