对于医疗图像数据可视化有一些比较成熟的开源软件库,其中包括volview(2011年已经停止维护和更新),MITK(德国非中科大版),3Dslicer和ITK-SNAP。3Dslicer功能非常的强大但是也是代码量最多的。可以去它的官网直接下载打包好的程序,支持windows、apple、linux三个平台,生态还是比较健全的。slicer还有一个比较方便的地方是支持c++和python开发,支持python的话可以快速验证深度学习的一些算法,开发速度比较快。相比较        于其他的库而言slicer更像一个IDE。

有的时候需要对slcer进行修改,比如你的公司想使用自己的布局还有logo等,此时就需要对源码进行编译修改。下面介绍在windows平台下如何配合visual studio进行编译。

环境:

Cmake >= 3.21.1
        Git       >= 1.7.10

VS 我使用的是2019社区版

Qt5 要求的是5.15.2    下载地址https://download.qt.io/official_releases/online_installers/ 选择 qt-unified-windows-x64-online.exe 只能在线安装了

NSIS 可选 (程序打包的时候使用的,即打包成一个exe文件,可以在别人电脑上安装你写好的程序)

1. 创建source文件和build文件
    .在自己的电脑上创建3D slicer程序的source文件路径 例如C:\D\S4 由于windows的最大路径问题,在编译的时候源文件必须在非常短的文件路径下编译,虽然不是必须但是强烈建议不要将source文件和build文件放到同一个空间中。创建build文件路径,推荐release文件路径为C:\D\S4R,debug文件路径为C:\D\S4D,同样可以使用相同的build文件树。

2.下载source code到创建的C:\D\S4文件下
    使用 git clone https://github.com/Slicer/Slicer.git . 下载   注意这里的. 是必要的因为没有这个“.”的话会创建一个Slicer子文件在当前的文件下。

3.配置开发者仓库(可选)
    右键选择刚下载的C:\D\S4\的Utilities  --》 Git bash here 然后输入 ./SetupForDevelopment.sh 此时可以注册自己的代码仓库。

4.配置并且build 3D slicer
    4.1 运行Cmake(cmake-gui)
    4.2 配置source和build文件的路径,先别急着configure
    4.3 Add Entry-> Name Qt5_DIR   Type -> PATH  Value -> Qt5文件 例如C:\Qt\5.15.2\msvc2019_64\lib\cmake\Qt5  
    4.4 点击Configure  取消 BUILD_TESTING  取消Slicer_USE_QtTesting 只使用Debug和Release2个编译
    4.5 需要能够科学上网
    4.6 点击Generate
    4.7 点击Open Project 打开vs2019
    4.8 点击生成开始下载依赖编译

这一步会报错 Error in configuration process, project files may be invalid   error: "Couldn't resolve host name"

解决方案:修改该文件(文件位置在源码目录的CMake文件夹下)的set(url “…”),将url改成https://www.baidu.com,只要能访问的就行。
(这里我最开始报的错误是:SSL connect error,后来发现是我之前修改过hosts文件,在里面添加了raw.githubusercontent.com,解析的ip还是个错的,最后就把它删了)

点击Open Project 打开vs2019

右击All_build进行生成,这里需要能够科学上网,因为需要下载一些库。如果失败了先别管多试几次,网络不好会报错timeout的。

如下图就是报错MSB806很多错误都是网络引起。 5.运行slicer
    找到../Slicer-build(你编译的文件下)/Slicer.exe  执行app应用
    注意: Slicer.exe是一个“launcher”设置了环境变量,真正的执行文件是在../Slicer-build(你编译的文件下)/bin/Release/SlicerApp-real.exe

到这里就是编译成功了,如果想要打包你的程序生成exe的话需要安装开头说的NSIS,然后编译

6.Package Slicer(创建 安装包)
    打包成为exe可执行文件
    使用vs打开D:\Slicer_B\Slicer-build\Slicer.sln
    右键点击解决方案中的CmakePredefinedTargets下的PACKAGE选择生成即可生成exe执行文件
    文件在D:\Slicer_B\Slicer-build\Slicer-5.1.0-2022-07-20-win-amd64.exe即可在其他的电脑上执行

这里编译和打包就完成了,下面说下编译的过程中可能需要的错误和解决方案。

错误1 Error in configuration process, project files may be invalid  
          error: "Couldn't resolve host name"
解决方案:修改该文件(文件位置在源码目录的CMake文件夹下)的set(url “…”),将url改成https://www.baidu.com,只要能访问的就行。
(这里我最开始报的错误是:SSL connect error,后来发现是我之前修改过hosts文件,在里面添加了raw.githubusercontent.com,解析的ip还是个错的,最后就把它删了)
1.查看是否有 CMAKE_USE_OPENSSL 选项,有就打钩,没有的话添加
2.function(slicer_check_cmake_https)
  #set(url "https://raw.githubusercontent.com/Slicer/Slicer/main/CMakeLists.txt") 修改成下面的
  set(url "https://www.baidu.com")
  set(dest "${CMAKE_CURRENT_BINARY_DIR}/slicer_check_cmake_https_output")

错误2 python-dicom-requirements 报错 error MSB6006: “cmd.exe”已退出,代码为 1

解决方案1:由于缺少Python库而导致的错误(或其他与Python相关的错误,例如构建Python -…-requirements项目或Python包装SimpleITK)可能是由于构建系统检测到系统上某处安装了Python,而不是Slicer自己的Python环境。要解决此类问题,请删除环境变量(PATH, PYTHONPATH, PYTHONHOME)中对Python的所有引用。或者,在开始构建Slicer之前,暂时重命名或删除其他Python安装;它们可以在Slicer构建完成后恢复。

解决方案2:重新安装新的python后解决(注意这里一定要断了VPN但是别断网安装程序)。

错误3unable to access 'https://github.com/miloyip/rapidjson.git/': OpenSSL SSL_read: Connection was reset, errno 10054
解决方案:有时候当我们使用Git获取资源,会报“OpenSSL SSL_read: Connection was reset, errno 10054”的错误,出现该错误是因为服务器的SSL证书没有经过第三方机构的签署
在我们需要获取资源的文件夹中,右键打开Git的命令面板 Git Bash Here
输入 git config --global http.sslVerify "false"

3Dslicer在windows下源码编译源码并打包程序亲测可用相关推荐

  1. ubuntu下 teamviewer的安装方法(超简单,亲测可用)

    ubuntu下 teamviewer的安装方法(超简单,亲测可用) 1.去官网下载安装包 官网链接:https://www.teamviewer.com/zhcn/download/linux/ 点击 ...

  2. windows下扩展yaf,并生成yaf框架文件(亲测)

    YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...

  3. Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴(亲测可用)

    文章目录 一.问题 二.解决思路 三.解决方法 一.问题 Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴 二.解决思路 两个系统之间不能直接粘贴复制,安装辅助工具即可. 三.解决方法 s ...

  4. mysql 源码 sln_在windows下使用vs2013编译和调试mysql源代码

    在windows下使用vs2013编译和调试mysql源代码 1. 准备工作 1)OS:win10 + VS2013 2)mysql 源码(windows版):mysql-5.6.25.zip 3)p ...

  5. win10最新下载编译Android源码的简易方法分享(已亲测)

    win10最新下载编译Android源码的简易方法分享(已亲测) 准备至少150G的硬盘空间 win+R 输入control 打开程序与功能-启用或关闭Windows功能 勾选"适用于Lin ...

  6. 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)

    转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 总目录 (一)Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET ...

  7. 手把手教你在Windows下使用MinGW编译libav

    2019独角兽企业重金招聘Python工程师标准>>> 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言开发的,不可避免的,libav ...

  8. 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)

    转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...

  9. 英皇cms影视网站系统源码_多种模板_自带采集_支持APP+pc+wap三端_(亲测可用有搭建教程)

    源码介绍 影视网站源码,自带采集功能多入口,带会员,卡密,代理等功能,免费模板可自选 支持三端:pc+wap+app端,支持视频下载,有直播,开通会员等功能,带短视频,论坛等等功能自行搭建查看,一款功 ...

最新文章

  1. R语言ggplot2可视化条形图(bar plot)、并为条形图添加误差条(error bar)、自定义设置误差条(error bar)的颜色/色彩( Barplots with Error bar)
  2. CPU 有个禁区,内核权限也无法进入!
  3. linux rsync 本地 远程 增量 备份 同步工具 问题集合
  4. 青龙羊毛——鸡厂签到
  5. hdu4763 KMP
  6. 深入理解JVM(1)——Java内存区域与Java对象
  7. MapReduce流程(WordCount案例实现)
  8. easyui带表单的弹窗效果制作
  9. windows下buildbot 的搭建及config文件讲解
  10. Dotnet Core下的Channel, 你用了吗?
  11. vue 动态变量名_【告别复制粘贴】动态模板生成小技巧
  12. python装好了怎么启动车_【填空题】Python安装好后,可以直接在CMD命令行下输入( )命令, 可启动交互式编程,提示窗口如下:...
  13. 计算字符串距离(信息学奥赛一本通-T1298)
  14. 陈丽琳:如何以大数据助力商场运营
  15. 滴滴回应未删道歉微博;阿里 P7 员工租自如病亡;苹果无人车出事故 | 极客头条...
  16. PHP array_rand随机获取数组中的数据
  17. Git以及Git小乌龟的安装使用
  18. FPGA学习.7——DDS信号发生器
  19. 20180310华为面试
  20. 记一次win7 配置Windows Update 失败,还原更改,无法进入系统

热门文章

  1. android设置背景颜色渐变,Android背景渐变色(shape,gradient)
  2. 如何理解概率分布函数和概率密度函数?
  3. CnOpenData与国家高端智库——综合开发研究院(中国·深圳)达成战略合作伙伴关系
  4. 使用cmi工具连接服务器远程装机exsi
  5. 山东标梵分享这些小程序开发干货让你不在犹豫
  6. Vue中用 Vue Baidu Map 绘制地图
  7. 真无线半入耳耳机推荐,2022半入耳蓝牙耳机音质排行榜
  8. 测试飞机高度和速度的软件,飞机是怎样测量飞行的高度、速度和方向的?
  9. Cannot redeclare C() (previously declared in .
  10. 【基于视觉语义特征的室外SLAM建图算法研究】