Baixe o app para aproveitar ainda mais
Prévia do material em texto
Luiz Otavio Murta Junior Terapias Guiadas por Imagens Image Guided Therapy - IGT • Introdução: apresentando o 3D Slicer. • Motivação: radiologia, IGT, RT... Planejamento e realização de cirurgias e terapias. Radioterapia: IGRT. • Segmentação: Automática. Manual. • Corregistro Rígido Não rígido. • Conclusões. Conteúdo 3D Slicer: • Visualização • Alinhamento • Segmentação • Mensuração • Integração em tempo real 3D Slicer • Disponível livremente • Interface Qt e VTK • Algoritmos ITK • Extensível através de médulos • Open source: • www.slicer.org 3D Slicer: Gernciamento Imagem / Cena • Arquivos MRML (XML) armazenam a descrição da cena: • Volumes (imagens, label maps) • Modelos • Transformação Affine • Dados de cena (câmeras, cores, fiduciais, etc). Administração NA-MIC Compartilhamento de Software : http://grants1.nih.gov/grants/guide/rfa-files/RFA-RM-04-003.html • “…software deve estar livremente disponível… “ • “…permite a comercialização de versões melhoradas ou customizadas…” • “…inclui a possibilidade de pesquisadores fora do centro (HMS) contribuir e compartilhar códigos e dados...” Licença estilo BSD • Código aberto • Sem taxas de licença • Sem restrição de uso • Não requer permissão para uso clínico e/ou comercial • Sem garantias • Usuários são responsável pelo funcionamento do software • SEM a obrigação de retornar sua contribuição em código aberto. • Pode-se contribuir com seu código para a comunidade se você quiser, e depende de autorização do administrador para tanto. Motivações •Auxílio a radiologia •Terapias guiadas por imagens (IGT): •Ambiente típico IGT •Planejamento radioterápico Avaliação de autismo • Correlacionando desenvolvimento cerebral localizado com características comportamentais observadas de autismo • Métricas de espessura cortical e volume subcortical Azul: Hipertrofia Vermelho: Atrofia Verde: Sem alterações Esquisofrenia • Imagens estruturais e de difusão • Análise do FA • Tractografia • 3D Slicer corregistrando diferentes informações e mapeamentos Disordens da prostata • Ferramenta de segmentação para planejamento de braquiterapia e biopsia • Navegação para biopsia Motivações •Auxílio a radiologia •Terapias guiadas por imagens (IGT): •Um pouco do SPL •Planejamento radioterápico Definir Planejar Monitorar Controlar Avaliar IGT: Objetivos de terapias guiadas por imagens MRI Pre-ProcCT Intra-Proc Registered CT & MRI IGT: Exemplos de procedimentos em terapias guiadas por imagens Cirurgias convencionais: visualizando superfícies IGT: “Vendo” através das superfícies • É a visualização ativa de imagens médicas para ajudar em decisões prévias ou durante o procedimento. • Permite cirurgiões: • Ver além de superfícies • Definir alvos • Controlar as intervenções • Possibilita novos procedimentos, reduz danos, otimiza ressecção. “Image Guided Therapy” (IGT) Imagens pré-operatórias integradas Provê modelos específicos Slide 20 Segmentação de estruturas cerbrais Tractografia DT-MRI fMRI pre-operatório, experimento motor fMRI projetado na configuração cerebral intra-operatória fMRI e DTI projetados na aquisição cerebral intra-operatória Motivações • Auxílio a radiologia • Terapias guiadas por imagens (IGT): • IGT na prática • Planejamento radioterápico Magneto aberto 3T Magneto aberto 3T Ambiente clínico - IGT Sistemas comerciais de planejamento Ferramentas de pesquisa CERR, PLUNC, dicompyler, etc. Caro Fechado Cobrem apenas procedimentos clínicos de rotina Estável Instável Amigável Não extensíveis Não flexíveis Documentação pobre Código longo e não modular Suporte Insuficiente Inconveniente Bem documentado Características limitadas Flexível Extensível SlicerRT Código aberto independente da platforma Código aberto? Livre Motivações para o SlicerRT • Alavancando ferramentas já existentes: 3D Slicer1, Plastimatch2 • “Hub” para análise e comparação de dados RT • Cobre os mais comuns protocolos de pesquisa • É livre e código aberto • Aberto a integrar novos algorítmos • Documentação extensiva 1 S. Pieper, M. Halle, and R. Kikinis, 3D SLICER. Proceedings of the 1st IEEE International Symposium on Biomedical Imaging: From Nano to Macro (Brigham and Women’s Hospital, Boston, MA, 2004), pp. 632–635. 2 G. C. Sharp, R. Li, J. Wolfgang, G. Chen, M. Peroni, M. F. Spadea, S. Mori, J. Zhang, J. Shackleford, and N. Kandasamy, “Plastimatch: An open source software suite for radiotherapy image processing,” in Proceedings of the XVIth International Conference on the Use of Computers in Radiotherapy (ICCR) (Amsterdam, the Netherlands, 2010). Pinnacle³ Eclipse™ SlicerRT DICOM-RT DICOM-RT MATLAB DICOM-RT XiO® DICOM-RT Principios de desenvolvimento • Integrado no mecanismo de importação DICOM • Os dados são organizados em uma hierarquia inteligente • Dados suportados: – Estruturas RT → Contornos → Pontos fiduciais – Mapas de dose – Imagens RT – Planejamnetos RT: isocentros, feixes – Imagens de planejamentos: CT, MR, etc. Importação DICOM-RT • Representações múltiplas (conversões automáticas) – Modelo “Ribbon” – Volume rasterizado – Modelos de superfície fechada • Comparação de contornos – Coeficiente Dice – Distancia Hausdorff • Morfologia no contorno – Dilata, erode – Combinando operadores lógicos Volumes RasterizedosModelo “Ribbon” Superfícies fechadas Análises de contornos • Histograma dose-volume (gráfico + metricas) • Acumulação de dose • Comparação de dose (gama) • Contornos/superfícies isodose • Visualiza campos de deformações • Cálculo de dose de proton • Co-registro – Co-registro BSpline – Co-registroLandwarp Histograma dse-volume DVH Isodose contours and surfaces Análise de dose A interface de usuário Slicer • Por padrão, o Slicer oferce visão da fatia e a visão 3D de imagens carregadas • Um painel de operações no topo esquerdo deixa o usuário selecionar diferentes modulos Slicer, cada um oferecendo um conjunto de operções • Volume • Segmentação • Região de interesse (ROI) • Os modulos de controles controla estão no menu superior load/save dados seleção do módulo a ser usado histórico de módulos para frente e para traz no histórico de modulos mostrar informaçâo de volumes seleciona “layout” da interface Adiciona pontos fiduciais ou medidas A interface de usuário Slicer Entrada e saída de dados • Add Data – o modo mais simples de visualizar um novo volume, imagem, ou outros dados no Slicer • Mesmo se conjunto de dados armazenado em múltiplos arquivos, você pode selecionar a primeira fatia e clique Open o diálogo “file loading“ Mostrando um volume • passo #1: Selecione para repidamente ajustar o contraste da imagem • se o passo #1 não prover um bom contraste, o “Window / Level” pode ser ajustado para um controle fino • Modo mais fácil: Clique e segure o botão esquerdo do mouse, arraste o cursor para mudar a janela de intensidades Trabalhando com as visões de cortes • Um pequeno menu “pop-down” controla o comportamento de cada visão de cortes Fundo (padrão) volume observado Controles devem ser aplicados a todos os cortes (modo lvinculado) Mostra o corte na visão 3D Movimenta o corte para frente e paratráz no volume rótulos para mostrar como sobreposição A visão “Lightbox” de um volume • Para ver um volume usando um display tipo “lightbox” (mostrar todas as fatias), selecione uma janela (e.g. vermelho, verce, ou amarela), então expanda o painel de controle • O icon abre o painel • Selecione o lightbox desejado (e.g. 3x3). • Movimentando o mouse para cima e para baixo na janela rola através das imagens aqui expande o painel de controle icones lightbox Salvando a sessão Slicer • O Slicer salva o progresso da sessão de análise num arquivo suplementar com a extenção “mrml”. Recomenda- se criar um novo diretório, então salvar os dados e o arquivo .mrml O resultado é dados e cena salvos no mesmo diretório • passo #1 – selecione icon Save Data • passo #2 – na janela “save”, selecione “force all data to be saved” • passo #3 - selecione o diretório e clique Save button Dialogo para salvar os arquivos • Dialogo salvar geralmente salva somente arquivos que foram modificados; arquivos a serem salvos são marcados • Forçando salvar num novo directório certifica que todos os componentes de uma cena são salvos juntos. Clique aqui para abrir um diálogo e selecione ou crie diretório para salvar Segmentação de imagens • Slicer tem vários modos de aferir características numa imagem (e.g., marcar um tumor e calcular seu tamanho) • Queremos rotular (“label”) todos os pixels ocupados por cada característica com um número único (e.g.: assinalar os pixels do tumor com o rótulo 1) • Rótulos são armazenado como labelmaps (uma imagem onde cada pixel na imagem é um número rótulo) características a aferir labelmap rótulo mostrado no contexto + valor do rótulo = 0 foravalor do rótulo = 1 dentro do tumor Coletando um pequeno volume • Algoritmos de segmentação automática podem facilmente ficar confusos entre tumor e tecido sadio • Portanto, criamos um pequeno volume contendo apenas minimamente o tumor • Selecione o módulo “Crop Volume” Módulo “Crop Volume” • Este módulo cria um volume novo, pequeno contendo somente o que está contido em uma caixa ajustável • selecione Input, o padrão é o volume corrente • selecione Create new ROI • habilite “ROI” (region of interest) visibility • ajuste a ROI • Isotropic dá melhores resultados • selecione o botão Crop para criar um novo volume Ajustando a ROI • Observe a caixa na visão 2D • Clique e arraste os limites em cada corte até a ROI conter somente o aspecto de interesse • Aumentar o Zoom movimentar no corte ajuda clique e arraste qualquer ponto •Botão direto do mouse arraste para baixo para aumenta zoom •Botão shift + direito arrastar move os cortes Opções de segmentação • Segmentação é complicada • Expera-se demorar um tempo para dominar • Multiplas escolhas no Slicer: • Operações “Grow/Cut“ no editor • Segmentação OTSU • Crescimento de regiões Segmentação OTSU no Slicer Segmentação OTSU • Algoritmo automático para separar um volume em duas classes: (1) característico, e (2) todo o resto • Verifique o volume de entrada e a ROI correta • Volume de entrada deve ser a ROI • Cria um novo volume para a saida Determinando o volume característico • O mócdulo “Quantification / Label Statistics” calcula o volume do rótulo gerado pela segmentação OTSU • Selecione o Volume de entrada como volume “grayscale” e selecione a saída “labelmap” da segmentação. • Clique Apply para gerar o gráfico ou tabelas de volumes para cada rótulo Automática. Manual. Automática. Manual. Detecção de Forma Característica da Image Sigmoide Magnitude Do Gradiente Gradiente Imagem de Entrada Máscara Binária Suaviza Positive LevelSet Rescale Balanciado [-0.5,0.5] LevelSet de Entrada Detecção de Forma Input Feature Limiar LevelSet de Saída typedef itk::Image< float , 2 > ImageType; typedef itk::ShapeDetectionLevelSetImageFilter< ImageType, ImageType > FilterType; FilterType::Pointer shapeDetection = FilterType::New(); shapeDetection->SetInput( inputLevelSet ); shapeDetection->SetFeatureImage( speedImage ); shapeDetection->SetPropagationScaling( 1.0 ); shapeDetection->SetCurvatureScaling( 0.05 ); Detecção de Forma shapeDetection->SetMaximumRMSError( 0.001 ); shapeDetection->SetMaximumIterations( 400 ); shapeDetection->Update(); std::cout << shapeDetection->GetRMSChange() << std::endl; std::cout << shapeDetection->GetElapsedIterations() << std::endl; thresholder->SetInput( shapeDetection->GetOutput() ); thresholder->SetLowerThreshold( -1e7 ); thresholder->SetUpperThreshold( 0.0 ); Detecção de Forma Corregistro de Imagens Imagem Fixa Imagem Móvel Imagem Móvel Corregistrada registrator->SetFixedImageRegion( fixedImageReader->GetOutput()->GetBufferedRegion() ); typedef RegistrationType::ParametersType ParametersType; transform->SetIdentity(); registrator->SetInitialTransformParameters( transform->GetParameters() ); optimizer->SetMaximumStepLength( 4.00 ); optimizer->SetMinimumStepLength( 0.01 ); optimizer->SetNumberOfIterations( 100 ); optimizer->MaximizeOff(); Corregistro de Imagens try { registrator->StartRegistration (); } catch( itk::ExceptionObject & excp ) { std::cerr << “Error in registration” << std::endl; std::cerr << excp << std::endl; } transform->SetParameters( registrator->GetLastTransformParameters() ); Corregistro de Imagens typedef itk::ResampleImageFilter< FixedImageType , MovingImageType > ResamplerType; ResamplerType ::Pointer resampler = ResamplerType::New(); resampler->SetTransform ( transform ); resampler->SetInput( movingImageReader->GetOutput() ); FixedImageType ::Pointer fixedImage = fixedImageReader->GetOutput(); resampler->SetOrigin( fixedImage->GetOrigin() ); resampler->SetSpacing( fixedImage->GetSpacing() ); resampler->SetSize( fixedImage->GetLargestPossibleRegion()->GetSize() ); resampler->Update(); Corregistro de Imagens Componentes Imagem Fixa Imagem Móvel Métrica Transformação Interpolador Otimizador Método de Corregistro Métrica de Similaridade • Médias Quadráticas • Correlação Normalizada • Diferença Quadrática Média Recíproca • Informação Mutua - Viola-Wells - Mattes - Baseada em histograma - Histograma normalizado Transformções • Translação • Escalonamento • Rotação • Rígido3D • Rígido2D • Affine • BSplines Otimizadores • Gradiente Descente • Gradiente Descente com Passos Regulares • Gradiente Conjugado • Levenberg-Marquardt • Algoritmo Evolutivo Interpoladores • Vizinhos Próximos • Linear • BSpline Colocações Finais • IGT provê segurança, precisão e agilidade • São necessários métodos de segmentação e corregistro confiáveis • É um campo de estudos em evolução
Compartilhar