#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
#include <vtkActor.h>
#include <vtkProperty.h>
#include <vtkSmartPointer.h>
#include <vtkImageData.h>
#include <vtkStructuredPoints.h>
#include <vtkImageReader.h>
#include <vtkVolumeRayCastCompositeFunction.h>
#include <vtkGPUVolumeRayCastMapper.h>
#include <vtkVolumeRayCastMapper.h>
#include <vtkColorTransferFunction.h>
#include <vtkPiecewiseFunction.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkVolumeProperty.h>
#include <vtkAxesActor.h>
#include <vtkImageShiftScale.h>
#include <vtkImageCast.h>
#include <vtkFixedPointVolumeRayCastMapper.h>
#include <vtkDICOMImageReader.h>
#include <vtkContourFilter.h>
#include <vtkPolyDataNormals.h>
#include <vtkPolyDataMapper.h>
#include <vtkOutlineFilter.h>
#include <vtkCamera.h>
void main()
{
vtkRenderer *aRenderer = vtkRenderer::New();
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(aRenderer);
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(renWin);
vtkDICOMImageReader *v = vtkDICOMImageReader::New();//vtkDicomImageReader用于读取医学DICOM图像
v->SetDataByteOrderToLittleEndian();//设置为小端字节序
v->SetDirectoryName("E:\\Dicom\\example");//文件目录路径
v->SetDataSpacing(3.2, 3.2, 1.5);//设置数据间距
//已知500对应病人的皮肤,抽取值为500的等值面。然后通过vtkPolyDataNormals在面上产生法线
vtkContourFilter *skinExtractor = vtkContourFilter::New();//过滤器vtkContourFilter用于从数据中抽取一系列等值面
skinExtractor->SetInputConnection(v->GetOutputPort());
skinExtractor->SetValue(0, 500);//对抽取等值面进行设置,表示从第0个抽取值开始,设为500
vtkPolyDataNormals *skinNormals = vtkPolyDataNormals::New();//在面上产生法线,使渲染过程中的表面着色光滑些
skinNormals->SetInputConnection(skinExtractor->GetOutputPort());
skinNormals->SetFeatureAngle(60.0);//设置特征角度
vtkPolyDataMapper *skinMapper = vtkPolyDataMapper::New();
skinMapper->SetInputConnection(skinNormals->GetOutputPort());
skinMapper->ScalarVisibilityOff();
vtkActor *skin = vtkActor::New();
skin->SetMapper(skinMapper);
//产生一个围绕着数据的框架
vtkOutlineFilter *outlineData = vtkOutlineFilter::New();
outlineData->SetInputConnection(v->GetOutputPort());
vtkPolyDataMapper *mapOutline = vtkPolyDataMapper::New();
mapOutline->SetInputConnection(outlineData->GetOutputPort());
vtkActor *outline = vtkActor::New();
outline->SetMapper(mapOutline);
outline->GetProperty()->SetColor(0, 0, 0);
//新建相机实例
vtkCamera *aCamera = vtkCamera::New();
aRenderer->AddActor(outline);
aRenderer->AddActor(skin);
aRenderer->SetActiveCamera(aCamera);
aRenderer->ResetCamera();
aCamera->Dolly(1.5);//将相机靠近焦点,以放大图像
aRenderer->SetBackground(1, 1, 1);//设置背景为白色
renWin->SetSize(600,500 );
//由于Dolly()方法移动了相机,所以要重设相机的剪切范围
aRenderer->ResetCameraClippingRange();
iren->Initialize();
iren->Start();
v->Delete();
skinExtractor->Delete();
skinNormals->Delete();
skinMapper->Delete();
skin->Delete();
outlineData->Delete();
mapOutline->Delete();
outline->Delete();
aCamera->Delete();
iren->Delete();
renWin->Delete();
aRenderer->Delete();
}
没有合适的资源?快使用搜索试试~ 我知道了~
VTK读取30张Dicom图片三维重建
共31个文件
dcm:30个
txt:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 15 下载量 49 浏览量
2022-04-20
22:51:12
上传
评论 7
收藏 6.22MB ZIP 举报
温馨提示
利用VTK三维重建软件与VS2010结合,读取格式为Dicom的系列图像,并能显示三维重建结果,语言为C++语言(Using VTK 3D reconstruction software and VS2010 combination, read the format of Dicom series of images, and can display three-dimensional reconstruction results, the language is C++ language)
资源推荐
资源详情
资源评论
收起资源包目录
VTK读取30张Dicom图片三维重建.zip (31个子文件)
VTK读取30张Dicom图片三维重建
example
3b_mpr_pr_hf_vfh.19.dcm 513KB
3b_mpr_pr_hf_vfh.28.dcm 513KB
3b_mpr_pr_hf_vfh.17.dcm 513KB
3b_mpr_pr_hf_vfh.20.dcm 513KB
3b_mpr_pr_hf_vfh.24.dcm 513KB
3b_mpr_pr_hf_vfh.13.dcm 513KB
3b_mpr_pr_hf_vfh.21.dcm 513KB
3b_mpr_pr_hf_vfh.30.dcm 513KB
3b_mpr_pr_hf_vfh.29.dcm 513KB
3b_mpr_pr_hf_vfh.12.dcm 513KB
3b_mpr_pr_hf_vfh.25.dcm 513KB
3b_mpr_pr_hf_vfh.5.dcm 513KB
3b_mpr_pr_hf_vfh.3.dcm 513KB
3b_mpr_pr_hf_vfh.8.dcm 513KB
3b_mpr_pr_hf_vfh.26.dcm 513KB
3b_mpr_pr_hf_vfh.22.dcm 513KB
3b_mpr_pr_hf_vfh.6.dcm 513KB
3b_mpr_pr_hf_vfh.9.dcm 513KB
3b_mpr_pr_hf_vfh.27.dcm 513KB
3b_mpr_pr_hf_vfh.4.dcm 513KB
3b_mpr_pr_hf_vfh.1.dcm 513KB
3b_mpr_pr_hf_vfh.7.dcm 513KB
3b_mpr_pr_hf_vfh.11.dcm 513KB
3b_mpr_pr_hf_vfh.16.dcm 513KB
3b_mpr_pr_hf_vfh.18.dcm 513KB
3b_mpr_pr_hf_vfh.10.dcm 513KB
3b_mpr_pr_hf_vfh.15.dcm 513KB
3b_mpr_pr_hf_vfh.23.dcm 513KB
3b_mpr_pr_hf_vfh.2.dcm 513KB
3b_mpr_pr_hf_vfh.14.dcm 513KB
读取30张Dicom图片三维重建.txt 3KB
共 31 条
- 1
wouderw
- 粉丝: 268
- 资源: 2960
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页