2011-08-10 3 views
0

안드로이드에서 3D로 DICOM 이미지를 렌더링 한 경험이 있습니까? 나는 이것을 구현하기 시작하고 어디서부터 시작해야할지 모르겠습니다.Android 애플리케이션에서 DICOM 이미지를 3D로 렌더링하려면 어떻게해야합니까?

OpenGL ES에서 3-D 텍스처가 지원되지 않는다고 들었습니다. 그렇다면 2-D 텍스처를 사용해야합니까?

DICOM 이미지를 렌더링 할 때 지적할만한 책이나 기타 리소스가 있습니까?

답변

1

나는 안드로이드가 아니라 iOS에서이 작업을 해왔지만, OpenGL ES 측면에서 흥미로운 부분이있어서 그게 중요하다고 생각하지 않습니다.

3D 좌표를 2D 좌표로 변환 한 후 조각 텍스처를 샘플링하는 조각 셰이더를 사용하여 작업을 마쳤습니다. 결과적으로 텍스처 필터링을 포기해야했습니다. ES 2 지원과 함께 제공되는 모든 iOS 장치는 현재 2048x2048 텍스처로 제한되어 있으므로 텍스쳐를 읽을 때 22 비트 주소 공간이 필요합니다. 나는 각 (x, y, z)에 대해 7 비트를 허용하고, x의 상단에 z를, y의 상단에 3을 4 비트로드했다. 따라서 2048x1024 소스 이미지는 128x128x128 3D 텍스처를 제공하도록 인덱싱됩니다.

다른 DICOM 문제와 관련하여 픽셀 당 최대 16 비트의 소스 정보를 보존하기 위해 루미넌스 + 알파 텍스처를 업로드했습니다. 그것은 내가 가지고있는 모든 샘플 데이터와 일치합니다.

내 현재 구현은 합성 할 때 (출력 버퍼의 크기에 따라) 8 비트 산술로 제한되지만, 추가 혼합을 사용하여 출력 채널간에 출력하는 값을 분할 한 다음 두 번째 패스는 결과를 누적합니다.

나는 적절한 참조 링크를 모르고 있는데, 이것들은 내가 스스로 고안 한 모든 해결책이다. 이 작업은 상업적으로 수행 되었기 때문에 계약 상으로 소스 코드를 제공 할 수 없습니다.

관련 문제