医站点医维基

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1590|回复: 5

[VTK] VTK例子21-Volum

[复制链接]

336

主题

410

回帖

2806

积分

管理员

积分
2806

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2015-12-6 12:27:08 | 显示全部楼层 |阅读模式
Volum
#include "stdafx.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkProperty.h"
#include "vtkCamera.h"
#include "vtkStructuredPointsReader.h"
#include "vtkPiecewiseFunction.h"
#include "vtkColorTransferFunction.h"
#include "vtkVolumeProperty.h"
#include "vtkColorTransferFunction.h"
#include "vtkVolumeRayCastCompositeFunction.h"
#include "vtkVolumeRayCastMapper.h"
#pragma comment (lib, "vtkFiltering.lib")
#pragma comment (lib, "vtkRendering.lib")
#pragma comment (lib, "vtkIO.lib")
#pragma comment (lib, "vtkVolumeRendering.lib")
int main (int argc, char **argv)
{
    vtkRenderer *aRenderer = vtkRenderer::New();
    vtkRenderWindow *renWin = vtkRenderWindow::New();
    renWin->AddRenderer(aRenderer);
    vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);
   
    vtkStructuredPointsReader *reader = vtkStructuredPointsReader::New();
    //reader->SetFileName(".\\ironProt.vtk");
    reader->SetFileName("ironProt.vtk");
    vtkVolumeRayCastCompositeFunction *ComositeFun = vtkVolumeRayCastCompositeFunction::New();
    vtkVolumeRayCastMapper *VolMapper = vtkVolumeRayCastMapper::New();
    VolMapper->SetInputConnection(reader->GetOutputPort());
    VolMapper->SetVolumeRayCastFunction(ComositeFun);   
    vtkVolume *Volume = vtkVolume::New();
    Volume->SetMapper(VolMapper);
    vtkColorTransferFunction *gTFun = vtkColorTransferFunction::New();
    //gTFun->AddRGBSegment(128.0,126/255.0,16/255.0,16/255.0,    255.0,64/255.0,255/255.0,16/255.0);   
    gTFun->AddRGBSegment(127.0,126/127.0,16/127.0,16/127.0,    255.0,64/255.0,255/255.0,16/255.0);   
    vtkVolumeProperty *VolProperty = vtkVolumeProperty::New();
    VolProperty->SetColor(gTFun);
   
    vtkPiecewiseFunction *oTFun = vtkPiecewiseFunction::New();
    oTFun->AddSegment(48,0.0,256,1.0);//改变第一个数据,可以得到不同的体透明度
    VolProperty->SetScalarOpacity(oTFun);
    VolProperty->SetInterpolationTypeToLinear();
    VolProperty->ShadeOn();
    Volume->SetProperty(VolProperty);
   
    aRenderer->AddActor(Volume);
    aRenderer->SetBackground(0,0,0);
    //renWin->SetSize(640,480);
    renWin->SetSize(1280,480);
    aRenderer->ResetCameraClippingRange();
    iren->Initialize();
    iren->Start();
    aRenderer->Delete();
    renWin->Delete();
    iren->Delete();
   
    return 0;
}
21.png
回复

使用道具 举报

15

主题

451

回帖

1164

积分

版主

积分
1164

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-13 10:40:04 | 显示全部楼层
谢谢LZ
回复

使用道具 举报

13

主题

398

回帖

1051

积分

版主

积分
1051

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-14 05:37:40 | 显示全部楼层
看看!!!!!谢谢楼主!!!
回复

使用道具 举报

15

主题

428

回帖

1137

积分

版主

积分
1137

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-19 11:16:58 | 显示全部楼层
学习了!!!!!!!!!
回复

使用道具 举报

161

主题

409

回帖

1519

积分

版主

积分
1519

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-20 01:43:07 | 显示全部楼层
看看,学学
回复

使用道具 举报

0

主题

412

回帖

1035

积分

版主

积分
1035

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-22 14:35:49 | 显示全部楼层
先学习一下,以留备用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|医维基|网站地图|Archiver|手机版|医疗之家 ( 沪ICP备2023001278号-1 )  

GMT+8, 2024-5-2 07:35 , Processed in 0.238568 second(s), 31 queries .

Designed by Medical BBS

快速回复 返回顶部 返回列表