난 원점 간격 및 범위 아래 더불어 DICOM 시리즈 가지고 m_pReader vtkDICOMReader는 객체가슬라이스 번호를 아십니까?
int nExtent[6];
double dSpacing[3];
double dOrigin[3];
m_pReader->GetOutputInformation(0)->Get(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), nExtent);
m_pReader->GetOutput()->GetSpacing(dSpacing);
m_pReader->GetOutput()->GetOrigin(dOrigin);
...
dOrigin는 0, 0, 0이다;
d 스페이스 바 ID 0.447266, 0.447266, 3.998718;
nExtent는 0, 511, 0, 511, 0, 43입니다.
시리즈는 AXIAL입니다. 내가 AXIAL 계획을 통해 일련의 슬라이스 경우 지금, 나는 그 같이 44 개 조각으로 시리즈를 슬라이스 수 :
double deltaY = 0.0;
delta += 1.0;
pReslice->Update();
double dSliceSpacing = pReslice->GetOutput()->GetSpacing()[2];
vtkMatrix4x4* pMatrix = pReslice->GetResliceAxes();
// move the dCenter dPoint that we are slicing through
double dPoint[4];
double dCenter[4];
dPoint[0] = 0.0;
dPoint[1] = 0.0;
dPoint[2] = dSliceSpacing * deltaY;
dPoint[3] = 1.0;
pMatrix->MultiplyPoint(dPoint, dCenter);
pMatrix->SetElement(0, 3, dCenter[0]);
pMatrix->SetElement(1, 3, dCenter[1]);
pMatrix->SetElement(2, 3, dCenter[2]);
모두가 무사하다 ...
문제를 : 나는이 시리즈를 통해 슬라이스 경우 CORONAL 계획, 조각 번호는 44가 아닙니다 !! 하지만 얼마나 많이? 계획이 CORONAL 또는 SAGITTAL 인 경우 슬라이스 번호를 어떻게 알 수 있습니까?
우선, 나는 ' 모든 지원에 감사드립니다. :) – flaviu2
두 번째로, 귀하의 의사 코드를 적용하기 시작합니다 ... 나는 피드백으로 돌아올 것입니다. – flaviu2