Build ITK-SNAP4.0 Windows系统下源码编译

安装流程主要参考了两篇文章:
一个是官方的文档
http://www.itksnap.org/pmwiki/pmwiki.php?n=Documentation.BuildingITK-SNAP
一个是CSDN上的一篇3.8安装文档
https://blog.csdn.net/diry/article/details/118251252?spm=1001.2014.3001.5506


1. 准备

1.1 安装环境

  环境为个人使用的环境,可能与实际需要的最低要求不同。
  不过itk-snap为22年6月更新的最新版本,建议都使用当前最新的环境。

均为64位:Python3.9.2vs2019 16.11 communityqt6.2.2cmake3.25git2.38.1

  在安装过程中好像也遇到过一次python版本问题,好像是还需要python2的环境,在准备阶段也可以把python2配置好。
  此外,如果是安装的3.8版本,vs需要使用2017,不然在最后编译不会成功,其他相关软件也需要降低版本。此版本itksnap是需要用到itk5.2.1,itk需要qt6,qt6又需要vs2019.

1.2 其他软件

  除了上述提到的软件,还需要VTK、 ITK 、cURL 、HDF、 OpenCV 、OpenCL .
  笔者个人使用的具体版本如下:

VTK9.1.0ITK5.2.1cURL7.86.0、 hdf-1.10.6、 opencv3.4.14、 opencl2020.3.494
(文中使用的部分图像是ITK-SNAP3.8版本对应的软件版本,做参数更改参考即可)

  然后就是主角ITK-SNAP4.0的源码

1.3 文件夹结构

  笔者在安装过程中,一开始很多安装路径和文件存放都是默认存放,导致所有路径都很混乱,第一次安装的过程中多次出错,在二次安装的时候就重新划了一块磁盘出来,把文件路径给弄好,也可以避免安装有遗漏,自己也能更好地去找到一些文件。
  在使用cmake编译以上软件的时候可能会出现路径名过长的错误,所以在前期一定要做好路径分类和命名。
  可能需要预留较大的空间,我前前后后安装下来可能花了80G左右的空间(QT源码编译安装后占据了大部分),主要是编译后文件量是非常多的。
  笔者自己的分类方式如下,可做参考:


2. 前序安装

2.1 vs2019

  vs2019的安装注意在组件选择的时候注意把v142tools和cmake相关的组件勾选上。
  如果已经安装好了vs2019,就选择

菜单栏 --> 工具 --> 获取工具和功能 --> 单个组件

  在这里进行搜索就行

2.2 QT、CURL、VTK、OpenCV的安装

2.2.1 Cmake安装简述

  git cmake python hdf5 opencl这些都是下载后直接点击setup一步步安装在此就不赘述了。

  接下来的安装过程最好是按照QT-> CURL -> VTK -> OpenCV -> ITK -> ITK-SNAP的顺序来进行安装,主要是因为VTK需要QT的路径,OpenCV里的参数需要填VTK的目录,ITK的参数需要QT、VTK和OpenCV的目录,ITK-SNAP需要QT、CURL、VTK、OpenCV、ITK的路径。


  Cmake安装流程也很简单(以curl为例):

这里先示范Cmake的用法和安装流程,具体的参数在这个小部分之后有,要结合具体参数更改来进行其他项目的安装

  1. where is the source code 一栏选择源码所在的目录,也就是有cmakelist.txt文件的那个文件夹。
  2. where to build the binaries:选择刚刚创建好的build目录,configure的内容会存到这个目录里去
  3. 选择好后,点击configure, 第一次configure的时候需要选择generator
  1. 可能会报错,注意看报错信息,同时把展示的红色参数都进行修改添加,编辑好了再点configure,直到没有红色参数出现且下边框里显示 configuring down
  1. configure之后选择generate,出现generating down之后点击open project就可以进入工程文件了。

  2. 进入工程文件后先选择ALL_BUILD项目右键生成,生成成功后又选择INSTALL项目右键生成,这里可能会花费较多的时间。如果都没问题就会在cmake阶段的参数CMAKE_INSTALL_PREIFX所指向的文件夹进行安装创建bin,include,lib等文件夹。

2.2.2 参数修改提示【重要】

  • 【针对所有安装】
    1. 建议指定安装目录CMAKE_INSTALL_PREIFX,默认安装目录在系统盘,直接open project可能遇到权限问题,如果是在系统盘安装,在使用vs打开的时候可能需要用管理员权限打开。
  1. 有个参数叫BUILD_DOCUMENTS是创建说明文档的,可以不选择,选择了的话还需要别的软件dxygen才能运行。


  • 【针对VTK、ITK、ITK-SNAP】

    1. VTK和ITK安装的时候可能需要在参数中选择qt版本,并添加参数CMAKE_PREFIX_PATH,参数指向QT安装目录的cmake模块,例如G:\TK\QT\QT-install\QT6.2.2\msvc2019_x64\lib\cmake

    2. QT5的5.5之后,qt移除了Qtwebkitwidgets,并用webenginewidgets替代,所以如果在cmake过程中有红色的参数提示没有找到这个文件夹(即报错Qt5WebKitWidgets),就需要自己去下载Qtwebkitwidgets模块并放到该文件夹里,再手动配置该参数。下载地址在这



  • 【针对VTK】除此之外,VTK的参数还有以下几个需要指定

VTK_GROUP_ENABLE_Qt : YES
VTK_MODULE_ENABLE_VTK_GUISupportQtQuick : NO
VTK_MODULE_ENABLE_VTK_GUISupportQtSQL : NO
VTK_REQUIRED_OBJCXX_FLAGS : an empty string
Module_vtkGUISupportQT : YES



  • 【针对OpenCV】
    1. opencv的构建的时候,需要额外下载opencv_contrib,3.4.14下载地址。下载完成后进行解压,在opencv构建的时候,需要修改参数OPENCV_EXTRA_MOUDLES_PATH并将该路径指向解压的contrib文件夹中的modules文件夹
  1. 参数WITH_VTK勾选后进行configure,会再提示没有找到VTK_DIR,所以也要添加这个参数,指向VTK的build文件夹。

  在该板块笔者遇到的问题大致是这些,如果之后发现新的问题会继续补充

2.3 ITK安装

  编译itk的步骤和前面几个基本是一致的,单独放过来是因为itk的参数里面可能需要填写qt、vtk、opencv的路径。
  ITK的安装也应该在QT、VTK、OpenCV全部生成成功且INSTALL项目运行成功后。

参数:

Module_MorphologicalContourInterpolation : TRUE
ITKVtkGlue 勾选
OpenCV_DIR 选择opencv的build文件夹
ITKOpenJPEG 勾选
ITKVideoBridgeOpenCV 勾选
新建CMAKE_PREFIX_PATH参数,,参数指向QT安装目录的cmake模块,例如G:\TK\QT\QT-install\QT6.2.2\msvc2019_x64\lib\cmake
建议更改CMAKE_INSTALL_PREFIX路径,即自定义安装路径


以上参数更改后进行configure,会提示一些DIR路径没有找到
VTK_DIR
OPENCV_DIR


  通过cmake构建生成后打开vs进行ALL_BUILD就行,再运行INSTALL项目。


3. ITK-SNAP

3.1 源码获取

  从cmd里cd到前面创建的itk-snap文件夹中

 git clone --recursive git@github.com:pyushkevich/itksnap.git itksnap

  在使用git获取源码的时候可能会遇到could not read from remote repository,这种直接重新生成一次ssh key并配置一下github账户就行。

3.2 submodules

  直接克隆下来的源码里面缺少了submodules,所以还需要获取这个内容。
  cd进入到刚刚克隆源码的目录,使用如下命令就行:

git submodule init
git submodule update

3.3 cmake编译

  cmake的过程和前面的基本一样,也主要是注意几个参数的修改

CMAKE_INSTALL_PREFIX : 自定义为自己的安装目录
CMAKE_PREFIX_PATH : 添加这个参数,指向QT安装目录里的cmake模块
CURL_DIR ITK_DIR VTK_DIR OpenCV_DIR可能都需要设定一下,定位到``build`目录就行
有可能还会遇到qt相关的参数,qt版本选择我们安装的6就行,然后部分qt模块没找到文件夹的,参考找到的路径去对应目录下找就行

  完成configure后点generate接着open project

3.4 运行

  生成ALL_BUILD,
  可能会遇到几个错误,笔者遇到的其实就是字符转码问题,有引号的缺失,根据错误提示找到对应的文件,把错误字符删去补充正确的引号就行。

  接着把ITK-SNAP 右键设置为启动项,运行这个项目就行。
  要想运行成功,可能需要把 Opencv, itk, vtk, curl 的build\bin\debug目录下的 dll文件拷贝到 itk-snap-build\Debug 目录下。
请添加图片描述

  然后笔者遇到一个比较久的错误就是一直报错LNK2019 找不到curl的相关函数。
解决方案:
  右键项目属性–>链接器–>输入 :在该界面的附加依赖项里面去添加libcurl-d_imp.lib文件,这个文件应该是在curl的build文件夹下lib/debug文件夹中。

在这里插入图片描述

  在解决这个问题之后,也就可以成功运行软件了。

在这里插入图片描述

  • 15
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
ITK-SNAP 是一款开源的医学图像分割和三维可视化软件,它提供了一系列用于医学图像处理的功能。 ITK-SNAP 的源码是指软件开发过程中所使用的代码和相关资源。这些源码是开放的,任何人都可以查看、使用和修改。使用源码,你可以了解软件的实现细节,根据自己的需求进行定制和扩展。 ITK-SNAP 的源码基于ITK(Insight Segmentation and Registration Toolkit)和 Qt 框架,这两个框架提供了图像处理和图形界面开发的基础功能。ITK-SNAP 的源码主要包括以下几个方面: 1. 图像处理算法:ITK-SNAP 的源码中包含了许多基于ITK的图像处理算法,如图像滤波、分割、配准等。这些算法是开发者对医学图像进行分析和操作的基础。 2. 三维可视化:ITK-SNAP 可以对医学图像进行三维可视化,它可以显示体积渲染、表面重建等效果。源码中包含了实现这些功能的相关代码。 3. 用户界面:ITK-SNAP 的源码中包含了用户界面的设计和实现代码,包括窗口、菜单、工具栏等,这些界面为用户提供了交互式操作医学图像的功能。 通过查看 ITK-SNAP 的源码,开发者可以学习到许多医学图像处理和可视化的方法和技术。同时,源码也提供了一个自由和灵活的平台,使开发者可以根据自己的需求对软件进行修改和扩展。 总之,ITK-SNAP 的源码是开源社区分享的宝贵资源,它为医学图像处理和可视化的研究和应用提供了有力的支持。无论是学习、研究还是应用,ITK-SNAP 的源码都是一个重要的参考和工具。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值