Ir para o conteúdo

 Voltar a invesalius-dev
Tela cheia

Eixo cartesiano no VTK

17 de Julho de 2009, 11:47 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 44 vezes

Bom dia Pessoal,

Já estou aqui denovo com mais dúvidas! heuheuh

Estou estudando algum meio de rotacionar o objeto nos três diferentes eixos. Necessito realmente rotacionar o objeto e não a câmera. Encontrei um meio rápido que parece estar dando certo, a classe vtkTransform, que aplica transformações matriciais diretamente no ator.

Estava pensando se vocês já nao tem pronto, o código para mostrar um pequeno eixo de coordenadas do vtk, que mostra os versores x, y e z no canto da tela e juntamente com a imagem sofre interações. Este eixo me ajudaria a entender o funcionamento das funções do vtkTransform. Caso tenham alguma dica melhor, gostaria de aprender.

Obrigado pela atenção.

Abraços.

Victor Hugo

Autor: Victor Hugo de Oliveira Souza


66 comentários

  • 9512fd15511b858a19127f17fd75fbf2?only path=false&size=50&d=404Paulo Henrique Junqueira Amorim(usuário não autenticado)
    17 de Julho de 2009, 13:31

     

    Olá Victor,

    Da uma olhada no método SetUserTransform do vtkActor, você têm que passar um vtkLinearTransform [1], talvez resolva seu problema.. 

      [1] - www.​vtk.​org/​doc/​nigh​tly/​html​/cla​ssvt​kLin​earT​rans​form​.htm​l

    Mas uma curiosidade, porque você quer fazer isso?

     

    Abraços e Boa sorte ae..

    Paulo Amorim

    • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
      20 de Julho de 2009, 11:28

       

      E aí Paulo,

      Preciso fazer isso pois, na montagem do neuronavegador a bobina pode rotacionar no eixo x, ou y ou z. Sendo que o Polhemus fornecerá os 3 ângulos de rotação como 3 strings. Tenho então que fazer com que o objeto realmente gire sobre os três eixos. Assim posso montar também o co-registro entre dois objetos, do campo da bobina de TMS e da cabeça do indivíduo. Por isso não posso somente mudar a câmera de lugar, pois para poder co-registrar preciso que o objeto gire, e pelo que vi, o vtkTransform aplica sobre o ator que é aceitável.

      Estou tendo alguns problemas, pois pra mim as rotações ainda não fazem muito sentido, mesmo que os nomes delas sejam RotateX(), RotateY() e RotateZ(), do vtkTransform. Pelo que li, elas aplicam uma matriz transformação sobre o ator para que ele rotacione nos três eixos de acordo com o ângulo dado em graus no argumento da função.

      Para começar, fiz com um cone e ele me pareceu rotacionar de acordo com o esperado. Mas quando fiz com a reconstrução analyze de uma cabeça, o objeto rotacionou da mesma forma que a interação do mouse em que se aperta "Ctrl" e clica na tela. Mas ainda não é isso que eu quero.

      Espero ter explicado bem. Se ainda tiver dúvida ou curiosidade pergunta aí.

      Obrigado Paulo e Tatiana.

      Abraços.

      • C5e54a1f142677e5d6dc3b5ae6a4fd25?only path=false&size=50&d=404Paulo Cesar Segala(usuário não autenticado)
        20 de Julho de 2009, 11:31

         

        Informo que no período de 06/07 à 26/07/2009 estarei ausente do Hospital Unimed por motivo de Férias.
        Assuntos urgentes podem ser tratados com os srs:
        - Alex Correr, fone (19) 3436-8375, acorrer@unimedpiracicaba.com.br
        - Cleuses A Meira Jr, fone (19) 3436-8373, cmeira@unimedpiracicaba.com.br

        Atenciosamente,

        Paulo Cesar Segala
        Tecnologia da Informação
        Hospital UNIMED Piracicaba

  • 45bc47f23454bc6f0bb5eefccad4b879?only path=false&size=50&d=404Tatiana Al-Chueyr Pereira Martins(usuário não autenticado)
    17 de Julho de 2009, 13:32

     

    Boa tarde Victor,

    Para a parte de exibir informações sobre os eixos, sugiro que utilize:

    www.​vtk.​org/​doc/​nigh​tly/​html​/cla​ssvt​kAnn​otat​edCu​beAc​tor.​html

    Nós já utilizamos este Widget, mas no MacOS (Leopard) ocorreram alguns problemas, provavelmente por causa da interface entre o wxVTKRenderWindowInteractor e o Carbon... Mas já dá para você fazer testes no Windows. Funciona.

    Abraços,

    Tatiana

  • 8b29dd625bf14f6a12777f64db9aa2e7?only path=false&size=50&d=404Victor Hugo de Oliveira Souza(usuário não autenticado)
    27 de Julho de 2009, 15:42

     

    Olá Pessoal,Tudo bem por aí? É o seguinte, consegui o que queria, com relação à mostrar a origem e os eixos coordenados, utilizando o vtkAxesActor.Testei em um cone, inclusive utilizando vtkTransform para rotacionar o volume e tudo correu como esperado. No entanto, quando apliquei na reconstrução de um cérebro em formato Analyze, percebi que o o sistema de coordenadas fica MUITO longe da imagem.Estou tentando descobrir algum modo de fazer com que a origem esteja no centro do volume para poder aplicar transformações corretas. Se vocês souberem de alguma coisa que possa ajudar, ficaria satisfeito. Abraços.Victor Hugo 

Tutorial passo-a-passo sobre uso do software InVesalius 3

17 de Abril de 2010, 11:45, por Desconhecido

Se você tem interesse em utilizar o software de reconstrução 3D de imagens médicas InVesalius, mas não sabe por onde começar, acesse já o tutorial escrito pelo designer Cícero Moraes:



InVesalius 3 Beta 2 disponível

6 de Março de 2010, 11:41, por Desconhecido

Para saber mais sobre o InVesalius 3.0.0 Beta 2, leia:
http://svn.softwarepublico.gov.br/trac/invesalius/wiki/releases/pt/changelog

Continue contribuindo com a Comunidade InVesalius!

------------------------------------



Siga cada passo do InVesalius com o Twitter!

8 de Fevereiro de 2010, 9:57, por Desconhecido

Acompanhar o InVesalius pelo Twitter permitirá que você saiba, em primeira mão, sobre:



InVesalius 3 Beta 1 disponível para testes em Windows e GNU Linux

27 de Janeiro de 2010, 10:50, por Desconhecido



Trabalho acadêmico discute aplicação do OpenBRR ao InVesalius

6 de Novembro de 2009, 16:35, por Desconhecido

Autor: Tatiana Al-Chueyr Pereira Martins