简介

VoxelMorph使用CNN实现了非监督的医学图像配准,速度较之前的方法有很大提升。主要特点有:

提出了一种基于学习的解决方案,不需要在训练过程中获取诸如ground truth对应或解剖标志等信息;

提出一个参数跨种群共享的CNN函数,通过函数评估实现配准;

参数优化的方法可以使用各种代价函数,从而适应各种任务;

VoxelMorph这个组发表了多篇论文,有不同的使用场景,具体的区别请看论文,但代码都在这一个库

下载代码:

https://github.com/voxelmorph/voxelmorph

到本地后解压缩出来

配置环境:

本人环境:

ubuntu18.04 + Anaconda 4.7 + python3.7

然后安装tensorflow和keras,这里看我之前的文章 (这里voxelmorph用的是tensorflow1+)

所以如果你用的是tf2,可以根据下面那个官方教程,然后自己改

然后安装依赖

pip install nibabel
conda install -c conda-forge tqdm
pip install Pillow
pip install matplotlib

所有的安装完了之后,就可以运行程序了。

运行

先进到下载的代码的文件夹的src中,然后在终端上运行,:

python register.py   - -gpu  0    ../data/test_vol.nii.gz    ../data/atlas_norm.nii.gz     --out_img     ../data/out.nii.gz      –model_file       ../models/cvpr2018_vm2_cc.h5

运行后的结果在data文件件下的out.nii.gz中,如何查看,请看上篇文章

一个官方的教程:

https://www.kaggle.com/adalca/learn2reg

我根据这个教程,实现minist的时候,需要以下的文件,然后自己改下import就可以运行了

更新个一个更简洁的入门代码,在kaggle的基础上修改源码,达到用最少的代码跑起来例子的效果

https://github.com/FlyuZ/voxelmorph-tf2-min

voxelmorph配置的更多相关文章

  1. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  4. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  5. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  6. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  7. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  8. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  9. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

随机推荐

  1. Hour of Code|京东云邀您一起,“码”上行动

    "如果我并不希望成为一名程序员,那么为什么需要学习编程呢?" 相信很多人对于现在鼓励从小就学习编程的趋势都在心里问过这样的一个问题.在回答这个问题前,先和大家分享一个小故事吧. 1 ...

  2. 读写锁ReentrantReadWriteLock源代码浅析

    1.简介 并发中常用的ReentrantLock,是一种典型的排他锁,这类锁在同一时刻只允许一个线程进行访问,实际上将并行操作变成了串行操作.在并发量大的业务中,其整体效率.吞吐量不能满足实现的需要. ...

  3. C语言的字符串类型

    C语言使用指针来管理字符串(1)C语言中定义字符串的方法:char *p = "linux";此时p就叫字符串,但是实际上p只是一个字符指针(本质上就是一个指针变量,只是p指向了一 ...

  4. C++逐行读取txt

    C++读取txt文件的时候可以使用std::ifstream来实现,如果打开文件失败的话,其变量会是空的,所以可以用来判断是否打开成功.  #include <stdlib.h>  #in ...

  5. 五年Java经验,面试还是说不出日志该怎么写更好?——日志规范与最佳实践篇

    本文是一个系列,欢迎关注 查看上一篇文章可以扫描文章下方的二维码,点击往期回顾-日志系列即可查看所有相关文章 概览 上一篇我们讨论了为什么要使用日志框架,这次我们深入问题的根源,为什么我们需要日志? ...

  6. scrapy 在pycharm中调试 不用到命令行中启动爬虫方法

    (目录结构如上图) 在主目录中加入main.py,在其中加入代码,运行此文件就可以运行整个爬虫: # -*- coding: utf-8 -*- __author__='pasaulis' #在程序中 ...

  7. jboss的JVMroute记录

    jboss5的nodename是在 /usr/local/jboss-5.1.0.GA/server/dms/deploy/jbossweb.sar/server.xml   这里的  jvmrout ...

  8. opencv摄像头捕获视频

    1.ord()函数:它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 ...

  9. Linux-socket编程接口介绍

    1.建立连接 (1).socket.socket函数类似于open,用来打开一个网络连接,如果打开成功则返回一个网络文件描述符(int类型),之后我们操作这个网络连接都可以通过这个网络文件描述符. ( ...

  10. Go mod graphql-go 的 Replace

    现在在项目中大量的使用 graphql,但用的版本是3年前的版本. 3年前包的url:github.com/neelance/graphql-go 现在的url:github.com/graph-go ...