Pergunta

Eu preciso de uma função para obter o valor de um voxel (3D pixel) de um objeto X.volume, dado as coordenadas x, y, z como uma entrada.Isso é para usar um lablemap como referência para uma função Atlas.Existe uma maneira de fazer isso?

Muito obrigado,

Edward

Foi útil?

Solução

Atualmente não, embora os desenvolvedores XTK estejam criando algo semelhante como explicado em Encontrar coordenadas mundiais De coordenadas de tela , embora o que eu acredito que o que está sendo feito, há uma função de nãojetos e teste de interseção de raio / triângulo. Um raio / triângulo testes de interseção apenas lança um raio da sua tela para o mundo 3D e retorna as primeiras coordenadas de triângulo cruzadas, mas é claro que você precisa encontrar os voxels. Você pode tentar criar uma função de nãojetar e algo parecido com a interseção do raio / triângulo, mas, em vez disso, encontrar o voxel mais próximo em vez do triângulo. Ajuda com uma função de desconectação está aqui http://myweb.lmu.edu /dondi/share/cg/unProject-Eplicado.pdf , mas lembre de que o link explica GluunProject do OpenGL, mas ainda explica o que precisamos fazer, estamos apenas fazendo uma versão alternativa do GluUnProject para WebGl. Quaisquer soluções que você possa encontrar seria muito apreciada se contribuiu para o XTK. Ou você pode esperar na função de nãojetar que possivelmente venha do problema relacionado ao encontrar as coordenadas 3D.

Outras dicas

Quais são os seus (x, y, z)? São as coordenadas da base do mundo ou na base do volume? Em ambos os casos, uma solução pode ser computada (será um pouco mais complicada no 1º caso), mas acho que exigiria algumas mudanças nas fontes.

Você deseja codificar um pouco nas fontes e participar? Seria ótimo para usuários XTK como nós! Você só para passar pelo vascularidade do volume e fazer algumas operações:

  • se (x, y, z) sejam coordenadas na base do mundo: complicada. Deve fazer alguns testes: -)
  • Escolha uma direção para funcionar (1 volume pode ter fatias em 3 direções), para ex sliesx para a 1ª direção
  • com a coordenada do Centro X do volume, o espaçamento do volume x, e a coordenada X do ponto escolhido encontrar a boa fatia em slikesx
  • com o centro do volume (Y, Z), o volume Y e Z espaçamento, e as coordenadas Y e Z do ponto escolhido obtêm o (x ', y') coordenadas no mapa de textura escolhido da fatia
  • com o tamanho da textura de fatia escolhido obtém (x '', y '' ') as coordenadas na imagem da textura da fatia
  • Leia o (x '', y '') ponto da textura

Me desculpe, eu não tenho tempo para olhar mais esta semana, mas talvez mais tarde.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top