• 大小: 20.7MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-08
  • 语言: 其他
  • 标签: c+  c图    图像重  

资源简介

本程序需要先安装和配置好vtk环境才能编译并以命令行方式运行。 vkt环境以及其他软件见本人其他资源

资源截图

代码片段和文件信息

#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 “vtkPolyDataMapper.h“
#include “vtkStripper.h“
#include “vtkPolyDataNormals.h“
#include “vtkMarchingCubes.h“

//-------------------------------------------------------
// 主函数
//-------------------------------------------------------
int main (int argc char **argv)
{

    // 参数个数检查
    if(argc < 2)
    {
        cout << “用法: “ << argv[0] << “ DATA/headsq/quarter“ << endl;
        return 1;
    }

    // ---------读取数据---------

    // 创建2D数据读者对象
    vtkVolume16Reader *v16 = vtkVolume16Reader::New();
    // 设置数据的各维大小
    v16->SetDataDimensions(6464);
    // 设置数据的字节排列方式
    v16->SetDataByteOrderToLittleEndian();
    // 设置文件前辍,它将结合下一参数,以“FilePrefix.%d”方式读取随后文件
    v16->SetFilePrefix (argv[1]);
    // 设置文件读取范围
    v16->SetImageRange(1 93);
    // 设置CT数据的切片间距和间隔
    v16->SetDataSpacing (3.2 3.2 1.5);  
    
    // ---------重建皮肤---------

    // 创建一个Marching Cubes算法的对象
    vtkMarchingCubes *skinExtractor = vtkMarchingCubes::New();
    // 获得所读取的CT数据
    skinExtractor->SetInputConnection(v16->GetOutputPort());
    // 提取出CT值为500的皮肤数据
    skinExtractor->SetValue(0 500);
    // 重新计算法向量
    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(skinStripper->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);

    // ---------重建骨骼---------

    // 创建一个Marching Cubes算法的对象
    vtkMarchingCubes *boneExtractor = vtkMarchingCubes::New();
    // 获得所读取的CT数据
    boneExtractor->SetInputConnection(v16->GetOutputPort());
    // 提取出CT值为1150的骨骼数据
    boneExtractor->SetValue(0 1150);
    // 重新计算法向量
    vtkPolyDataNormals *boneNormals = vtkPolyDataNormals::New();
    boneNormals->SetInputConnection(boneExtractor->GetOutputPort());
    boneNormals->SetFeatureAngle(60.0);
    // 创建三角带对象
    vtkStripper *boneStripper = vtkStripper::New();
    // 将生成的三角片连接成三角带
    boneStripper->SetInputConnection(boneNormals->GetOutputPort());
    // 创建一个数据映射对象
    vtkPolyDataMapper *b

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-12 09:14  05_CT图像重建系统\
     目录           0  2018-07-12 09:14  05_CT图像重建系统\Data\
     目录           0  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.1
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.10
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.11
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.12
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.13
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.14
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.15
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.16
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.17
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.18
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.19
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.2
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.20
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.21
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.22
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.23
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.24
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.25
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.26
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.27
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.28
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.29
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.3
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.30
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.31
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.32
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.33
     文件        8192  2018-07-12 09:15  05_CT图像重建系统\Data\headsq\quarter.34
............此处省略115个文件信息

评论

共有 条评论