crop_ADNI_GM.m

function num_list = crop_ADNI_GM(filelistname, save_path, label)
%%%%
%% 脚本说明
% 1)对ADNI-825灰质的3D nii图像进行裁剪
% 2)裁剪部分:没有信息或信息量很少的部分
% 3)裁剪要求:得到一个3D方阵;nii.hdr.dime.dim = [3,112,112,112,1,1,1,1];中的112就是方阵的规格,由(6:117,17:128,6:117);确认
% 4)命名要求:
%
% gray matter
% AD: 199 samples;
% NC: 230 samples;
% uMCI: 130 samples;
% pMCI: 164 samples;
% sMCI: 99 samples;
%
% 此处所需数据:pMCI + sMCI = 164 + 99 = 263
% 分类类标:
% AD vs NC --> label AD = 1, label NC = 0
% pMCI vs sMCI --> label pMCI = 1, label sMCI = 0
%
% 调用函数:
% num_list = crop_ADNI_GM('./825_Subject_AD/AD_gray_matter.txt', './NiftyNet_dataset/AD/', 1)
% num_list = crop_ADNI_GM('./825_Subject_NC/NC_gray_matter.txt', './NiftyNet_dataset/ND/', 0)
% num_list = crop_ADNI_GM('./825_subject_pMCI/pMCI_gray_matter.txt', './NiftyNet_dataset/pMCI/', 1)
% num_list = crop_ADNI_GM('./825_subject_sMCI/sMCI_gray_matter.txt', './NiftyNet_dataset/sMCI/', 0)%%% filelistname = './825_Subject_AD/AD_gray_matter.txt';fpn = fopen(filelistname,'rt');sbj_counter = 0;while feof(fpn) ~= 1sbj_counter = sbj_counter + 1;filelist(sbj_counter,1)={fgetl(fpn)};end%%% label = 1;% offset_num = 463;offset_num = 0;% save_path = './NiftyNet_dataset/AD/';for i = 1 : sbj_counterfilename = filelist{i,1};disp(filename);nii = load_nii(filename); nii.img = nii.img(6:117,17:128,6:117);nii.hdr.dime.dim = [3,112,112,112,1,1,1,1];save_nii(nii,strcat(save_path, 'T1_S',num2str(i + offset_num,'%03d'),'.nii'))nii.img = reshape(label, [1 1 1]);nii.hdr.dime.dim = [3,1,1,1,1,1,1,1];label_filename = strcat(save_path, 'S',num2str(i + offset_num,'%03d'),'_label','.nii');save_nii(nii,label_filename);endnum_list = sbj_counter;
end

call_crop_ADNI_GM.m

clc;
clear all;% 调用函数:
AD_num_list = crop_ADNI_GM('./825_Subject_AD/AD_gray_matter.txt', './NiftyNet_dataset/AD/', 1);
NC_num_list = crop_ADNI_GM('./825_Subject_NC/NC_gray_matter.txt', './NiftyNet_dataset/NC/', 0);
pMCI_num_list = crop_ADNI_GM('./825_subject_pMCI/pMCI_gray_matter.txt', './NiftyNet_dataset/pMCI/', 1);
sMCI_num_list = crop_ADNI_GM('./825_subject_sMCI/sMCI_gray_matter.txt', './NiftyNet_dataset/sMCI/', 0);

AD_gray_matter.txt

裁剪成 112 x 112 x 112 的nii数据并附有相应的类标:

【ADNI】对 nii 3D 数据进行裁剪(Matlab)待完善...相关推荐

  1. 3D数据---未来数字世界的物质基础

      技术的发展历来遵循解放生产力.提高生产力的基本原则,不断拓展人类视觉.听觉和各项生理机能,人机交互也向更直观.更简洁.更本能的方向发展.在元宇宙科技浪潮的推动下,人类已经进入到数字世界与真实物理世 ...

  2. Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据

    作者:Liangliang Nan 作者介绍:来自荷兰代尔夫特理工大学三维地理信息研究小组 代码:https://github.com/LiangliangNan/Easy3D 简介 Easy3D是一 ...

  3. 基于深度学习方法的3D数据合成

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 3D 数据简介 人们普遍认为,从单一角度合成 3D 数据是人类视觉的基本功能.但这对计算机视觉算法来说 ...

  4. 如何将txt格式的数据导入到MATLAB中,并绘制图线

    如何将txt格式的数据导入到MATLAB中,并绘制图线 1.把txt格式的文件复制到MATLAB的目录下,在txt文件上点击右键→Import Data→next→Finish, 在workspace ...

  5. Meta AI推出“杂食者”:一个模型搞定图像、视频和3D数据三大分类任务,性能还不输独立模型...

    丰色 发自 凹非寺 量子位 | 公众号 QbitAI 最近,Meta AI推出了这样一个"杂食者" (Omnivore)模型,可以对不同视觉模态的数据进行分类,包括图像.视频和3D ...

  6. 将C/C++程序的变量数据导入到MATLAB中的方法

    2016-5-21日:我发现自己真是傻,既然对象是图像,那何必把像素值导出来呢?直接将图像输出,然后MATLAB再读入图像不就可以了? 这篇博文随接上一篇博文: 将MATLAB的变量数据导入到VC中的 ...

  7. 首次使用Cesium加载3D数据成功

    接此: https://blog.csdn.net/bcbobo21cn/article/details/111305160 `代码同前文:加载不同的数据,都不能加载出来: var palaceTil ...

  8. 首次使用Cesium加载3D数据不成功

    接此: https://blog.csdn.net/bcbobo21cn/article/details/110454547 参阅相关教程:Cesium加载3D数据是通过3D Tiles进行: 3D ...

  9. Netcdf对数据进行裁剪

    对三维数据进行裁剪 List<Range> tyxRanges = new ArrayList<>(); tyxRanges.add(new Range(null,0,12)) ...

最新文章

  1. CF786B Legacy(线段树优化建边模板 + 最短路)
  2. codevs 2879 堆的判断
  3. 利用python进行数据分析_资料 | 利用Python进行数据分析
  4. Jupyter notebook 使用多个Conda 环境
  5. WP8.1学习系列(第二章)——Toast通知
  6. php private ,public protected三者的区别
  7. 防盗链及图片加密系统
  8. windows安装使用programer dvorak
  9. 做直流逆变中用到的全桥逆变电路测试mos管好坏的方法
  10. 用于视力恢复的脑机接口综述(一)
  11. spring使用中applicationContext.xml文件头部声明
  12. 一个摆烂年轻人对手机的需求
  13. python 映射表_python映射列表实例分析
  14. Presto Connector 实现原理
  15. ELK8.1从零搭建以及基本使用
  16. sap甲方_这些奇葩的SAP顾问们,你们摆正位置了吗?
  17. 第一次翻译自己不会用的软件
  18. 服务器维护后稀有,6月28日更新维护公告 言灵大人福袋、稀有姜小萌福袋限时上架!...
  19. 基于STM32单片机的智能加湿器(Proteus仿真+程序)
  20. 添加PATHPATH的方式

热门文章

  1. C语言中的signal函数
  2. 九万字图文讲透彻 Linux 电源管理及实例分析
  3. 银河麒麟系统中的串口调试
  4. linux网络编程--网络编程的基本函数介绍与使用
  5. 如何成为一个牛逼的程序猿
  6. 黑马程序员—聊天小程序
  7. 如何提高流量主广告收益,这些方法你可以用用
  8. 导致谷歌账号停用的原因
  9. 解决mysql load data加载本地null数据,表里出现0的情况
  10. 运维服务流程设计文档