Olá Pessoal,
Como vão as coisas por aí?
Estou finalizando o código de corregistro para mudança dos pontos entre a base vetorial do Rastreador Polhemus e a base vetorial das imagens dicom. O que pretendo agora é atualizar as fatias axial, coronal e sagital do navegador conforme mudo a posição do rastreador, ou seja, substituir os pontos fornecidos pelo clique do mouse nas "linhas cruzadas" pelos pontos dados pelo rastreador. Estudei um pouco e tentei entender pelo código, o método que vocês usaram para atualizar as fatias mostradas nas três janelas do InVesalius 3.
Estou pensando em utilizar as mesmas funções que vocês utilizaram, substituindo os pontos de input que antes eram do onmouseclick para um toggle button que a todo momento pega o ponto fornecido pelo rastreador, muda para um ponto da base das imagens e com estas três coordenadas atualizo as três fatias de imagens.
Vocês acham que esse é o melhor método? Alguma dica ou conselho que possa aprimorar?
Se não fui claro, por favor perguntem!
Abraços!
Victor Hugo
Autor: Victor Hugo de Oliveira Souza
1010 comentários
- www.doughellmann.com/PyMOTW/multiprocessing/index.html
- us.pycon.org/media/2009/talkdata/PyCon2009/031/pycon_jnoller_multiprocessing.pdf Neste outro link tem algumas dicas e técnicas wiki.wxpython.org/LongRunningTasks Abraços
Como tinha dito, preciso saber o tamanho, em milímetros, do pixel da imagem, sendo que este está escrito no header do arquivo dicom, em uma tag de nome: PixelSpacing e elemento/grupo: (0028, 0030).
Tentei utilizar o vtkDICOMImageReader().GetPixelSpacing(), pelo vtkImageData().GetSpacing() e também o gdcm.Image().GetSpacing().
Todos eles forneceram valores de (1.0, 1.0, 1.0) para diferentes imagens de diferentes protocolos.
Pelo MatLab eu abri o header do dicom e verifiquei que o PixelSpacing tinha valores diferentes de 1.0 para algumas imagens, como por exemplo: (0.478, 0.478).
Ou seja, as funções das bibliotecas vtk e gdcm não estão lendo a tag que eu desejo e por isso fornecem o valor de 1.0 que é o default.
Uma possível solução seria ler a tag do modo bruto, utilizando o gdcm e os números de elemento/grupo (0028, 0030), mas não consegui achar uma função que faça isso. Preciso disso para terminar o algoritmo de co-registro. Se puderem me ajudar ficarei muito satisfeito. Já procurei em muitos lugares e ainda não consegui resolver. Abraços.
Victor Hugo.