ITK之目录结构

353 阅读3分钟

1 概述

为了开始你的 ITK 之旅,首先你需要了解 ITK 的软件和目录结构。即使你安装了预编 译库,这也将对你通过基本编码寻找实例、程序编码及文件有很大的帮助。

ITK 分为几个不同的模块或 CVS(Concurrent Version System,并行版本系统的缩写)校验区。官方或光盘版本有三大主要模块:Insight、 InsightDocuments 和 InsightApplications 模块。Insight 模块包括有源代码、实例及应用; InsightDocuments 模块中包括文件、指南、ITK 设计、市场的相关材料;InsightApplications模块中包含有 ITK(与其他如 VTK、Qt 和 FLTK 系统)的综合复杂应用。通常只需工作在 Insight 模块,开发者、培训课程者和许多设计文件的细节查找者除外。只有当 Insight 模块 的程序可以正常运行才能下载和编译 InsightApplications 模块。

2 目录结构

Insight 模块包含以下子目录:

  • Insight/Auxiliary——工具包到 ITK 的界面代码。
  • Insight/Code——软件的核心。主要源代码的位置。
  • Insight/Documentation——用户开始 ITK 获得文献的简洁的子集。
  • Insight/Examples——一系列样例、这本指南使用的和阐述重要 ITK 概念的文献样例。
  • Insight/Testing——用来测试 ITK 的大量小程序。这些例子是最低限度的文献,但可 以帮助示例许多系统概念。DART使用这些测试来生成ITK Quality Dashboard(见第14.2 节)。
  • Insight/Utilities——ITK 源代码的支持软件。例如 DART 和 Doxygen 支持, 如 png 和 zlib 库一样。
  • Insight/Validation——一系列包含用来产生结果的源代码的 validation 案例学习。
  • Insight/Wrapping——支持 CABLE 封装工具。ITK 使用 CABLE 来创建 C++库和许多 编译语言(支持当前的 Tcl 和 Python 语言)之间互译的界面。 在 Insight/Code 中可以找到的源代码目录结构对了解隐藏在 Insight/Code 中的其他目录 结构(如 Testing 和 Wrapping 目录)是非常重要的。
  • Insight/Code/Common——核心类、大量的定义、声明和 ITK 中其他重要的软件结构。
  • Insight/Code/Numerics——数学库和支持类(注意:ITK 的数学库是基于 VXL/VNL 的软件包 vxl.sourceforge.net)。
  • Insight/Code/BasicFilters——基本的图像处理滤波器。
  • Insight/Code/IO——支持读写数据的类。
  • Insight/Code/Algorithms——大部分分割和配准算法的位置。
  • Insight/Code/SpatialObject——使用空间关系表达和组织数据的类(例如:脊椎骨和腿 骨的组织结构等)。
  • Insight/Code/Patented——这里提供申请专利的算法,使用这些算法进行应用需要一个 专利号。
  • Insight/Code/Local——开发者使用的空目录,用户实验的新代码。 InsightDocuments 模块包含以下子目录:
  • InsightDocuments/CourseWare——与 ITK 教学相关的材料。
  • InsightDocuments/Developer——覆盖 ITK 设计和创建的历史文献,包括进程报告和设 计文献。
  • InsightDocuments/Latex——像其他文献一样产生这个指南的 LATEX 风格。
  • InsightDocuments/Marketing——用于简单描述 ITK 的市场材料和文献。
  • InsightDocuments/Papers——与 ITK 中使用的大量的算法、数据表达和软件工具相关 的论文。
  • InsightDocuments/SoftwareGuide—— 用来创建这个指南的 LATEX 文件(注意在 Insight/Examples 中找到的文件用来和 LATEX 文件关联)。
  • InsightDocuments/Validation——使用 ITK 的 validation 案例学习。
  • InsightDocuments/Web —— www.itk.org 上找到的网站工具包的 HTML 源和其他 材料。

与 Insight 模块相类似,也可以使用命令经 CVS 来访问 InsightDocuments 模块(在 UNIX 和 Cygwin 系统下),命令如下:

cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight co InsightDocuments 

InsightApplications 模块包含有大量相关的、复杂的 ITK 使用实例。网页 www.itk.org/HTML/Applic… 上有相关的描述。其中有些应用需要使用 Qt 和 FLTK 之类的 GUI 研发平台或者如 VTK 之类的研发平台(VTK 网站 www.vtk.org)。 只有当 Insight 模块创建成功后才能进行模块的编译和创建。

与 Insight 模块和 InsightDocuments 模块相类似,也可以使用命令经 CVS 来访问 InsightApplications 模块(在 UNIX 和 Cygwin 系统下),命令如下:

cvs -d:pserver:anonymous@www.itk.org:/cvsroot/Insight \co InsightApplications