vtk学习
peanut_wu
医疗行业
展开
-
可通过小球进行旋转的十字光标(vtkResliceCursor)
vtkResliceCursor vtkResliceCursorPicker vtkResliceCursorLineRepresentation vtkResliceCursorRepresentation原创 2024-06-17 16:55:50 · 367 阅读 · 0 评论 -
vtkLookupTable和图像透明度
【代码】vtkLookupTable和图像透明度。原创 2024-01-05 15:36:52 · 537 阅读 · 0 评论 -
vtkImageContinuousErode3D 和vtkImageDilateErode3D 图像的腐蚀和膨胀
代码分为两部分,一部分是服饰,一部分是用另一种方式进行腐蚀膨胀。可以提取代码进行运行。原创 2024-01-05 15:29:37 · 506 阅读 · 0 评论 -
vtkDicomReader设置图像像素在Z方向上的间距SetDataSpacing(double x,double y,double z)
但是,在处理从医院获取的CT数据时,却发现这组数据的Spacing Between Slices的Tag是没有值的。MR或CT等数据是三维的,在构建后的三维体数据vtkImageData中当SetSpacing()时,需要分别设置x,y和z方向上的像素间距。最终的解决方案时,在CT数据中,通过读取相邻两幅Dicom切片的Image Position(Patient), 然后将这两个Image Position进行相减,得到的结果中非零的那个值便是这个体数据在z方向的像素间距。原创 2023-02-16 13:55:36 · 423 阅读 · 0 评论 -
vtkImageViewer2 解析
vtkImageViewer2是一个非常有用而且也经常用的类,它简化了我们通过管线处理数据的工作,内部封装了vtkRenderWindow,vtkRenderer,vtkImageActor,vtkImageMapToWindowLevelColors等一些有用的类。原创 2022-09-20 17:00:56 · 1172 阅读 · 1 评论 -
模仿vtk的Widget控件,制作画矩形的控件
本文模仿vtkAffineWidget和vtkAffineRepresentation制作了vtkRectangleRepresentation2D,可以在MPR上画矩形框,并且可以移动和放大缩小。易用性上还有待改善,吾将继续努力!原创 2022-07-20 10:54:41 · 738 阅读 · 0 评论 -
利用 vtk 的控件画圆和矩形
代码改造了vtkAffineReprentation2D,使其在2d平面上可以画圆,和矩形。vtkAffineReprentation2D虽然也能画圆和矩形,但是不能放大缩小,也不能移动。本人改造了vtk代码使其可以放大缩小,更可以移动。原创 2022-07-20 10:39:25 · 1379 阅读 · 1 评论 -
为切面叠加颜色
先上代码:onDisplayColorMprPixel(vtkImageViewer2* imageViewer, vtkImagePlaneWidget* imagePlane,int slicerIndex){ vtkSmartPointer<vtkImageViewer2> viewerLayer = vtkSmartPointer<vtkImageViewer2>::New(); //viewerLayer->SetRenderWindow(..原创 2022-01-25 17:51:53 · 318 阅读 · 1 评论 -
设置vtkActor中心,使其绕Actor中心旋转,并通过鼠标平移
主要代码如下:void vtkAssemblyInteractorStyleActor::OnMouseMove(){ if (!m_bLBtnDown) //没有按下鼠标左键 { vtkInteractorStyleTrackballActor::OnMouseMove(); return; } int X = this->Interactor->GetEventPosition()[0]; int Y =...原创 2021-07-29 12:07:23 · 3292 阅读 · 7 评论 -
举报抄袭!!!
https://blog.csdn.net/it_xiangqiang/article/details/116381440抄袭官方例子https://kitware,github.io/vtk-examples/site/Cxx/GeometricObjects/Circle/希望CSDN官方严厉惩戒。原创 2021-07-03 15:33:40 · 244 阅读 · 0 评论 -
VTK 模型的旋转与平移
当从外界读入STL等三维模型时,其会按照它内部的坐标位置进行显示。因此它的位置和大小是确定的。但是在实际应用中,有可能需要人为地对这个模型在空间中进行旋转、平移或缩放等操作。VTK中有许多和旋转、平移相关的函数,下面一一进行测试。RotateX、RotateY、RotateZ(绕自身坐标轴旋转) Rotate the Prop3Din degreesabout the X/Y/Z axis using theright hand rule. The axis isthe Prop3D's X...转载 2021-06-30 16:28:31 · 5724 阅读 · 2 评论 -
glClearColor和glClear函数区别
OpenGL的glClearColor和glClear改变背景颜色结合以下两个函数void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);和void glClear(GLbitfield mask);前一个函数设置好清除颜色,后者利用前一个函数设置好的当前清除颜色设置窗口颜色...原创 2021-06-19 16:54:57 · 625 阅读 · 0 评论 -
vtk中的剪裁
在VTK中,我们通常需要的并不是严格标准的几何体,我们需要对这些几何体进行加工,修改其内容,得到我们想要的效果,下面结合例子介绍如何在VTK中实现对几何体的裁剪。要对几何体进行裁剪,需要建立好几何体模型,然后定义一个隐函数,利用vtkClipPolyData,通过隐函数vtkImplicitFunction实现对模型的裁剪,在vtk中,类似vtkPlane,vtkSphere,vtkCylinder这些后面没有Source的类,都是隐函数类。 #include "vtkActor.h"原创 2020-10-22 14:08:42 · 962 阅读 · 0 评论 -
利用vtkwidget 实现剪裁
利用vtkwidget 实现剪裁 1 利用vtkwidget 剪裁步骤 2 利用vtkwidget 剪裁模型展示 3 利用vtkwidget 剪裁模型代码 4 利用vtkwidget 剪裁影像展示 5 利用vtkwidget 剪裁影像代码 1 利用vtkwidget 剪裁步骤实现剪裁需要三步: 输入被剪裁模型; 被剪裁数据一般有: 影像(vti/vtr格式 dcm/图片/矩阵 等数据)、 模型(vtp/vtu格式 stl.转载 2020-10-21 17:28:40 · 1463 阅读 · 2 评论 -
VTK读取并显示一张图片的两种方法,最后写成一张图片
#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkRenderingFreeType)VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2)#include <vtkSmartPointer.h>#include <vtkPNGReader.h>.原创 2020-07-15 17:52:10 · 1007 阅读 · 0 评论 -
DICOM图像读取,平滑,区域连接,与运算,最后写成DICOM格式图像
#include "vtkSmartPointer.h"#include "vtkRenderWindow.h"#include "vtkAutoInit.h"#include "vtkRenderer.h"#include "vtkRenderWindowInteractor.h"#include "vtkVolume.h"#include "vtkGPUVolumeRayCast...原创 2020-04-21 14:52:29 · 407 阅读 · 0 评论 -
碰撞检测----------PointInsideObject
#include <vtkVersion.h>#include <vtkPolyData.h>#include <vtkPointData.h>#include <vtkCubeSource.h>#include <vtkSmartPointer.h>#include <vtkSelectEnclosedPoints.h...转载 2020-04-10 10:38:52 · 263 阅读 · 0 评论 -
碰撞检测-----Game
#include <vtkVersion.h>#include <vtkSelectEnclosedPoints.h>#include <vtkRendererCollection.h>#include <vtkPointData.h>#include <vtkPolyDataMapper.h>#include <vtk...转载 2020-04-10 10:36:46 · 429 阅读 · 0 评论 -
碰撞检测
#include <vtkVersion.h>#include <vtkProperty.h>#include <vtkCellArray.h>#include<vtkPolyDataMapper.h>#include<vtkDelaunay3D.h>#include <vtkSphereSource.h>#in...转载 2020-04-10 10:34:26 · 429 阅读 · 1 评论 -
三维体渲染颜色不透明度调整
先上图片:再上代码:vtkSmartPointer< vtkRenderer > aRenderder = vtkSmartPointer< vtkRenderer >::New(); vtkSmartPointer< vtkRenderWindow > aRenWin = vtkSmartPointer< vtkRenderWindow ...原创 2020-03-27 15:39:28 · 874 阅读 · 7 评论 -
VTK之图像的计算
VTK里提供了许多对一个或多个图像的像素进行计算的类数学计算通过 vtkImageMathematics 类来对图像进行一元或二元计算一元计算auto imageMath = vtkSmartPointer<vtkImageMathematics>::New();imageMath->SetInputConnection(reader->GetOutpu...转载 2020-03-17 08:35:46 · 464 阅读 · 0 评论 -
医学三维图像几种格式的区别
dcm (DICOM Image,only Read): DICOM的 全 称 是 Digital Imaging and Communications in Medicine (DICOM),它是用于处理,存储,打印,和在医学成像发送信息的标准 ,它包括文件格式定义和一个网络通信协议。至于文件格式定义,可以参考其他资料。mha/mhd(Meta Image): 它指定表示该元信息中关于像素数...原创 2020-02-28 15:34:38 · 3437 阅读 · 0 评论 -
窗宽窗位到底是什么
1. 为什么有窗宽窗位?医学图像领域的关键技术窗技术,是CT检查中用以观察不同密度的正常组织或病变的一种显示技术,包括窗宽(window width)和窗位(window level)。由于各种组织结构或病变具有不同的CT值,因此想要显示某一组织结构细节时,应该选择适合观察该组织或病变的窗宽和窗位,以获得最佳显示。这里写图片描述2. 窗宽窗宽是CT图像上显示的CT值范围,在此C...原创 2020-02-27 16:29:08 · 37137 阅读 · 4 评论 -
为什么把一个序列的DICOM数据有short型转化成 unsigned char型以后,重建失败,不做类型转换也是少了3Kb,请教大神?
#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingContextOpenGL2)VTK_MODULE_INIT(vtkRenderingFreeType)#include "i...原创 2020-02-20 18:53:30 · 307 阅读 · 0 评论 -
vtk多平面重建(MPR)源码
#include "vtkSmartPointer.h"#include "vtkActor.h"#include "vtkCamera.h"#include "vtkCellPicker.h"#include "vtkCommand.h"#include "vtkImageActor.h"#include "vtkImageReslice.h"#include "vtkInter...原创 2020-02-20 09:29:22 · 2614 阅读 · 0 评论 -
三正交面
此代码来源于《三维图像编程实验》周振环 郑小中 赵明著 ,第三章,三正交面。但是源码没有显示冠状面,失状面,横断面,随怀疑出错,修改后如下,貌似正确。#include "vtkAutoInit.h"VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRend...原创 2019-12-20 17:59:37 · 693 阅读 · 0 评论 -
VTK读取DICOM序列转换成vtkPolyData数据类型
#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2);VTK_MODULE_INIT(vtkRenderingFreeType);VTK_MODULE_INIT(vtkInteractionStyle);#include "vtkVolume16Reader.h"#include "vtkRenderWind...原创 2019-12-13 15:46:54 · 1436 阅读 · 4 评论