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

ITK-SNAP4.0 windows下源码编译安装

  • 1. 准备
    • 1.1 安装环境
    • 1.2 其他软件
    • 1.3 文件夹结构
  • 2. 前序安装
    • 2.1 vs2019
    • 2.2 QT、CURL、VTK、OpenCV的安装
      • 2.2.1 Cmake安装简述
      • 2.2.2 参数修改提示【重要】
    • 2.3 ITK安装
  • 3. ITK-SNAP
    • 3.1 源码获取
    • 3.2 submodules
    • 3.3 cmake编译
    • 3.4 运行

安装流程主要参考了两篇文章:
一个是官方的文档
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.2 、 vs2019 16.11 community 、 qt6.2.2 、 cmake3.25、 git2.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.0、ITK5.2.1、cURL7.86.0、 hdf-1.10.6、 opencv3.4.14、 opencl2020.3.494
(文中使用的部分图像是ITK-SNAP3.8版本对应的软件版本,做参数更改参考即可)

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

1.3 文件夹结构

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

Build ITK-SNAP4.0 Windows系统下源码编译_第1张图片
Build ITK-SNAP4.0 Windows系统下源码编译_第2张图片


2. 前序安装

2.1 vs2019

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

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

  在这里进行搜索就行
Build ITK-SNAP4.0 Windows系统下源码编译_第3张图片

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

Build ITK-SNAP4.0 Windows系统下源码编译_第4张图片
4. 可能会报错,注意看报错信息,同时把展示的红色参数都进行修改添加,编辑好了再点configure,直到没有红色参数出现且下边框里显示 configuring down
Build ITK-SNAP4.0 Windows系统下源码编译_第5张图片

  1. configure之后选择generate,出现generating down之后点击open project就可以进入工程文件了。

  2. 进入工程文件后先选择ALL_BUILD项目右键生成,生成成功后又选择INSTALL项目右键生成,这里可能会花费较多的时间。如果都没问题就会在cmake阶段的参数CMAKE_INSTALL_PREIFX所指向的文件夹进行安装创建bin,include,lib等文件夹。
    Build ITK-SNAP4.0 Windows系统下源码编译_第6张图片

2.2.2 参数修改提示【重要】

  • 【针对所有安装】
    1. 建议指定安装目录CMAKE_INSTALL_PREIFX,默认安装目录在系统盘,直接open project可能遇到权限问题,如果是在系统盘安装,在使用vs打开的时候可能需要用管理员权限打开。
      Build ITK-SNAP4.0 Windows系统下源码编译_第7张图片
    2. 有个参数叫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文件夹
      Build ITK-SNAP4.0 Windows系统下源码编译_第8张图片
    2. 参数WITH_VTK勾选后进行configure,会再提示没有找到VTK_DIR,所以也要添加这个参数,指向VTK的build文件夹。
      Build ITK-SNAP4.0 Windows系统下源码编译_第9张图片

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

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

Build ITK-SNAP4.0 Windows系统下源码编译_第10张图片
Build ITK-SNAP4.0 Windows系统下源码编译_第11张图片
Build ITK-SNAP4.0 Windows系统下源码编译_第12张图片


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


3. ITK-SNAP

3.1 源码获取

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

 git clone --recursive [email protected]:pyushkevich/itksnap.git itksnap

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

3.2 submodules

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

cd ITK-SNAP-src
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 目录下。
Build ITK-SNAP4.0 Windows系统下源码编译_第13张图片

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

Build ITK-SNAP4.0 Windows系统下源码编译_第14张图片

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

Build ITK-SNAP4.0 Windows系统下源码编译_第15张图片

你可能感兴趣的:(windows)