VTK/ITK文章列表
几个概念
几何结构与拓扑结构
点:表示,几何结构 Geometry
线:是一种单元数据Cell ,表示拓扑结构 Topology。 拓扑结构具有几何变换不变性。
单元Cell
一系列有序的点按指定类型连接所定义的结构就是单元(Cell)。vtk所有的cell类型在vtkCellType.h中定义。vtkCell
属性数据FieldData
属性数据可以是某个空间点的温度值。
属性数据可分为标量scalars数据(一个分量)、矢量vectors数据(3个分量)、法向量normals、张量tensors数据、文本texture、坐标coordinates数据等几大类。
所有的属性数据都存储在vtkFieldData 中。
field data是一个二维数组;每一个元素是一个属性field;
每一个field的类型可能各不相同;
每一个field也是一个数组(vtkDataArray);
vtkFieldData <= vtkDataSetAttributes <= vtkPointData vtkCellData
vtkPointData 专门存储点属性,主要包括 (e.g., 标量scalars, 矢量vectors, 法向量normals, 文本texture, 坐标coordinates, 等) 本身不提供额外新的功能,全都由父类vtkDataSetAttributes提供。
数据集DataSet
DataSet = Points + Cells + FieldData
数据集=组织结构(几何结构:点集Points+拓扑结构Cell:线,面)
+属性数据(FieldData 标量scalar:温度、矢量vector、法向量)
可视化数据结构
规则与不规则
可视化数据可以分为规则(Regular)和不规则(Irregular)或者说结构化(Structured)和非结构化(Unstructured)。规则结构数据点之间有固定的关联关系,可以通过这些关联确定每个点的坐标,不规则结构数据之间没有固定的关联关系。
对于规则结构的数据,存储时不必存储所有的数据点,只需存储起始点、相邻两点之间的间隔以及点的总数就可以保存完整的数据信息。对于不规则结构的数据,虽然不可以像规则结构的数据那样存储,但它也有自身的优势,即在数据变化频繁的区域可以密集表示,而数据变化不频繁的区域则稀疏表示。规则结构的数据可以在存储及计算时占优势,不规则结构的数据虽然存储和计算时不能像规则结构的那样高效,但它在数据表达方面相对而言则更加自由,更加细致、灵活的表现数据。
拓扑维度
可视化数据的第三个特点是拓扑维度(Topological Dimension)。可视化数据具有零维、一维、二维、三维等任意维度。如,零维的数据表现为点,一维数据表现为曲线,二维数据表现为曲面,三维数据表现为体等。数据的维度决定了数据可视化的方法,如,对于二维的数据,可以将数据存储到一个矩阵,然后再采用针对二维数据的可视化方法进行可视化。
基本类型
scalars 是标量的意思,表示这类数据只有一个值
vectors 是矢量的意思,表示这类数据有三个值
大量高质量的示例代码:https://kitware.github.io/vtk-examples/site/Cxx/
VTK系统概述

VTK框架接口关系图

VTK基础数据类型
vtkPoints vtkPoints保存到文件vtkPDataSetWriter
[vtkDataArray vtkFloatArray]( "vtkDataArray vtkFloatArray")
[vtkVertex 顶点]( "vtkVertex 顶点") vtkVertex是cell的一种
vtkLine vtkLine 是cell的一种
[VTK单元类型cell type和数据集类型dataset type]( "VTK单元类型cell type和数据集类型dataset type")
vtkPolyData vtkPolyDataWriter 多边形数据集 :包括点集(几何结构)和单元集合(拓扑结构)
vtk绘制点云 附带点云数据下载链接
[vtkImageData 用管线修改局部图像]( "vtkImageData 用管线修改局部图像") vtkPNGWriter
[itk::Image itk::ImageToVTKImageFilter]( "itk::Image itk::ImageToVTKImageFilter") vtkPNGWriter 附图解释XY坐标位置
VTK Source资源类
[vtkPointSource 在空间中随机生成一些点]( "vtkPointSource 在空间中随机生成一些点")
[vtkPlaneSource 平面]( "vtkPlaneSource 平面")
vtkTriangle 三角形
VTK文件读写
VTK读取UnstructuredGrid.vtk文件数据显示
VTK显示DICOM文件(DCMTK自动读取窗宽窗位并设置)
QT
[VTK-1 源码编译与Example编译支持QT]( "VTK-1 源码编译与Example编译支持QT")
VTK算法过滤器
[vtkIntersectionPolyDataFilter 两多边形数据集的交线]( "vtkIntersectionPolyDataFilter 两多边形数据集的交线")
itk::ImageToVTKImageFilter
itk::VTKImageToImageFilter
[vtk曲线插值 vtkParametricSpline]( "vtk曲线插值 vtkParametricSpline")
[RelabelComponentImageFilter 重新对组分顺序编号]( "RelabelComponentImageFilter 重新对组分顺序编号")
[ScalarConnectedComponentImageFilter 连通区域]( "ScalarConnectedComponentImageFilter 连通区域")
相机
1 [vtk多窗口同步: 相机同步+共享数据]( "vtk多窗口同步: 相机同步+共享数据")
2 vtk多窗口同步[: 相机同步]( ": 相机同步")
3 vtk多窗口同步:相机同步+共享数据+contourWidget交互同步
交互
[vtkInteractors 鼠标键盘交互]( "vtkInteractors 鼠标键盘交互")
拾取
[vtkInteractorStyleRubberBandPick 类简介_小小脸庞的博客-博客]( "vtkInteractorStyleRubberBandPick 类简介_小小脸庞的博客-博客")
裁剪
[VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )]( "VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )")
vtkVolumeMapper类中提供了两种裁剪技术,分别为Cropping和Clipping
空间变换
[vtkTransform 空间变换]( "vtkTransform 空间变换")
显示
文字
[vtkCornerAnnotation 给图片添加文字信息]( "vtkCornerAnnotation 给图片添加文字信息")
交互对象
1 [vtkContourWidget 闭合曲线控制点交互]( "vtkContourWidget 闭合曲线控制点交互")
1.1 [vtkContourWidget 轮廓线]( "vtkContourWidget 轮廓线")
3 vtkImagePlaneWidget 任意位置截取界面交互对象
4 [vtkAxesActor 空间坐标轴对象]( "vtkAxesActor 空间坐标轴对象")
重建
医学图像处理
三种截面
曲面重建
1 [VTK-3 三维点云曲面重建]( "VTK-3 三维点云曲面重建")
VTK内存管理
[1.1 VTK内存管理与智能指针]( "1.1 VTK内存管理与智能指针")
VTK
下载:官方网站
ITK编译
[VTK-1 源码编译与Example编译]( "VTK-1 源码编译与Example编译")
运行时
常用工具
RadiAnt Dicom Viewer
英文语言主页:RadiAnt DICOM Viewer;中文语言主页:RadiAnt DICOM Viewer | ZH
DICOM文件
DCMTK

