2012-05-25 3 views
4

나는 k 값이 (n,n,n) 인 k 큐브를 가지고 있습니다.3D 강도 데이터의 큐브를 그립니다

나는 이것을 확산 MRI의 확산 텐서 (diffusion tensors)로 생각하며, 그것들을 (아마도 타원형으로) 시각화하고 어떤 식 으로든 "정렬"하려고합니다. 현재 각 큐브의 n "슬라이스"는 단순히 (n,n)입니다.

이 작업을위한 파이썬 모듈이 있습니까?

+0

그것은하지 분명은 "타원체"에 대한 추가 정보 : 나는 데이터의 표현을 가지고 있지 않기 때문에, 나는 아래의 격자를 통해 어떤 임의의 분야와 최소한의 작업 예를 준 에서 온 것입니다. 각각의 튜플'(x, y, z)'에 대해 아마도 당신은 스칼라 값'v'을 가질 것입니다. 이 지점에 타원체를 배치하려면 네 개의 데이터 점, 두 개의 각도 값 및 주축과 부축의 길이가 필요합니다. – Hooked

+0

"큐브"는 해당 확산 텐서의 세 고유 값이라고 생각합니다. 세 개의 고유 값에 해당하는 반축 길이를 가진 타원체를 그리시겠습니까? 기준에 따라 타원체를 정렬하고 싶습니까? –

+0

각 큐브는 일종의 조직 복셀을 나타내므로 정확한 큐브 비교를 위해 필자는이를 정렬해야합니다. 각 큐브에 대해 확산 텐서를 계산하고 주축을 회전시켜야한다고 생각합니다. –

답변

5

mayavi2를 사용할 수 있습니다.

import numpy 
import mayavi.mlab as mlab 

# Create some random data 
N = 20 
x, y, z = numpy.mgrid[-5:5:20j, -5:5:20j, -5:5:20j] 
val = numpy.random.random(z.shape) 

# Plot and show in mayavi2 
pts = mlab.points3d(x, y, z, val, scale_factor=.5,transparent=True) 
mlab.show() 

enter image description here

+1

감사합니다. 작동합니다! (단순히 mayavi가 아닌 enthought.mayavi와 함께) –

+1

'enthought.mayavi'와'mayavi'의 차이점은 간단하게'mayavi' 라이브러리를 어떻게 설치했는지입니다. 전자는 Enthought 배포본입니다. – Hooked

관련 문제