利用VTK读取单幅DICOM图像这里我用的是vtkdicomreader这个类:
QFileDialog dicomdialog;//qt实例化一个对话框
dicomdialog.setFileMode(QFileDialog::AnyFile);//设定文件的类型为任意类型的
dicomdialog.setViewMode(QFileDialog::Detail);//将显示文件方式设定为详细
QString dicomfilename;
dicomfilename=dicomdialog.getOpenFileName();//获得路径
dicomReader->SetFileName(qPrintable(dicomfilename));
dicomReader->SetDataOrigin(0,0,0);
dicomReader->Update();
到这一步就是读进去了一幅图像了,怎么显示呢,上代码:
diateactor->SetInputData(dicomReader->GetOutput());
dilateRenderer->AddActor(diateactor);
dilateRenderWindow->AddRenderer(dilateRenderer);
dilateRenderWindow->Render();
上面像actor,renderer,和renderwindow都是VTK里常见的,应该都明白,我这里是通过qvtkwidget来显示的。
但是上面的actor是imageactor
怎么访问像素数据呢?
这里需要知道一个函数叫GetScalarPointer(x,y,z),它获取的就是图像像素