-
大小: 4KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-06-03
- 語言: C/C++
- 標(biāo)簽: VTK??醫(yī)學(xué)??三維重建??
資源簡介
用VTK在VC2005環(huán)境下做的醫(yī)學(xué)圖像三維重建,程序適合于初學(xué)者。
代碼片段和文件信息
#include?“vtkDICOMImageReader.h“
#include?“vtkRenderer.h“
#include?“vtkRenderWindow.h“
#include?“vtkRenderWindowInteractor.h“
//#include?“vtkVolume16Reader.h“
#include?“vtkPolyDataMapper.h“
#include?“vtkActor.h“
#include?“vtkProperty.h“
#include?“vtkOutlineFilter.h“
#include?“vtkCamera.h“
#include?“vtkPolyDataNormals.h“
#include?“vtkStripper.h“
#include?“vtkMarchingCubes.h“
int?main(int?argc?char?**argv)
{
if?(argc?2)
{
cout<<“用法:?“< return?1;
}
//======================讀取數(shù)據(jù)============================
vtkDICOMImageReader?*v16?=?vtkDICOMImageReader::New();
v16->SetDirectoryName(“d:/headsq/“);
v16->SetFilePrefix(argv[1]);
v16->SetDataSpacing(1.01.01.0);
v16->Update();
//=====================重建皮膚=============================
vtkMarchingCubes?*skinExtractor?=?vtkMarchingCubes::New();
skinExtractor->SetInputConnection(v16->GetOutputPort());
skinExtractor->SetValue(0500);
vtkPolyDataNormals?*skinNormals?=?vtkPolyDataNormals::New();
skinNormals->SetInputConnection(skinExtractor->GetOutputPort());
skinNormals->SetFeatureAngle(60.0);
vtkStripper?*skinStripper?=?vtkStripper::New();
skinStripper->SetInputConnection(skinNormals->GetOutputPort());
vtkPolyDataMapper?*skinMapper?=?vtkPolyDataMapper::New();
skinMapper->SetInputConnection(skinNormals->GetOutputPort());
skinMapper->ScalarVisibilityOff();
vtkActor?*skin?=?vtkActor::New();
skin->SetMapper(skinMapper);
skin->GetProperty()->SetDiffuseColor(1?.49?.25);
skin->GetProperty()->SetSpecular(?.3);
skin->GetProperty()->SetSpecularPower(20);
skin->GetProperty()->SetOpacity(1.0);
//=======================重建骨骼================================
vtkMarchingCubes?*boneExtraractor?=?vtkMarchingCubes::New();
boneExtraractor->SetInputConnection(v16->GetOutputPort());
boneExtraractor->SetValue(01150);
vtkPolyDataNormals?*boneNormals?=?vtkPolyDataNormals::New();
boneNormals->SetInputConnection(boneExtraractor->GetOutputPort());
boneNormals->SetFeatureAngle(60.0);
vtkStripper?*boneStripper?=?vtkStripper::New();
boneStripper->SetInputConnecti
評論
共有 條評論