医学图像预处理(四)—— 提取包含目标的切片(比如仅提取包含肿瘤或肝脏的切片)

在训练网络时,一般目标区域越有针对性效果越好,因此经常会在训练前对数据进行预处理,提取出包含有目标的那些切片。
下面是示例代码(原始数据是3D ct images)

简单的方法:

def getRangImageDepth(image):
	"""
	args:
	image ndarray of shape (depth, height, weight)
	"""
	# 得到轴向上出现过目标(label>=1)的切片
    z = np.any(image, axis=(1,2)) # z.shape:(depth,)
    startposition,endposition = np.where(z)[0][[0,-1]]
    return startposition, endposition

稍微复杂点的写法:

def getRangImageDepth(image):
	"""
	args:
	image ndarray of shape (depth, height, weight)
	"""
	firstflag = True
	startposition = 0
	endposition = 0
	for z in range(image.shape[0]):
		notzeroflag = np.max(image[z])
		if notzeroflag and firstflag:
			startposition = z
			firstflag = False
		if notzeroflag:
			endposition = z
    return startposition, endposition

看到一个论文里是这样处理的,但还没有实验过,不知道效果怎么样

We trained CNNs using image patches centered at each pixel. These patches were divided into tumor and normal liver tissue. A given patch is labeled as positive sample if it contains at least 50% or more of liver tumor pixels, otherwise it is labeled as negative sample. In consideration of the training time and the balance of training samples, we randomly sampled the same number of negative samples as much as the positive samples.
——《Automatic Segmentation of Liver Tumor in CT Images with Deep Convolutional Neural Networks》

  • 5
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值