2015-01-19 6 views
1

나는 정상과 원점이 주어진 3D 배열로부터 2D 텍스처를 생성하려고합니다.텍스처를 생성하기 위해 임의의 방향으로 3D 배열을 자릅니다.

내 문제는 내 텍스처의 픽셀을 잊지 않도록 올바른 해결책을 찾을 수 없다는 것입니다.

단계 :

  1. 이 3D 배열의 교회법 및
  2. 이동 교차 픽셀 값 얻기 위해 2 차원 공간의 교차를 통해 2 차원 공간
  3. 반복하는 좌표 평면을 가져

내 접근 방식의 문제점은 2D 공간에서 반복 할 올바른 간격/단계를 파악할 수 없다는 것입니다. 단계가 너무 크면 일부 픽셀을 놓칠 수 있습니다. 단계가 너무 작 으면 성능이 저하됩니다.

내 접근 방식이 맞습니까?

도움을 주시면 감사하겠습니다. 베스트

==는 3D 어레이 256 × 256 × 256이며, 상기 어레이의 각 요소는 사이즈에 spacingX, spacingY, spacingZ의 3D 복셀이며, 일반적

를 편집한다. 내가 WebGL을 직접 나의 볼륨을 다시 분할하기 위해 3D 텍스처를 사용하려면 어떤 점에서

enter image description here

하지만 먼저 나는 자바 스크립트 로직을 알아 내려고 노력하고있다.

거기에 데모를 보면 : http://lessons.goxtk.com/17/, 당신은 문제를 볼 수 있습니다. 이상적으로, 2D 슬라이스는 항상 선명해야하지만, 때때로 잘못된 재배치로 인해 텍스쳐에 일부 보셀이 누락되어 일부 아티팩트가 이미지에 나타납니다.

어떤 방향 으로든이 볼륨을 다시 살리려고하는 문제 (X/Y/Z 축에 잘 정렬되어있을뿐만 아니라). 즉, 우리는 교차 평면에서 사각형뿐만 아니라 삼각형도 추출합니다. 그리고 거기에서 모든 정보를 포함하는 멋진 텍스처를 생성하고 싶습니다.

아래와 같은 질감을 적절하게 추출하고 싶습니다. 나의 현재의 (잘못된) 방식으로

enter image description here

, 나는 최소 resliced면 간격을하고 텍스처를 생성하기 위해 그것을 통해 반복 될지 추측하려고합니다. 그러나 정확한 간격을 찾지 못했습니다. 따라서 추측 된 간격으로 평면을 반복하므로 많은 정보가 누락됩니다.

enter image description here

내 현재의 접근 방식이 정확하지 않는 것, 그것을 달성하는 방법에 대한 조언은 환영받을 것입니다!

최고

+1

3d 배열의 크기는 어느 정도입니까? [3d texture] (http://stackoverflow.com/questions/23006414/3d-texture-in-webgl-three-js-using-2d-texture-workaround)를 사용할 수 있습니까? – gman

+0

위의 모든 편집을 참조하십시오! 이것은 의료 이미징에서 다루어야 할 중요한 문제이며, 모든 조언은 매우 환영받을 것입니다! 궁극적으로 성능 향상을 위해 셰이더에서 모든 재 슬라 이닝이 발생하지만 올바른 접근 방식을 얻으려고합니다. 그것은 의미가 있습니까? – Nicolas

답변

1

전체적인 접근 방식이 잘못되었습니다. 이를 수행하는 올바른 방법은 화면의 각 픽셀에 대해 평면의 세계 좌표로 매핑 한 다음이를 IJK 좌표로 매핑하여 올바른 색을 찾는 것입니다.

픽셀 -> 평면 좌표 -> IJK 좌표 -> 픽셀의 색상!