Implementação da IMRT no CAT3D 
Dentro de um sistema de planejamento da IMRT existem diversas etapas que constituem 
proce...
Objetivo: 
Apresentar as ideias básicas do módulo de optimização de fluxo do 
CAT3D pois dessa forma estamos melhor prepar...
Formulação do modelo de distribuição de dose a partir de “Beamlets” 
ou Pencil Beam finitos. 
Plano axial com seções do PT...
Com os beamlets do modelo anterior, a dose depositada em qualquer ponto pode ser calculada como 
a soma das contribuições ...
O modelo de dose matricial apresentado permite calcular a dose administrada a todos os voxels de controle de 
forma muito ...
Exemplo simples de Função Objetivo articulada. 
Fobj = rα EPTV + rβ EOAR + rμ EOHT 
onde : 
EPTV = 1/N Σ (Dci - Dpi)2 
i 
...
Esta não é a única forma de implementar a função objetivo. Outros autores não utilizam o modelo de 
penalização quadrática...
Qual é o custo de calcular a distribuição da dose para <m> pontos de controle em um plano com <n> 
beamlets ? 
d1 
d2 
d3 ...
Como optimizamos no CAT3D o cálculo da distribuicão da dose ? 
- Processamento paralelo, conhecido como multithread. O CAT...
Recomendações para uma estação de trabalho destinada a IMRT com o CAT3D : 
- Memoria RAM de 8 GB ou maior. Memoria o mais ...
Muito Obrigado! 
mevis.com.br 
www.facebook.com/MevisInformaticaMedica 
www.linkedin.com/company/mevis-inform-tica-m-dica-...
Próximos SlideShares
Carregando em…5
×

IMRT, sua Implementação no CAT3D

405 visualizações

Publicada em

Brief presentation of the algorithms implementing IMRT in the TPS CAT3D.
CAT3D is a Radiotherapy Planning System (TPS) developed by Mevis Informatica Medica LTDA, Brazil.

Publicada em: Saúde e medicina
1 comentário
2 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
405
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
23
Comentários
1
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

IMRT, sua Implementação no CAT3D

  1. 1. 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.
  2. 2. 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.
  3. 3. 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.
  4. 4. 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.
  5. 5. 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.
  6. 6. Exemplo simples de Função Objetivo articulada. Fobj = rα EPTV + rβ EOAR + rμ EOHT onde : EPTV = 1/N Σ (Dci - Dpi)2 i EOAR = 1/N Σ [ ( Dci > Dpi) ? (Dci - Dpi)2 : 0.0 ] EOHT = 1/N Σ [ ( Dci > Dpi) ? (Dci - Dpi)2 : 0.0 ] 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.
  7. 7. 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.
  8. 8. Qual é o custo de calcular a distribuição da dose para <m> pontos de controle em um plano com <n> beamlets ? d1 d2 d3 . . . dm W11 w12 w13 . . . w1n W21 w22 w23 . . . W2n W31 w32 w33 . . . w3n . . . wm1 wm2 wm3 . . . wmn I1 I2 I3 . . . In = • do modelo matricial teremos como mínimo : multiplicações : m * n adições : m * (n -1) memory read : (m * n) + n memory 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 ).
  9. 9. 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.
  10. 10. 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 threads 16 GB de RAM. OS de 64 bits. Todos os núcleos a 100% de carga na optimização.
  11. 11. Muito Obrigado! mevis.com.br www.facebook.com/MevisInformaticaMedica www.linkedin.com/company/mevis-inform-tica-m-dica-ltda-www.

×