Advertisement

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交互框架图

1 VTK第一个可视化例子

VTK基础数据类型

vtkPoints vtkPoints保存到文件vtkPDataSetWriter

[vtkDataArray vtkFloatArray]( "vtkDataArray       vtkFloatArray")

vtkCell

[vtkVertex 顶点]( "vtkVertex 顶点") vtkVertex是cell的一种

vtkLine vtkLine 是cell的一种

vtkCellArray

[VTK单元类型cell type和数据集类型dataset type]( "VTK单元类型cell type和数据集类型dataset type")

vtkPolyData vtkPolyDataWriter 多边形数据集 :包括点集(几何结构)和单元集合(拓扑结构)

vtkUnstructuredGrid

vtk绘制点云 附带点云数据下载链接

[vtkImageData 用管线修改局部图像]( "vtkImageData  用管线修改局部图像") vtkPNGWriter

[itk::Image itk::ImageToVTKImageFilter]( "itk::Image itk::ImageToVTKImageFilter") vtkPNGWriter 附图解释XY坐标位置

vtkPlane 平面

VTK Source资源类

[vtkPointSource 在空间中随机生成一些点]( "vtkPointSource 在空间中随机生成一些点")

[vtkPlaneSource 平面]( "vtkPlaneSource 平面")

vtkTriangle 三角形

vtkSphereSource 球体

VTK文件读写

VTK读取UnstructuredGrid.vtk文件数据显示

VTK显示DICOM文件(DCMTK自动读取窗宽窗位并设置)

QT

[VTK-1 源码编译与Example编译支持QT]( "VTK-1 源码编译与Example编译支持QT")

vtkRenderWindow在QT中显示

2 QT加载显示DICOM文件浏览

VTK算法过滤器

[vtkIntersectionPolyDataFilter 两多边形数据集的交线]( "vtkIntersectionPolyDataFilter 两多边形数据集的交线")

itk::ImageToVTKImageFilter

itk::VTKImageToImageFilter

[vtk曲线插值 vtkParametricSpline]( "vtk曲线插值 vtkParametricSpline")

vtk坐标变换:由UI鼠标位置得到一个像素的像素值

[RelabelComponentImageFilter 重新对组分顺序编号]( "RelabelComponentImageFilter 重新对组分顺序编号")

[ScalarConnectedComponentImageFilter 连通区域]( "ScalarConnectedComponentImageFilter 连通区域")

vtkSmoothPolyDataFilter网格平滑

vtkContourFilter等值面(线)

相机

0 vtkCamera相机原理

1 [vtk多窗口同步: 相机同步+共享数据]( "vtk多窗口同步: 相机同步+共享数据")

2 vtk多窗口同步[: 相机同步]( ": 相机同步")

3 vtk多窗口同步:相机同步+共享数据+contourWidget交互同步

交互

[vtkInteractors 鼠标键盘交互]( "vtkInteractors 鼠标键盘交互")

VTK鼠标键盘事件

拾取

vtkPropPicker拾取功能

[vtkInteractorStyleRubberBandPick 类简介_小小脸庞的博客-博客]( "vtkInteractorStyleRubberBandPick 类简介_小小脸庞的博客-博客")

裁剪

[VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )]( "VTK: 选取区域裁剪(vtkAreaPicker + vtkInteractorStyleRubberBandPick )")

vtkVolumeMapper类中提供了两种裁剪技术,分别为Cropping和Clipping

空间变换

[vtkTransform 空间变换]( "vtkTransform 空间变换")

显示

vtkRenderWindow切分屏幕(分屏)

vtkProperty

vtkLookupTable颜色映射表

用vtkUnstructuredGrid的属性对其进行着色

VTK重绘刷新机制模型数据改变重绘窗口

文字

[vtkCornerAnnotation 给图片添加文字信息]( "vtkCornerAnnotation 给图片添加文字信息")

交互对象

VTK Widgets Tutorials

VTKExamples-Widgets

1 [vtkContourWidget 闭合曲线控制点交互]( "vtkContourWidget 闭合曲线控制点交互")

1.1 [vtkContourWidget 轮廓线]( "vtkContourWidget 轮廓线")

2 vtkBoxWidget2立方体边框交互

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编译")

VTK编译问题解决

ITK编译注意

运行时

VTK宏初始化渲染组件(不然出不来图像)

Python安装VTK

常用工具

图象处理工具介绍

RadiAnt Dicom Viewer

英文语言主页:RadiAnt DICOM Viewer;中文语言主页:RadiAnt DICOM Viewer | ZH

DICOM文件

DICOM公开资源文件下载

DCMTK

DCMTK下载

DCMTK编译

dcmtk读写dicom文件头与文件内容

全部评论 (0)

还没有任何评论哟~