VTK
伍心
好好工作
展开
-
VTK: 转化DICOM ST 数据为vtkPolyData显示
放疗的靶区等勾画数据通常会存储为DICOM-RT文件,该文件通常存储勾画点坐标数据。新的需要中DICOM-RT中存储了一个固定模版,需要进行3D打印,因此需要对其格式进行转化,以便进行三维渲染、编辑、保存和打印功能。原创 2022-09-26 11:41:17 · 1348 阅读 · 1 评论 -
VTK:自定义直线和椭圆工具
摘要: VTK没有提供椭圆工具,所以自己写了个绘制二维椭圆的类,随便也把直线工具也重新写了下。原创 2022-03-27 17:17:18 · 1050 阅读 · 0 评论 -
VTK:去除阈值分割中的小的连通区域-噪点去除
目的:阈值分割的结果中,通常包含有很多小的、孤立的区域,这些小的区域采用手动方式去除比较耗时,可通过三维连通区域,计算各个连通区域的大小,然后将小于一定阈值的区域去掉。基于vtkImageConnectivityFilter类实现。性能:512*512*400的数据,连通域计算无法达到实时; 512*512*400的数据中的肺动脉,经过三维裁剪,可以达到实时的效果。若果要提高到2S内,需要改进vtkImageConnectivityFilter中的算法。...原创 2022-03-18 16:56:01 · 1474 阅读 · 1 评论 -
VTK三维裁剪:体绘制任意裁剪 和面绘制任意裁剪(对vtkImageData和vtkPolyData进行裁剪)
在体绘制和面绘制中,经常需要对非感兴趣部位进行裁减,以减少遮挡等。目前实现了两种方法:第一种方法速度比较慢;第二种方法可以达到实时;详细见参考文献。详细内容后面整理,先记录下。一、体绘制裁减二、面绘制进行裁减参考:https://blog.csdn.net/a15005784320/article/details/119204925 https://blog.csdn.net/gorecording/article/details/83781923htt...原创 2022-02-13 11:11:31 · 3856 阅读 · 3 评论 -
VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )
简介:1、vtkAreaPicker:获取裁剪平面2、vtkClipClosedSurface:完成裁剪完成代码:#include <vtkActor.h>#include <vtkAreaPicker.h>#include <vtkDataSetMapper.h>#include <vtkDataSetSurfaceFilter.h>#include <vtkExtractPolyDataGeometry.h>.原创 2022-01-22 12:10:53 · 2511 阅读 · 2 评论 -
VTK: 选取区域(vtkAreaPicker + vtkInteractorStyleRubberBandPick )
目的:显示对直接体绘制和网格数据的任意裁剪。根据VTK官网的例子,显示了下面的矩形区域选取。下一步实现任意区域的选取与裁剪。VTK官网例子:https://kitware.github.io/vtk-examples/site/Cxx/Picking/HighlightSelection/注意:按下键盘< r >进行模式切换,#include <vtkActor.h>#include <vtkAreaPicker.h>#include &l.原创 2022-01-22 10:48:29 · 3190 阅读 · 3 评论 -
VTK: vtkImageData 转 vtkPolyData
简介:勾画的数据通常带有多个标签(多个组织),以vtkImageData存储,用vtkDiscreteMarchingCubes 可以将其转化为网格数据vtkPolyData。下图为转化的效果。详见代码,内有注释 vtkImageData* pMaskData = m_pMaskImage->GetSrcMaskData(mLabel); double origin[3]; pMaskData->GetOrigin(origin); pMaskData..原创 2022-01-21 21:56:55 · 2066 阅读 · 0 评论 -
VTK小结:展示勾画-STL转Mask-Mask转STL-勾画
原创 2022-01-21 01:11:29 · 871 阅读 · 1 评论 -
VTK: vtkPolyData 裁剪(1)
熟悉vtkClipClosedSurface 对vtkPolyData 进行裁剪;重点在于如何构建裁剪平面,需要注意的是裁剪平面的法向量指向的会被保留,其它会被裁剪掉。难点就是如何构建重建平面组合;原创 2022-01-20 10:56:19 · 1797 阅读 · 0 评论 -
VTK: STL (vtkPolyData) 转 Mask(vtkImageData)
项目中需要将分割结果的STL转换成Mask,以方便用户对其进行必要的调整。vtkPolyData 转vtkImageData 的方法见VTK官网中有相关的例子。需要注意的几点:1、转换后结果的数据类型和参考数据相同,如下代码中的maskImage;2、 vtkPolyData 的数据原点(mask转polydata时)与maskImage必须相同;void Stl2Mask(){ double spacing[3] = {0.71875,0.71875,1.0}; do..原创 2022-01-16 15:41:11 · 1513 阅读 · 0 评论 -
VTK 灰度图像转RGB(非渲染):vtkWindowLevelLookupTable/vtkLookupTable/vtkImageMapToWindowLevelColors
简介:系统中提取读取序列图像中的一张,用VTK将灰度图像转换为GRB,然后用GDI+绘图。懒得直接做颜色查找表,直接用VTK中的vtkWindowLevelLookupTable/vtkLookupTable/vtkImageMapToWindowLevelColors,可完成灰度到RGB的转换。保存为RGB的文件如上图,代码如下:void Gray2ColorImg(){ m_Origin[0] = -m_Dim[0] * m_Spacing[0] * 0.5; m_Origin[..原创 2021-12-26 16:54:32 · 1207 阅读 · 0 评论 -
VTK生成直方图:vtkImageHistogram
简介:统计三维数据的直方图,用于作为阈值分割或直接体绘制的背景,指示用户进行调节。对于灰度图像,使用vtkImageHistogram就够了。SetHistogramImageScaleToLog() 结果SetHistogramImageScaleToLinear(); 结果SetHistogramImageScaleToSqrt() 结果代码:void ImageHistogram(){ m_Origin[0] = -m_Dim[0] * m_S...原创 2021-12-26 16:10:02 · 904 阅读 · 0 评论 -
VTK感兴趣勾画 方式二: vtkTexture实现
优点:可实现任意多个不同组织(不同颜色和不透明度)的勾画;缺点:感觉速度还需要再优化下原创 2021-12-25 11:16:16 · 607 阅读 · 2 评论 -
VTK 项目一:MPR和STL+感兴趣勾画
简介:用MFC做的简单的MPR实现和STL三维显示,MPR用vtkImageActor实现,特点就是简单,后续增加STL转掩码体数据,并实现编辑。后面慢慢贴出代码。原创 2021-11-24 11:15:06 · 1311 阅读 · 0 评论 -
VTK感兴趣勾画 方式一: vtkImageMask实现
使用vtkImageMask 实现原创 2021-11-19 16:44:43 · 1720 阅读 · 3 评论 -
The Architecture of Open Source Applications---VTK
在查找VTK设计架构与相关设计模式时,google到一篇介绍VTK的综述,虽然简单,但讲的还是蛮好的。希望对学习的人有帮助。原文地址:http://www.aosabook.org/en/vtk.html The Visualization Toolkit (VTK) is a widely used software system for data processing and vi转载 2013-07-27 23:59:09 · 2379 阅读 · 0 评论 -
虚拟内窥镜之CUDA实现
虚拟内窥镜之CUDA实现关键词:虚拟内窥镜;中心线提取;volume rendering; CUDA.;ITK;VTK;OpenGL 以前写的虚拟内窥镜程序搁置很久了,由于一家医院教授的需求,打算重新写当年的程序,在此记录下自己的想法。 一、先在已经做的可视化软件基础上,整合CUDA体绘制实现;(已完成) 二、整合ITK,对血管进行分原创 2012-07-06 11:18:16 · 3105 阅读 · 4 评论 -
利用多个开源库进行编程中应注意的事项
利用多个开源库进行编程中应注意的事项一.引子 在用CUDA实现虚拟内窥镜的过程中,需要用到CxImage、VTK、ITK等一些开源的库,因为自己的偷懒,造成工作进展被拖延了5天,郁闷呀!在编译了CxImage得Debug和Release版本后,自己图省事,就只在工程中添加了CxImage得Debug版的库文件,结果当把VTK的库文件添加到工程后,工程编译链接都原创 2012-07-14 16:50:52 · 1155 阅读 · 0 评论 -
vtk 开发实例
vtk 开发实例自己研究生期间做了些利用VTK开发的软件,功能如下:横断面,矢状面,冠状面显示,任意面剖切,GPU体绘制以及面显示,三维定位等等。 图1 ct头部血管造影---任意面直线剖切(可以任意曲线剖切) 图2 MRI 血原创 2012-05-24 21:31:40 · 4177 阅读 · 12 评论