摘要:vtkTransform描述通过一个 4 × 4 矩阵的线性变换VtkTransform 可以用于描述线性的完整范围 (也称为仿射) 坐标转换在三个维度,内部表示为 4 x 4 齐次变换矩阵。当您创建新的 vtkTransform 时,它总是初始化为标识转换。SetInput() 方法允许您设置另一种转换,替换身份转换。有一个管道机制来确保当修改输入,则当前转换将相应更新。这种管道机制也支持由 Concatenate() 方法。在 PostMultiply 模式下,额外的转换将由当前矩阵表示任何转换之后发生。此类执行所有业务在右手坐标系中用右手旋转。剩下的一些图形库使用左手坐标系统和
阅读全文
摘要:vtkRotationalExtrusionFilter 是一个建模筛选器。它采用多边形数据作为输入,并生成输出的多边形数据。输入数据集是围绕 z 轴扫描出来的,以创建新的多边形基元。这些基元构成一个"裙边"或扫掠的曲面。例如,扫描一个线作为输入数据,环绕z轴扫描一圈就创建圆环的多边形的数据。此筛选器有许多参数可以设置。您可以控制是否 2D 对象 (即,多边形或三角地带) 的扫描上铺的生成几何通过"旋盖"的实例变量。另外,您可以控制旋转,角度和旋转以及是否执行沿 z 轴的平移。(平移是以创建类似"弹簧"的螺旋样式模型非常有用)。您还可
阅读全文
摘要:vtkTexturedSphereSource创建一个中心点在原点球体的。在两个(φ)的纬度和经度(θ)方向上,可以分别设定分辨率(多边形离散化)。它也可以通过指定部分领域最大φ和θ波的角度,创建半球体。基本方法:SetRadius(20) 设置球体直径SetThetaResolution(40) 设置维度上的分辨率 SetPhiResolution(40)设置经度上的分辨率SetTheta(100)设置最大的经度角SetPhi(10)设置最大的维度角例子:#-*- coding: UTF-8 -*-#--------------------------------------------..
阅读全文
摘要:vtkTextSource 转换一个字符串成poly data。基本方法:SetText('Hello, welcome') 设置显示的文本内容SetForegroundColor(0.1, 1.0, 0.5) 设置文本的颜色etBackgroundColor(1.0, 0, 1.0) 设置文本的背景色例子:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: 模块2# Purpose:## Author: ...
阅读全文
摘要:vtkSuperquadricSource创建以原点为中心的多边形超二次曲面,可以设置尺寸。可以设置两个(φ)的纬度和经度(θ)方向的分辨率(多边形离散化)。浑圆度参数(纬度浑圆度和经度浑圆度)控制超二次曲面的形状。环形布尔值控制是否产生环形的超二次曲面。如果是的话,厚度参数控制的厚度的环形:0是最薄的环形,和1具有最小尺寸的孔。缩放尺度参数允许超二次曲面,在x,y,和z(在任何情况下,正确地生成法线向量)进行缩放。 尺寸参数控制的超二次曲面的size。原理是基于“刚性基于物理的超二次曲面”,AH巴尔,在“图形宝石III”,大卫柯克,编,科学出版社,1992年。基本方法: SetCenter.
阅读全文
摘要:vtkPointSource用来创建围绕特定中心点,特定直径的和特定数量点集合组成的球体。默认点是随机分布在球体里面。也可以生产的点只分布在球面上。基本用法:SetRadius()设置球体半径SetCenter()设置球体中心点SetNumberOfPoints()设置球中的点的个数SetDistributionToUniform()设置点的分布在球体内SetDistributionToShell()设置点分布在球面上。例子:#-*- coding: UTF-8 -*-#--------------------------------------------------------------
阅读全文
摘要:vtkPlaneSource创建一个平面的四边形的数组。vtkPlaneSource创建一个m×n阵列表示的一个平面上的四边形。改平面指通过指定一个起点,然后和其他两个点,定义了两个轴的向量。这两个向量不一定是正交的,但是必须不平行的一个四边形。 可以控制的ivars XResolution和YResolution来调节平面的分辨率(即,细分数)。缺省情况下,平面的中心在原点并垂直于z轴,长度为1和分辨率设置为1的宽度和高度。有三种方便的方法,让您可以轻松设置平面。第一,SetNormal(),允许指定平面的法向量。沿着法向量旋转平面。第二,SetCenter(),平移到指定的中心点
阅读全文
摘要:vtkOutlineSource创建一个线框的形状盒子。通过SetBounds()方法可以设置边界盒的长高宽。通过SetCorners()方法可以设置边角的弧度形状。例子:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: outlineActorFactory package# Purpose: 通过两个点,创建一条直线## Author: ankier## Created: 08-12...
阅读全文
摘要:vtkLineSource 通过两点(x, y, z) 来创建一条线的poly data。基本方法: SetPoint1,SetPoint2设置先的2个端点。virtual voidSetPoint1 (double, double, double)virtual voidSetPoint1 (double[3])virtual double *GetPoint1 ()virtual voidGetPoint1 (double data[3])virtual voidSetPoint2 (double, double, double)virtual voidSetPoint2 (double.
阅读全文
摘要:vtkImageCanvasSource2D 数据源,开始创建一个空白的图像. 可以再上面画很多图像,如果线,管子,正方形,圆形等。基本方法: SetScalarTypeToUnsignedChar:设置值类型为无符号字符 SetDrawColor:设置画刷颜色 FillBox(0,511, 0,511)背景方块 FillTube(500,20, 30,400, 5)有宽度的线段 DrawSegment(10,20, 500,510)线段 DrawCircle(400,350, 80.0)园周 FillPixel(450,350)填充 FillTriangle(100,100...
阅读全文
摘要:vtkEarthSource 数据源,用圆球形的样式来生产地铁的版块轮廓形状。基本方法:virtual voidSetRadius (double)virtual doubleGetRadius ()virtual voidSetOnRatio (int)virtual intGetOnRatio ()Radius设置地球的半径长度OnRatio设置地球显示的精确程度 0~16, 值越小,显示越精确。例子:#-*- coding: UTF-8 -*-#------------------------------------------------------------------------
阅读全文
摘要:OutlineFactory 一个简单的atamai提供的ActorFactory。这个factory用来画一个数据集的盒装边界。它使用的是vtk的类之一vtkOutlineFilter。派生于:ActorFactory构造方法:OutlineFactory()常用的公共方法: SetInput(*data*) -- 设置要产生边界的数据集 GetInput() -- 返回该数据集 SetColor(*color*) -- 设置边界的颜色 RGB GetColor() -- 返回边界的颜色。
阅读全文
摘要:1. 从vtk官网中下载VTK5.10.1及VTKData5.10.1。 http://www.vtk.org/VTK/resources/software.html2.解压缩到目录,并创建一个fold存放cmake生成出来的projects文件。fold的目录层次如下:3. 安装Python的头文件和静态库包:sudo apt-get install python-dev ubuntu12.0系统自带了python2.7的版本,不过缺少一个文件patchlevel.h。需要从copy一份并放 在/usr/lib/python2.7下面。4.cmake及cmake-gui的安装 s...
阅读全文
摘要:RenderPane是一个3D显示的类, 它可以包含窗口部件(如按钮), 3D类型的指针形状,而且主要是用来关联与绘制ActorFactories的。每个RenderPane和vtk的类vtkRender是1:1对应得关系。一个PaneFrame可以包含多个RenderPane,通常的用法师一个PaneFrame只包含一个RenderPane。在了解RenderPane的坐标系变换之前,先了解下欧式几何和透视几何。在欧式空间里,两条共面的平行线无法相交的,然而在透视几何里,他们最终在地平线相交到了一起,也就是说它们在无限远处相交。这种现象就是透视。因此,数学家August Ferdinand
阅读全文
摘要:wxPaneFrame --一个视窗窗口类。该类提供了atamai 的renderpane与wxPython的交互能力。wxPaneFrame的一般使用方式:
阅读全文
摘要:VolumeFactory –使用颜色转换函数的体绘制,使用VTK内建的体绘制函数。加速纹理体绘制可以再用户和体数据交互频繁的情况下使用,对用高质量图像的体绘制方法可以选择光线投射体绘制方法(ray-cast volume rendering)派生于ActorFactory构造方法:VolumeFactory()公共方法:SetInput() 设置一个vtkImageData作为输入源GetInput() 获得输入源SetRenderingMode() 设置绘制模式,'Texture' or 'RayCast'GetRenderingMode() 获得当前绘制模
阅读全文
摘要:ActorFactory, 3D可视化对象的基类。采用了设计模式中的工厂模式,一个ActorFactory可以用来组装不同的Actors。ActorFactory一个可视化对象,可以同时被显示在一个或者多个RenderPanes里。ActorFactory可以组装许多vtkActors。每次把ActorFactory连接显示到RenderPane,ActorFactory将为这个RenderPane产生新的vtkActors副本。ActorFactories也可以按分级体系的创建。例如:几个ActorFactories可以一起作为一个parent的ActorFactory的Children,可
阅读全文
摘要:Atamai是完全基于VTK及脚本语言Python,面向计算机辅助医疗特别是手术导航的应用系统的中间平台。Atamai的所处在医疗系统框架的位置如下:Atamai类层次结构如下:Atamai以事件为主线,以事件为驱动,EventHandler是所有类的根类。其三个核心类是:ActorFactory、RenderPane、PaneFrame,它们与VTK对应的关系如下:Atamai架构主要类介绍:(1 )EventHandler 解析 主要功能,一是定义事件Event类及EventHandler类。定义EventHandler类的相关常量EventModifier /EventType;二定义E
阅读全文
摘要:VTK—体绘制VTK主要提供了三种体绘制技术,除了光线投射法外,还有二维纹理映射和基于VolumePro硬件辅助的体绘制。光线投射法是一种基于图像空间扫描的,生成高质量图像的典型的体绘制算法,基本思想是从图像平面的每个像素都沿着视线方向发出一条射线,此射线穿过体数据集,按一定步长进行采样,由内插计算每个采样点的颜色值和不透明度,然后由前向后或由后向前逐点计算累计的颜色值 和不透明度值,直至光线完全被吸收或穿过物体。该方法能很好地反映物质边界的变化,使用Phong模型,引入镜面反射、漫反射和环境反射能得到很好的光照 效果,在医学上可将各组织器官的性质属性、形状特征及相互之间的层次关系表现出来,从
阅读全文