![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习笔记
程序媛JD
迈进码农的世界啦,加油
展开
-
用pydicom 读患者的dicom图像的信息
import pydicom as dicomdicom_path = r'xxxx\0501506\I3Y2F1PE\SW3LNJ3W\I1000000'dcm = dicom.read_file(dicom_path,force=True)print("PatientID:",dcm.PatientID)#病人idprint("StudyInstanceUID:",dcm.StudyInstanceUID)#扫描的时间编号id,相同的扫描时间这个id是相同的print("SeriesInsta原创 2021-11-24 21:23:51 · 852 阅读 · 0 评论 -
从数据预处理开始,用最简单的3D的CNN实现五折交叉验证的MRI图像二分类(pytorch)
文章目录前言一、将nii图像数据转成npy格式二、加载数据1.加载数据,Dataset.py:1.一些其他函数,utils.py:二、建模 model.py二、训练 train.py二、预测 predict.py总结前言本文从数据预处理开始,基于LeNet搭建一个最简单的3D的CNN,计算医学图像分类常用指标AUC,ACC,Sep,Sen,并用5折交叉验证来提升预测指标,来实现3D的MRI图像二分类一、将nii图像数据转成npy格式首先将nii图像数据转成npy格式,方便输入网络import原创 2021-10-27 16:29:11 · 8071 阅读 · 37 评论 -
dicom转nii时,解决切片顺序保存混乱的问题
在将dicom转nii的时候遇到了一个问题,就是医院给的dicom数据的每一个切片的命名是乱的,转成nii之后序列的z轴完全就是乱的,如下所示:按切片顺序打印的图像,完全就是乱序的,在ITK中打开也可以看到图像z轴是乱的:在网上找的dcm转nii的代码都是按照dcm命名来对dcm进行排序的,但是医院有时候给的数据命名不规范解决方案:用MicroDicom打开dicom图像,查看Dicom Tags,使用Instance number对切片进行排序,这个字段是存在dcm图像中的,而且按切片顺序保存原创 2021-11-29 19:59:00 · 2194 阅读 · 6 评论 -
python手写画直方图
使用python来绘制图像的直方图:from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltim = Image.open("axon01.tif")img_array = np.array(im)print(img_array.shape)#打印图像的大小print(img_array.max(),img_array.min())#打印图片的灰度值的最大值和最小值gray_hist=np.zeros(im原创 2021-03-30 11:24:35 · 370 阅读 · 0 评论 -
最大最小频率的整数的差(python)
小明最近经常会思考一些关于整数的问题。今天他想到这么一个问题:现在有n个整数,其中有些整数相同,也有一些整数不相同。首先需要找出其中出现次数最多的整数,如果出现次数最多的整数不唯一,则找出其中值最大的整数。记为M;然后再找出其中出现次数最少的整数,如果出现次数最少的整数不唯一,则找出其中值最小的整数,记为N;最后计算M和N的差,即输出(M-N)。 请你编写一个程序帮助小明解决这个问题。输入描述单组输入。第1行包含一个正整数n,表示输入的整数个数。(n<=10^5)第2行包含n个整数,两两之间用空格原创 2022-04-12 21:08:33 · 676 阅读 · 0 评论 -
pandas对数据进行分组,并取分组后第一条和分组后最大值和最小值的行
读数据import pandas as pd ad = pd.read_excel('/data1/xx/ad/量表/ADNIwithScore(1).xls',sheet_name = 'AD453')print(ad.shape)ad.head(10)可以看到subject是病人,一个病人有好几次扫描,但我每个病人只想取其中一行。对subject进行分组,如果想取每组的第一个ad_first = ad.groupby('Subject').first()print(ad_first.原创 2021-11-04 22:03:25 · 10026 阅读 · 0 评论 -
线性回归以及python代码实现
线性模型线性回归(linear regression)多元线性回归原创 2021-03-18 23:17:01 · 3235 阅读 · 1 评论 -
逻辑回归(对数几率回归)推导及python代码实现
逻辑回归,也叫对数几率回归:import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets._samples_generator import make_classificationclass logistic_regression(): def __init__(self): pass # 先定义一个sigmoid函数 def sigmoid(self原创 2021-03-30 20:24:18 · 3410 阅读 · 2 评论 -
线性判别分析(LDA)推导及python实现
代码实现:import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dclass LDA(): def __init__(self): self.w=None def calculate_covariance_matrix(self,X,Y=None): #计算协方差矩阵 m=X.shape[0] ...原创 2021-03-30 22:21:43 · 5608 阅读 · 4 评论 -
python基础
PyCharm 的初始设置(知道)目标恢复 PyCharm 的初始设置第一次启动 PyCharm新建一个 Python 项目设置 PyCharm 的字体显示PyCharm 的升级以及其他PyCharm 的官方网站地址是:https://www.jetbrains.com/pycharm/01. 恢复 PyCharm 的初始设置PyCharm 的 配置信息 是保存在 用户家目录下 的 .PyCharmxxxx.x 目录下的,xxxx.x 表示当前使用的 PyCharm 的版本号如果要恢原创 2021-03-24 10:09:55 · 15672 阅读 · 0 评论 -
pyhton面向对象笔记
面向对象(OOP)基本概念面向对象编程 —— Object Oriented Programming 简写 OOP目标了解 面向对象 基本概念01. 面向对象基本概念我们之前学习的编程方式就是 面向过程 的面相过程 和 面相对象,是两种不同的 编程方式对比 面向过程 的特点,可以更好地了解什么是 面向对象1.1 过程和函数(科普)过程 是早期的一个编程概念过程 类似于函数,只能执行,但是没有返回值函数 不仅能执行,还可以返回结果1.2 面相过程 和 面相对象 基本概念1原创 2021-03-22 22:11:49 · 1095 阅读 · 2 评论 -
在python中用matplotlib绘制简单的横向和纵向条形图
绘制横向条形图:plt.barh(x,y,height=0.2,color="red",label="第一天")#x,y为横纵坐标数据,height设置条形图的宽度,color设置条形图颜色,label设置条形图图列绘制三条条形图的代码示例如下:from matplotlib import pyplot as pltfrom matplotlib import font_manager...原创 2020-03-04 14:24:01 · 11197 阅读 · 1 评论 -
在matplotlib使用中文坐标轴,设置坐标轴,标题字体及字体大小
matplotlib的坐标轴中一般是不支持中文,在windows中要使用中文坐标轴的话,需要调用电脑中的字体。from matplotlib import pyplot as plt#导入matplotlibfrom matplotlib import font_manager#导入字体管理模块import random#导入随机生成模块my_font = font_manager.Fon...原创 2020-03-02 11:38:50 · 15704 阅读 · 0 评论 -
matplotlib绘折线图,散点图,调整图片大小,调整坐标轴刻度,显示并保存图片
matplotlib绘图基本代码:from matplotlib import pyplot as plt#导入matplotlibplt.figure(figsize=(18,8),dpi=80)#调整图片大小,图片大小设置为18*8,dpi为每个英寸的像素点,可以调整图片清晰度x = range(2,26,2)#x值设置为2到26之间的数,步长为2y = [23,12,15,24,26...原创 2020-03-02 11:22:41 · 3135 阅读 · 0 评论 -
python中的os模块
os模块● os.name字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。● os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。● os.getenv()和os.putenv()函数分别用来读取和设置环境变量。● os**.listdir()返回指定目录下的所有文件和目录名。● os.r...原创 2019-12-04 22:16:54 · 121 阅读 · 0 评论