使用Anaconda搭建SimpleITK开发环境

*推荐搜索关注微信公众号:医影杂记

使用Anaconda搭建SimpleITK开发环境_第1张图片

使用Anaconda搭建SimpleITK开发环境

从C++和Matlab图像处理编程说起

很多采用C++进行医学图像处理编程的同学都会选择ITK来作为底层图像处理的函数库。ITK是一个开源的C++代码库,包含了大量的最新医学图像分割和配准基础函数和通用框架。简单来说,使用ITK,大家可以直接站在一大批国际大牛的肩上来进行开发。然而,要想搭建起一套基于ITK的C++开发环境,需要先做一系列的准备工作。这些工作包括:下载ITK源代码,使用CMake生成工程文件,编译生成Library文件,使用CMake搭建自己的图像处理工程等。然后,才能开始编写C++代码,调用ITK,执行图像处理任务。整个过程对于C++编程水平要求很高,也很耗费时间。很多同学就是被这些准备工作卡住,半途放弃。 


而如果采用Matlab,则完全不同了。安装上Matlab,记得安装Image Processing Toolbox等需要的工具箱。然后,就可以开始直接编写代码了。可以说,Matlab能够让你更加专注于图像处理本身的开发,不会被编译环境等琐事分散精力。但是,Matlab虽然也提供了大量的图像处理底层函数,但在专业的医学图像处理,尤其是三维图像处理和分析领域,ITK所包含的函数要比Matlab丰富和领先的多。 


那么,有没有两全其美的办法,即能够享受ITK中大量的医学图像处理函数,又可以像使用Matlab那样简单而愉快的编程呢?

SimpleITK和Anaconda

答案是:有。具体来说,是采用Python来调用SimpleITK进行开发。 
SimpleITK是一个基于ITK内核的Python封装层,它提供了基于Python语言的各项功能调用接口。大家都知道,Python语言以简单易用著称,和Matlab一样,Python的突出特点之一就是能够让人专注在要解决的任务和问题本身上,而不是语法和编译设置等干扰项上。 
那么,怎么才能够在Python开发环境中调用SimpleITK呢?

使用Anaconda搭建SimpleITK开发环境

理论上,想要在Python中调用SimpleITK,只需要在命令行窗口中,使用下述命令,安装SimpleITK包就可以了。

 
  
  1. pip install SimpleITK

但是这篇文章却非要使用Anaconda(https://www.continuum.io/)来搭建SimpleITK开发环境,为什么非要这么麻烦呢? 


原因有如下几点:

  1. 由于存在版本兼容性问题,使用pip install,可能无法正确安装SimpleITK。

  2. 想借这个机会,尝试和学习一Anaconda这个久闻大名的强大开发环境。

  3. 医学图像处理开发,还涉及到矩阵运算、图像显示、图表绘制等其他工作,需要一堆其他的Python模块,而Anaconda作为面向科学数据计算和可视化的集成环境,已经内置了绝大部分相关库。

  4. 工作需要,往往需要在Python2和Python3直接切换,有了Anacoda,版本切换从此不是事儿啊。

安装过程

好吧,铺垫的废话终于说完了。下面开始说正事,如何安装Anaconda和SimpleITK?

 
正文开始:

  1. 下载Anaconda(https://www.continuum.io/downloads/)

  2. 安装Anaconda

  3. 以管理员身份启动DOS命令行窗口,输入并执行

 
  
  1. conda install -c simpleitk simpleitk=1.0.0

正文完毕。


这正文也太短了吧?嗯,是有些短。好吧,再来个详细版。

安装过程(图文并茂详细版)

Anaconda下载

下载地址 :(https://www.continuum.io/downloads/)

本文基于Win7 64位系统上,因此下载的Python 3.6 Windows 64位版本,Anaconda3-4.3.1-Windows-x86_64.exe

 (https://repo.continuum.io/archive/Anaconda3-4.3.1-Windows-x86_64.exe)。

使用Anaconda搭建SimpleITK开发环境_第2张图片

Anaconda安装

安装过程没有太多需要介绍的,基本是缺省选项,一路Next到底。 
 
*备注:关于Anaconda的简单教程,请戳这里

SimpleITK安装

在Anaconda中安装Python Package,一般以此采用下述步骤:

1. 使用conda search 命令,查找anaconda自带的安装包中是否包含了想要的package

 
  
  1. conda search SimpleITK

输出结果如下: 

也就是没有找到啦。

2. 上Anaconda.org网站上搜索。 
需要首先在这个网站上注册用户(注册过程略)。 
然后,进入下述页面,在箭头标记的位置属于想要查找的package名称。 

使用Anaconda搭建SimpleITK开发环境_第3张图片


搜索结果如下图所示,可以看到,找到了很多个符合的安装包。选择下载次数最多,版本最新的那一个,也就图点击下图中箭头所示位置啦。


使用Anaconda搭建SimpleITK开发环境_第4张图片


打开下述页面,显示这个package的详细信息。注意,箭头所示的区域,给出了相应的安装命令 

使用Anaconda搭建SimpleITK开发环境_第5张图片


3. 拷贝上面的命令,以管理员身份打开一个DOS命令行窗口(建议同时运行fan qiang软件),粘贴并运行。

 
  
  1. conda install -c simpleitk simpleitk=1.0.0

正确的运行结果如下图所示: 

使用Anaconda搭建SimpleITK开发环境_第6张图片

 
敲黑板,划重点啦,需要fan qiang安装。否则,可能出现下载安装包失败。如下图: 

使用Anaconda搭建SimpleITK开发环境_第7张图片


4. 启动Jupyter QT Console,测试是否能够导入SimpleITK 。

使用Anaconda搭建SimpleITK开发环境_第8张图片

只要不报错,就说明安装正确了。大家可以愉快的在Python开发环境中调用ITK中的各项图像处理功能了。

关于Anaconda的补充说明

在上面的安装过程中,涉及到了两项问题,值得补充说明。

开发环境的选择

作为Anaconda的主要优势之一,开发人员可以在Anaconda中创建和切换不同的开发环境。这里的开发环境,简单来说,是指不同的Python版本和不同的Python package版本的组合。关于Anaconda中开发环境的创建和切换,这里不做介绍了,大家参考这里的简介。需要说明的是,上面的安装步骤是把SimpleITK直接安装到了当前缺省的root开发环境。 
加入已经创建了一个名称为ImgPro的开发环境,并且想把SimpleITK安装到这个环境中,则需要在DOS命令行窗口中执行下述代码:
conda install --name ImgPro  -c simpleitk simpleitk=1.0.0

不同安装包版本兼容性的自动切换

下面的图片是在DOS命令行窗口中输入conda install -c simpleitk simpleitk=1.0.0后的安装过程结果截屏。 

使用Anaconda搭建SimpleITK开发环境_第9张图片

大家有没有注意到红色标记框中的文字?它实际告诉我们,为了能够兼容安装SimpleITK,Anaconda把Python的版本从3.6.1降到了3.6.0。通过这个例子,我们看到,Anaconda确实能够检测和调整适应不同安装包之间的兼容性。


以上就是这篇小文章想要和大家分享的内容。也希望大家都能够找到最适合自己的图像编程工具,能够专注于算法,而不是编译和工程设置等任务上。


你可能感兴趣的:(Python,Anaconda,SimpleITK,ITK,医疗影像)