在对医学图像进行深度学习的过程中,我们会遇到图片过大,导致train的过程中网络会瘫痪,所以我们会考虑到对图像进行分割。比如一张155x240x240的图像,我们可以将他分割成一系列128x128x128大小的小图像。代码如下:

from crop import *
import torch
def split_image(img, crop_size=(128,128,128)):
patient_image = img # (1, 240, 240, 155, 4)
patient_image = patient_image[0, ...] # (240, 240, 155, 4)
patient_image = patient_image.permute(3, 0, 1, 2) # (1, 4, 155, 240, 240)
patient_image = patient_image.cpu().numpy()
pasient_image = crop_pad(patient_image, crop_size)
patient_image = torch.from_numpy(pasient_image).permute(1, 0, 2, 3, 4) # (C, S, T, Y, W)
patient_image = patient_image.unsqueeze(0).numpy()
# print("patient_image", patient_image.shape)
return patient_image
if __name__ =="__main__":
device = torch.device('cuda')
image_size = 128
image = torch.rand((1, 155, 240, 240, 4), device=device)
x = split_image(image, (128,128,128))
print("before Pinjie",image.shape)
print("after Pinjie",x.shape)

结果显示:

我们可以看到,我们将图像分割成8个128x128x128大小的图像。

详细代码,请看我的github

github
GitHub.
 

对3D图像进行裁剪的更多相关文章

  1. 全息眼镜HoloLens可快速捕捉真人3D图像

    http://www.d9soft.com/zixun/62287.html 北京时间3月28日午间消息,微软研发部门开发出一种新的3D视频捕捉系统“Holoportation”,可以实现将某人3D图 ...

  2. Python 画3D图像

    绘制一副3D图像 draw3D(X,Y,Z, angle) import numpy as np from matplotlib import pyplot as plt from mpl_toolk ...

  3. 纯CSS实现3D图像轮转

    CSS演武场今天继续,今天看一个纯css实现的3D图像轮转效果,请大家猛戳研究效果先,也可下载收藏先. 首先看html文件,div.billboard为效果的容器,利用10个div.poster分割图 ...

  4. thinkphp图像的裁剪、缩放、加水印

    ThinkPHP 图片处理函数,需要文字水印字体,可在windows下 控制面板 > 大图标(右上角) > 字体 找到需要的字体 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  5. 【转载】从零实现3D图像引擎:(2)画2D直线不简单

    原文:从零实现3D图像引擎:(2)画2D直线不简单 1. 数学分析 1) 画直线的问题 本来我以为画直线会很容易,随便拿个直线公式,遍历X求Y画出来不就完了么,但事实并非如此.以2D直线为例,因为3D ...

  6. 【转载】从零实现3D图像引擎:(1)环境配置与项目框架

    原文:从零实现3D图像引擎:(1)环境配置与项目框架 0. 要学懂3D程序设计,必然要精通3D相关的线性代数.3D几何.复分析等相关知识,我也因为如此才开始这个博客系列的写作,不自己实现,就不是自己的 ...

  7. PHP实现的自定义图像居中裁剪函数示例

    图像居中裁减的大致思路: 1.首先将图像进行缩放,使得缩放后的图像能够恰好覆盖裁减区域.(imagecopyresampled ― 重采样拷贝部分图像并调整大小) 2.将缩放后的图像放置在裁减区域中间 ...

  8. PHP 图像居中裁剪函数

    图像居中裁减的大致思路: 1.首先将图像进行缩放,使得缩放后的图像能够恰好覆盖裁减区域.(imagecopyresampled — 重采样拷贝部分图像并调整大小) 2.将缩放后的图像放置在裁减区域中间 ...

  9. OpenCV:图像的裁剪

    import cv2 import matplotlib.pyplot as plt def show(image): plt.imshow(image) plt.axis('off') plt.sh ...

  10. 使用CATransformLayer制作3D图像和动画

    之前我们讲过可以用CALayer搭配CATransform3D来实现将View做3D旋转, 今天我们再看一个3D的新东西 CATransformLayer, 看名字就知道这个layer跟旋转有关, 那 ...

随机推荐

  1. Fiddler使用界面介绍-底部状态栏

    底部状态栏 1.Capturing抓包状态 Capturing:Fiddler正在抓包 空白:Fiddler停止抓包 2.All Processes抓取进程类型 All Processes:抓取所有进 ...

  2. (二)MongoDB的在SpringBoot中的应用

    我来填之前MongoDB的坑了,项目中又用到MongoDB的我又想起来了,我这拖延症也是没谁了. 1.在pom.xml中引入依赖 <dependency> <groupId>o ...

  3. Windows报错0xc0000142的处理方法

    1.问题描述 桌面有个弹窗报错(0xc0000142),无法关闭,影响Windows的使用 此错误很有可能是缺少组件导致 2.解决办法 进入" C:\Windows\System32 &qu ...

  4. 【Spring】05 注解开发

    环境搭建 配置ApplicationContext.xml容器文件[半注解实现] <?xml version="1.0" encoding="UTF-8" ...

  5. ubuntu desktop改用无桌面方式启动

    事情是这样的,平时需要使用Ubuntu系统跑一下深度学习的AI代码,但是有时候就会十分的尴尬的遇到显存差几百兆不够的时候,这时候就能看到显卡上正好有这部分显存被Ubuntu的可视化界面的desktop ...

  6. 【转载】sun的rpc ——rpcbind(nfs文件系统中的rpc)

    原文地址: https://blog.csdn.net/wangpeng138375/article/details/8169071 ================================= ...

  7. java多线程之-线程池状态

    1.背景 这一节我们来学习一下线程池状态..... 2.线程池状态 状态名称 高3位 是否接受新任务 是否处理队列中的任务 说明 RUNNING 111 是 是 线程池正常运行状态 SHUTDOWN ...

  8. Java数组小白版

    一.数组概念 一.数组定义 数组就是指在计算机内存中开辟的连续存储空间,用于存放程序运行中需要用到的一组相同类型数据的容器. 二.数组的声明 +数组的长度 定义数组时需要确定数组的长度(元素的个数), ...

  9. SMU Spring 2023 Contest Round 1(MINEYE杯第十六届华中科技大学程序设计邀请赛)

    B. Contest Preparation 对n<=m和n==0时特判一下 #include <iostream> #include <cstdio> #include ...

  10. SMU Summer 2023 Contest Round 11(2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022))

    SMU Summer 2023 Contest Round 11(2022-2023 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2022 ...