医学影像批量配准,matlab 代码

配准后的文件与配准前的文件保存在统一目录下,命名以‘r’开头。

%-----------------------------------------------------------------------

% Job saved on 21-Nov-2019 15:35:09 by cfg_util (rev $Rev: 7345 $)

% spm SPM - SPM12 (7487)

% cfg_basicio BasicIO - Unknown

% 用于批量配准

%-----------------------------------------------------------------------

clear

spm('defaults', 'fmri');

spm_jobman('initcfg');

subjectsdir = {'E:\nii_path'}; % 这里是data文件夹的绝对位置

path = 'E:\nii_path';

subjects = dir(path);

subjects = {subjects.name}; % 单个或多个被试的文件夹

subjects(:,[1,2]) = [];

funcdir = fullfile('T1C'); % reference的文件夹,向哪个序列配准,哪个是reference

anatdir = fullfile('T1'); % source的文件夹,被配准的序列

nsubj = length(subjects); % 配准的病例数

for csubj = 1:nsubj

subjdir = {spm_select('CPath', subjects{csubj}, subjectsdir)};

% source file

adir = spm_select('CPath', anatdir, subjdir); % 选择当前source文件夹

anatfile = spm_select('FPList', adir, '/*.nii'); % 该文件夹中.nii结尾的文件

if size(anatfile, 1) == 0

sprintf('No anat file found for %s',subjects{csubj})

continue;

end

% reference file

fdir = {spm_select('CPath', funcdir, subjdir)}; % 选择当前reference文件夹

ffiles = spm_select('FPList', fdir, '/*.nii'); % 该文件夹中.nii结尾的文件

if size(ffiles,1) == 0

sprintf('No source file found for %s', subjects{csubj})

continue;

end

% Coregister

n_nii = size(anatfile,1); % nii文件个数,被配准的序列可能不止一个nii

for n = 1:n_nii

clear matlabbatch

% 以下spm12默认设置

matlabbatch{1}.spm.spatial.coreg.estwrite.ref = {ffiles};

matlabbatch{1}.spm.spatial.coreg.estwrite.source = {anatfile(n,:)};

matlabbatch{1}.spm.spatial.coreg.estwrite.other = {''};

matlabbatch{1}.spm.spatial.coreg.estwrite.roptions.interp = 4;

matlabbatch{1}.spm.spatial.coreg.estwrite.roptions.wrap = [0 0 0];

matlabbatch{1}.spm.spatial.coreg.estwrite.roptions.mask = 0;

matlabbatch{1}.spm.spatial.coreg.estwrite.roptions.prefix = 'r';

% 运行

spm_jobman('run', matlabbatch);

end

end

matlab的spm,医学图像的批量配准(Matlab,SPM),医学影像,matlabSPM相关推荐

  1. Dicom批量转nii(医学影像格式转换,SPM)

    Dicom批量转nii(医学影像格式转换,SPM) 实验中需要用spm12进行配准,spm12 配准只能导入nii格式,但影像是dicom格式的,需要先进行格式转换. spm12有自带的dicom转n ...

  2. 【医学图像智能计算】DL在医学影像中的应用综述—图像重建

    目录 1. 图像重建 1.1 基于深度学习的MRI图像重建 1.1.1 基于数据驱动的端到端深度学习MRI重建方法 1.1.2 基于先验模型的深度学习MRI重建方法 1.2 基于深度学习的低剂量CT成 ...

  3. matlab spm批量配准

    第一次使用matlab spm配准医学图像,使用spm提供的GUI界面,一次只能处理一个图像. 使用一下脚本,可以实现批量配准操作: spm_jobman('initcfg'); dir_path=' ...

  4. ICP配准MATLAB实现

    ICP配准MATLAB实现 本文介绍了ICP算法及其MATLAB实现 目录 ICP配准MATLAB实现 一.ICP算法 1.算法简介 2. 算法局限性 二.代码实现 1.平移旋转计算 2.ICP算法代 ...

  5. 使用Matlab制作的视频媒体批量重命名工具

    视频媒体批量重命名工具 1.Abstract   编程语言:Matlab.python   思路:利用python获取视频创建时间,通过Matlab实现对视频关键帧的读取与显示,以及对于用户打标信息与 ...

  6. 图像配准(Matlab)——高分1号宽幅数据GF1WFV为例

    指南 本篇主要内容是如何用代码实现GF1WFV遥感数据配准,同时也适用于其他类型的图像校正,拼接. 本篇原理是surf自动特征提取,这个算法是SIFT的一种改进 配准效果用标准误差RMSE进行定量化度 ...

  7. matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?

    自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...

  8. matlab与excel数据连接数据库,如何实现matlab与excel数据同步 数据交互?

    Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件.通过连接Excel和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图 ...

  9. 【 MATLAB 】序列的奇偶分解的 MATLAB 函数编写实践

    序列 x(n)的奇偶分解的公式为: 编写一个序列 x(n) 的奇偶分解式 xe(n) 和 xo(n),需要考虑的问题是序列长度,下标的变化. 这里必须做个声明,下面的程序中用到了前几篇博客中的几个函数 ...

最新文章

  1. 多任务学习(Multi-Task Learning, MTL)、其他分类形式、与迁移学习的关系
  2. pt,px,rem和em之间区别总结
  3. leetcode笔记:Gray Code(2016腾讯软件开发笔试题)
  4. HTML5入门之新的选择器
  5. chkdsk 检查卷位图时发现损坏_如何修复Windows 10引导记录损坏故障
  6. 机器学习简介及学习思维导图
  7. enter sleep mode黑屏怎么解决_【linux】 不要再暴力关机了,讲讲我最近遇到的问题和完美解决方案...
  8. Intellij idea 自动生成serialVersionUID
  9. vs如何显示arcgis 二次开发工具控件
  10. 英特尔Bridge技术加持下 Windows 11 PC也能运行手机应用
  11. 物权法全文内容有哪些呢-广告外链_合肥SEO优化小编告诉您网站外链优化方法大全...
  12. UVA 679 小球掉落 思维 + 数据结构
  13. 第8章 集成Log4J日志
  14. java中的date_Java中Date类型详解
  15. python调用百度识图识取本地图片
  16. python的spider如何让鼠标不_【专题教学】python wooyun爬虫模拟鼠标等
  17. 7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
  18. 在VT上搜索恶意软件
  19. 状压DP 拯救莫莉斯
  20. windows命令强制关闭登录用户

热门文章

  1. android电视怎么使用教程,手机无线投屏到电视机的方法和具体该操作
  2. python多线程下载视频_python 实现多线程下载m3u8格式视频并使用fmmpeg合并
  3. 比较了几种编程语言后,我终于get到了少儿编程的真谛
  4. 2020.09.29重读 原2020.08.04读 MoreFusion
  5. python3攻击服务器_Python服务器用套接字互相攻击
  6. 汇编51单片机密码锁(含论文、程序、AD图)单片机课程设计
  7. N型电池将成为下一代主流方向
  8. 2022新版nft源码中国元宇宙数字藏品艺术品交易平台源码
  9. 如何从公网访问局域网WEB服务器
  10. Java面试官:兄弟,你确定double精度比float低吗?