好文档 - 专业文书写作范文服务资料分享网站

[引用]VTK体绘制

天下 分享 时间: 加入收藏 我要投稿 点赞

【引用】VTK体绘制

#pragma comment (lib, \void main() {

vtkRenderer *ren = vtkRenderer::New();//设置绘制者(绘制对象指针)

vtkRenderWindow *renWin = vtkRenderWindow::New();//设置绘制窗口

renWin->AddRenderer(ren);//将绘制者加入绘制窗口 vtkRenderWindowInteractor *iren =

vtkRenderWindowInteractor::New();//设置绘制交互操作窗口的

iren->SetRenderWindow(renWin);//将绘制窗口添加到交互窗口

vtkInteractorStyleTrackballCamera *style =

vtkInteractorStyleTrackballCamera::New();//交互摄像机 iren->SetInteractorStyle(style);//style为交互模式 //raw 图片

vtkImageReader *reader = vtkImageReader::New(); reader->SetFileName(\

reader->SetFileDimensionality(3);//设置显示图像的维数

reader->SetDataScalarType(VTK_UNSIGNED_CHAR);//VTK_UNSIGNED_short将数据转换为unsigned char型 reader->SetDataExtent(0,255,0,255,0,123);//图片属性图片像素256x256,最后两参数表示有124张图

reader->SetDataSpacing (0.9,0.9,0.9); //设置像素间间距 reader->SetDataOrigin(0.0, 0.0, 0.0);//设置基准点,(一般没有用)做虚拟切片时可能会用的上 //读取DICOM数据 /*

vtkVolume16Reader *reader=vtkVolume16Reader::New(); reader->SetDataDimensions (64,64);//设置图像像素值 reader->SetImageRange (1,93); //设置图片数量(读取切片的起始端)

reader->SetDataByteOrderToLittleEndian();//指明读入字节顺序(可有可无)

reader->SetFilePrefix(\5.4\\\\vtkdata\\\\Data\\\\headsq\\\\quarter\设置数据路径 reader->SetDataSpacing (3.2,3.2,1.5); //设置像素间距 reader->SetDataOrigin(0.0, 0.0, 0.0);//设置基准点 */

/*

vtkDICOMImageReader *reader = vtkDICOMImageReader::New();

reader->SetDataByteOrderToLittleEndian(); reader->SetDirectoryName(\ reader->SetDataSpacing(3.2, 3.2, 1.5);

reader->SetDataOrigin(0.0, 0.0, 0.0);//设置基准点 */

// BMP图片

/* vtkBMPReader *reader = vtkBMPReader::New(); reader->SetDataExtent(0,175,0,135,1,3);//其中最后一个参数20 就表示我的图像序列有20张图像 reader->SetFilePrefix(\

reader->SetDataSpacing (1, 1, 2);//像素间的间隔 reader->SetDataOrigin(0.0,0.0,0.0);

reader->SetAllow8BitBMP (8) ;//很重要设置读入的bmp图片是8位

reader->Allow8BitBMPOff();//标志 */

// PNG图片

/* vtkPNGReader *reader = vtkPNGReader::New();

reader->SetDataByteOrderToLittleEndian();

reader->SetFileName(\一张,多张SetFilePrefix

reader->SetDataSpacing(3.2, 3.2, 1.5); reader->SetDataOrigin(0.0,0.0,0.0); */

/* //JPEG图片

vtkJPEGReader *reader = vtkJPEGReader::New(); reader->SetDataByteOrderToLittleEndian(); reader->SetFileDimensionality(3);

reader->SetFileName(\reader->SetHeaderSize(0);

reader->SetDataSpacing(3.2, 3.2, 1.5); reader->SetDataOrigin(0.0,0.0,0.0); */

vtkImageCast *readerImageCast = vtkImageCast::New();//数据类型转换

readerImageCast->SetInputConnection(reader->GetOutputPort());

readerImageCast->SetOutputScalarTypeToUnsignedShort ();

readerImageCast->ClampOverflowOn();//阀值 //reader->Delete();

//设置不透明度传递函数//该函数确定各体绘像素或单位长度值的不透明度

vtkPiecewiseFunction *opacityTransferFunction = vtkPiecewiseFunction::New();//一维分段函数变换 opacityTransferFunction->AddPoint(20, 0.0); opacityTransferFunction->AddPoint(255, 0.2);

//设置颜色传递函数//该函数确定体绘像素的颜色值或者灰度值

vtkColorTransferFunction *colorTransferFunction = vtkColorTransferFunction::New();

colorTransferFunction->AddRGBPoint(0.0, 0.0, 0.5, 0.0);//添加色彩点(第一个参数索引)

colorTransferFunction->AddRGBPoint(60.0, 1.0, 0.0, 0.0);

colorTransferFunction->AddRGBPoint(128.0, 0.2, 0.1, 0.9);

colorTransferFunction->AddRGBPoint(196.0, 0.27, 0.21, 0.1);

[引用]VTK体绘制

【引用】VTK体绘制#pragmacomment(lib,\voidmain(){vtkRenderer*ren=vtkRenderer::New();//设置绘制者(绘制对象指针)vtkRenderWindow*renWin=vtkRenderWindow::New();//设置绘制窗
推荐度:
点击下载文档文档为doc格式
2btky8nbbl47ty70kclt55mbv23rb100593
领取福利

微信扫码领取福利

微信扫码分享