1 概述
平台由许多子系统组成,下面将对一些主要的子系统进行介绍。本章的后半部分(在后续章节中)将对这些概念进行详 细介绍(注意:前面章节已经介绍了其他两个InsightDocuments 和 InsightApplications)。
2 基本概念
系统基本概念,像其他软件系统一样,ITK也是围绕一些核心设计概念创建的。重要的概念包括有:范型编程、内存管理智能指针、可修改对象实例的对象工厂、使用command/observer图表的事件管理和多线程支持。
3 数字化
数字化,ITK使用VXL的VNL数字类型库。通过NetlibFortran数字化分析路径(www.netlib.org) 就可以使用C++来编程。
4 数据表达和访问
数据表达和访问:有两个基本的类来表示数据:itk::Image和itk::Mesh。另外,有许多类型的迭代器和容器用来保持和转移数据。其他一些重要但不常用的类也可以用来表示数据,例如histograms和BLOX图像。
5 数据处理管道
数据处理管道,表示数据的类(数据对象)经过滤波器操作被组织进入数据流管道。这些管道保持静态并只在必要时才会运行。它们同样支持多线程和流动功能(例如:能将数据最小化到内存区域中)。
6 IO框架
IO框架,同数据处理管道相关联的是sources和mappers,sources是初始化管道的滤波器,mappers是终止管道的滤波器。sources和mappers的标准样例分别是readers和writters。 readers输入数据(通常从一个文件),而writters从管道输出数据。
7 空间对象
空间对象,ITK中使用空间对象层来表示几何图形。这些类支持解剖结构模式。使用一个普通的基本界面,空间对象就可以用不同的方式来表示空间区域。例如:网状结构、图像模块和用来作为潜在表达方案的暗含等式方程。空间对象是一个自然数据结构,它可以与图像分割结果相关联和对分割和配准方法事先做解剖介绍。
8 配准框架
配准框架,一个灵活的配准框架支持四种不同的配准类型:图像配准、多方式配准、基于PDE的配准和FEM(有限成员方法FiniteElementMethod)配准。
9 FEM框架
FEM框架,ITK包含有一个处理基本FEM问题的子系统,尤其是非严格配准。FEM工具包包含有网格定义(结点和成员)、载入和边界条件。
10 水平集框架
水平集框架,水平集框架是一个创建滤波器的类群,用来增加有限变换反复迭代的方法求解关于图像的偏微分方程。这个水平集框架由有限的几个不同的solvers组成,包括一个 稀疏的水平集solvers、一个通用水平集分割滤波器和一些特定的子类,这些子类包括基于阈值、Canny和拉普拉斯的方法。
11 封装
封装,ITK使用一个独特的、强有力的系统来生成一个界面(例如:封装),该界面用来解释像Tcl和Python之类的程序语言。GCC_XML工具用来产生一个对任何复杂C++代码的XML描述;然后使用CSWIG工具包将XML描述转化成封装。
12 辅助功能
辅助功能,在系统中有许多辅助子系统可以为其他类做支持。例如:计算机类产生特定的算子来为滤波器提供支持(例如:均值计算机计算一个样本的均值)。其他功能还包括有:一个偏DICOM剖析器、MetaIO文件支持、png、zlib、FLTK/Qt图像视窗和VTK系统界面。