level 2
我用的qt+vtk,window系统,用vtkDicomReader读取dcm文件数据,然后用vtkImageVIew2显示在QVTKWidget上,但是医学影像显示的区域很小,留下了很大的空白。我修改vtkRenderer->SetViewport(0,0,1,1)来设置范围为整个窗口,但是没有改变。有老哥知道怎么让数据显示区域铺满整个窗口吗?
2021年08月03日 06点08分
1
level 2
是坐标系的问题吗?是不是需要坐标转换,我的dcm数据是512*512*1大小像素的。怎么让图像适配窗口大小
2021年08月03日 07点08分
2
level 10
vtkCamera*aCamera = m_render->GetActiveCamera();
if (m_image != NULL)
{
//===========
//图像充满vtk窗口
double spacing[3];
double origin[3];
int extent[6];
m_image->GetOrigin(origin);
m_image->GetExtent(extent);
m_image->GetSpacing(spacing);
vtkCamera* camera = m_render->GetActiveCamera();
float xc = origin[0] + 0.5*(extent[0] + extent[1])*spacing[0];
float yc = origin[1] + 0.5*(extent[2] + extent[3])*spacing[1];
// float xd = (extent[1] - extent[0] + 1)*spacing[0]; // not used
float yd = (extent[3] - extent[2] + 1)*spacing[1];
float d = camera->GetDistance();
camera->SetParallelScale(0.5f*static_cast<float>(yd));
}
2021年08月16日 01点08分
4