栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

医学图像多目标分割,numpy实现保留对应标签为1 其他全部置零用来剥离对应组织

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

医学图像多目标分割,numpy实现保留对应标签为1 其他全部置零用来剥离对应组织

利用 numpy isin 函数

import torch
import torch.nn.functional as F
import numpy as np
import os
import SimpleITK as sitk
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False  # 步骤二(解决坐标轴负数的负号显示问题)
plt.rcParams['xtick.direction'] = 'in'  #使得x轴刻度线向内
plt.rcParams['ytick.direction'] = 'in'  #使得y轴刻度线向内

def MaxMinNormalization(image):
    Max = np.max(image)
    Min = np.min(image)
    image = (image - Min) / (Max - Min + 0.000001)
    return image

root = r'C:UserstangxPycharmProjectsmridatatrainIBIS0015V06'


segment_path = os.path.join(root,"segment.nii.gz")
segment_array = sitk.GetArrayFromImage(sitk.ReadImage(segment_path))

t1_path = os.path.join(root,"t1.nii.gz")
t1_array = sitk.GetArrayFromImage(sitk.ReadImage(t1_path))


t1_array = MaxMinNormalization(t1_array)
t1_array = (t1_array * 255).astype(int)
print(t1_array.max())
print(t1_array.min())
print(t1_array.shape)

def count_distribution(img):

    dis_list = np.zeros(256)
    for i in range(img.shape[0]):
        for j in range(img.shape[1]):
            for k in range(img.shape[2]):
                index = int(img[i,j,k])
                if index != 0:
                    dis_list[index] = dis_list[index] + 1
    return dis_list


t1_array_csf_label = np.isin(segment_array,1)
t1_array_csf_label = t1_array_csf_label.astype(int)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983250.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号