Resize是图像处理中经常使用的一个操作,就是将图像缩放到一个固定尺寸,比如分类神经网络的输入大小必须保持一致,就要用到resize;比如有的网络训练学习需要整个图像,但计算机显卡资源不足,不能将整幅图像输入网络,这时也可用到resize,废话不多说,直接看代码,用就是了:

import numpy as np
import SimpleITK as sitk
from glob import globdef resize_image_itk(itkimage, newSize, resamplemethod=sitk.sitkNearestNeighbor):resampler = sitk.ResampleImageFilter()originSize = itkimage.GetSize()  # 原来的体素块尺寸originSpacing = itkimage.GetSpacing()newSize = np.array(newSize,float)factor = originSize / newSizenewSpacing = originSpacing * factornewSize = newSize.astype(np.int) #spacing肯定不能是整数resampler.SetReferenceImage(itkimage)  # 需要重新采样的目标图像resampler.SetSize(newSize.tolist())resampler.SetOutputSpacing(newSpacing.tolist())resampler.SetTransform(sitk.Transform(3, sitk.sitkIdentity))resampler.SetInterpolator(resamplemethod)itkimgResampled = resampler.Execute(itkimage)  # 得到重新采样后的图像return itkimgResampledimage_path = 'F:\lung_lobe\data\data\mask/'
image_file = glob(image_path + '*.nrrd')
for i in range(len(image_file)):itkimage = sitk.ReadImage(image_file[i])itkimgResampled = resize_image_itk(itkimage, (128,128,64),resamplemethod= sitk.sitkNearestNeighbor) #这里要注意:mask用最近邻插值,CT图像用线性插值sitk.WriteImage(itkimgResampled,'F:\lung_lobe\data\data\mask_resize/' + image_file[i][len(image_path):])

这里有两个点需要注意:

(1)图像的Spacing不要设置成整数;

(2)插值过程中,mask图像用最近邻插值,CT图像用线性插值

三维医学图像resize到固定尺寸相关推荐

  1. 一个小改动,CNN输入固定尺寸图像改为任意尺寸图像

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文小白将和大家一起学习如何在不使用计算量很大的滑动窗口的情况下对 ...

  2. ITK学习笔记(九) simpleITK重采样数据到固定尺寸

    ITK学习笔记(九) simpleITK重采样数据到固定尺寸 1.resampleSize 2.CT图像预处理之重采样 3.SKIMAGE.TRANSFORM-两种缩放皆可 4.Python Simp ...

  3. 用于三维医学图像检测的半监督学习——FocalMix: Semi-Supervised Learning for 3D Medical Image Detection

    本文记录下阅读 CVPR2020论文 其中的<FocalMix: Semi-Supervised Learning for 3D Medical Image Detection>,更新于2 ...

  4. 【论文笔记】基于GAN的三维医学图像跨模态配准模型 Deform-GAN

    本文是关于<DEFORM-GAN:AN UNSUPERVISED LEARNING MODEL FOR DEFORMABLE REGISTRATION>论文的阅读笔记. 一.简介 文章提出 ...

  5. 固定尺寸内存块的缓冲队列类及C++实现源代码

    -------------------------------------------------------------------------------- 标题: 固定尺寸内存块的缓冲队列类及实 ...

  6. 用二维码制作软件批量生成数据不定固定尺寸的二维码

    二维码的尺寸大小跟它包含的数据多少相关,具体尺寸可以在条码打印软件里设置.但是如果需要连接数据库批量生成二维码,而且二维码的数据时长短参差不齐的时候,二维码大小也会参差不齐.如果需要将数据不同的二维码 ...

  7. 图片自动排版php,少为人知的Word自动排版:3秒将1000张图片对齐、固定尺寸

    请问大家: 如果你的Word文档有成百上千张图片,你有什么方法将它们对齐.固定尺寸? 正常想法肯定是先全选图片,然后设置尺寸.对齐是吗?可惜了,当你全选图片的时候,要么会把文字也选了,要么会发现没有图 ...

  8. 动态扩展硬盘,固定尺寸硬盘,差异硬盘

    动态扩展:动态扩展硬盘根据所存储的数据量的大小来扩展在宿主机上所占用的磁盘空间,创建动态扩展硬盘时需要你指定硬盘大小,但是动态扩展硬盘刚创建时只会占用非常少的存储空间.这是微软推荐使用的硬盘类型,并且 ...

  9. python批量处理图片尺寸(将文件夹中所有图片设定为固定尺寸)

    方法一:import numpy as np import os import cv2# 设置图片路径,该路径下包含了14张jpg格式的照片,名字依次为0.jpg, 1.jpg, 2.jpg,..., ...

最新文章

  1. 并非所有图像都值16x16个词--- 清华华为提出一种自适应序列长度的动态ViT
  2. ACL2020 | 无监督?无监督!你没试过的BERT的全新用法
  3. 市值破万亿美金的苹果 近年在AI上搞了些新动作
  4. 用IAR调试程序时直接跳过断点执行后面程序的解决办法
  5. Docker+Redis镜像的原理以及部署安装(超详解附截图)
  6. 玩转GIT系列之【git的分支操作(查看分支/切换分支/新建分支/删除分支)】
  7. python列表代码_8种高级的Python列表使用技巧,都给你整理好啦(附实操代码)...
  8. 探测活动主机的代码linux,Linux入侵痕迹检测方案【华为云技术分享】
  9. arcgis批量处理nc文件_ArcGIS处理NetCDF(.nc)的多维科学数据
  10. jenkins插件更换源_jenkins快速入门,自动构建一个hello world项目(devops,ci/cd)
  11. linux清除历史命令记录_Linux运维常用维护命令记录,不是长篇理论,干的实用...
  12. 典型测试错误(英中文对照)
  13. 如何忽略SVN目录?
  14. python selenium click 动态加载_python selenium:不要等到click()命令之后加载页面
  15. JS 动态修改json字符串
  16. 如何查看 Swift 的源代码
  17. matlab2010 simulink,张德丰 (2010) MATLAB/Simulink建模与仿真实例精讲. 机械工业出版社, 北京....
  18. 动态交叉表(永洪bi)
  19. html邮件 自定义变量,CSS3中的自定义变量样式用法
  20. 计算机电子表格的优点,信息技术《电子表格的特点及应用》的说课稿

热门文章

  1. 实时帧数手机_使命召唤手游高帧率帧数多少帧-高帧率帧数介绍_使命召唤手游...
  2. openjudge 冷血格斗场(map)
  3. 软件测试用例(史上最全软件测试干货)
  4. 数据库学习 - create table(创建表)
  5. 直播 | 白硕:区块链技术与数据隐私讲座
  6. 对象/关系数据库映射.
  7. 254. Drop Eggs (扔鸡蛋经典题)
  8. surfaceFlinger摘要
  9. 每次打开office都需要自动配置怎么办?
  10. 华为不上市真的是因为不缺钱么?