自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 决策曲线DCA的绘制

今天被要求画一下决策曲线,用Python试了半天也没画出来,最后参考了资料还是用R语言绘制了出来。将四条曲线画在一张表中。

2024-08-04 23:59:20 405

原创 word修改一处全文都变了

在word中修改一处文字,全文都变了,还得重新排版。来来回回、反反复复特别麻烦。主要是因为word的文档用WPS打开,WPS自动做了更改。我们将word中的文字的样式取消自动更新就可以了。右键“正文1”,选择“修改”将子等更新的√,取消掉。

2024-07-31 01:24:31 5714

原创 医学图像dcm格式如何转化为nii格式

在做任务的时候,经常需要用到nii格式的图像,而下载的时候大多下载为dcm格式的图像,下面的脚本可以将dcm格式转化为nii格式。

2024-07-29 16:24:43 377

原创 深度学习使用交叉验证(2)

所以,在训练的时候想到了使用交叉验证的方法。只划分为训练集和测试集。在训练的时候,使用交叉验证选出结果最好的模型,在测试集上直接进行测试。在之前的项目中,数据比较多。都是按照7:1:2分为训练集、验证集和测试集,用验证集选出最优的模型,然后在测试集上进行测试。但是这次项目的数据比较少,验证集和测试集只有十几个、二十几个,这样用来验证、测试模型不能具有很大意义。查阅了一些资料,最终在深度学习中实现了交叉验证。

2024-07-28 20:54:23 313

原创 深度学习中怎么使用交叉验证

简单来说,就是将数据划分为n分,(n-1)份用于训练,1份用于验证,大概就是n折交叉验证了。假如我的训练集有100个样本,在训练的时候使用5折交叉验证,就是把这100个样本分为5份,4份用于训练,1份用于验证。而分成的5份分别做一次验证集,就是交叉了5次。数据的长度为: 80数据的长度为: 20数据的长度为: 80数据的长度为: 20数据的长度为: 80数据的长度为: 20数据的长度为: 80数据的长度为: 20数据的长度为: 80数据的长度为: 20。

2024-07-28 00:25:07 1190

原创 nifti library failed to write image

ITK ERROR: NiftiImageIO(000001F74304E4C0): ERROR: nifti library failed to write imageC:\Users\Administrator\Desktop\Breast\NIIdata\低表达\T1\AN_HAI_YING.nii。File "E:\pycharmproject\Breast3\prepare\1dcm转为nii文件.py", line 47, in <module>在将dcm文件转nii格式的时候报错。

2024-07-26 23:25:01 501

原创 论文中的流程图参考图片

写论文的时候,在绘制流程图时,一直纠结n是大写还是小写,用不用斜体,=号两边要不要空格。今天找到了一张标准的流程图来参考。

2024-07-24 00:43:44 421

原创 如何调整图像的窗宽窗位

在这个视频里,博主在8:30~12:00介绍了调节图像窗宽窗位的方法,对于医学图像可以进行显示。下面是调节窗宽窗位的代码。

2024-07-22 00:53:38 271

原创 Jupyter Notebook/Lab 的安装及添加R的详细步骤

Jupyter Notebook/Lab 的安装及添加R的详细步骤 - 徐海建 - 博客园 (cnblogs.com)

2024-06-02 00:39:52 316

原创 pytorch修改ConvNeXt-T网络

使用迁移学习,修改ConvNeXt-T网络,对特征进行融合。

2024-05-28 22:39:39 347

原创 COX回归特征筛选

任务:利用cox筛选出P值小于0.05的特征。数据的格式第一列为标签,第二列及后为特征。先想一想,想好了再更新。

2024-05-12 23:40:50 267

原创 对数据进行标准化和归一化

数据的形式:保存在CSV中,第一列为姓名,第二列之后为特征。

2024-05-12 22:43:33 327 1

原创 绘制loss和acc图

绘制损失图:导入loss的npz文件。

2024-05-12 22:08:51 142

原创 根据标签最大层面ROI提取原始图像区域(二)

有两个文件,一个是nii的原始图像文件,一个是nii的标签文件。我们要实现的是:在标签文件上选出最大层面,然后把最大层面的ROI映射到原始图像区域,在原始图像上提裁剪出ROI区域,这次裁剪的方法和上期的不同,上次是将ROI的整个边界区域提取出来,插值到224*224。这次是在标签上找到勾画ROI的最多的那一层,找到这个ROI区域的中心点在整个图像的坐标,然后根据这个坐标在映射到原始图像上,向四周延申出224*224大小的图像。这就不能保证勾画的边界。今天要实现的任务还是提取肿瘤的感兴趣区域。

2024-05-12 00:32:19 462

原创 glob库和split函数的用法

glob库可以获取文件夹下为个文件的绝对路径,会保存到一个列表中。dir为一个文件夹,存放着三张jpg格式的图像。获取的路径可以拆分为列表。

2024-05-05 22:51:16 158

原创 nii格式mask映射为新的mask

在DCE图像上勾画的ROI转换为nii格式形成的mask,形状和DCE的原始图像一致,用于特征提取,形状不一致不能特征提取;这个脚本根据DCE勾画的mask,和T2的图像,生成T2的mask,形状和T2一致,用于特征提取;DCE图像和T2图像的形状不一致,所以mask不能用于T2的特征提取;

2024-05-05 22:40:17 246

原创 将图像特征和CSV中的特征保存到h5文件中

这个脚本的任务是:从mask中提取最大的ROI,然后映射到DCE原图中,获取原图最大ROI的上一层及下一层,共三层。然后去除掉周围的0像素,再利用双线性插值到224*224大小的图像。再映射到T2序列的原图中,得到224*224大小的图像。还要获取CSV中这个患者的特征。将图像信息及CSV中的特征一块保存到h5文件中。以便在网络中进行融合。

2024-05-05 11:33:16 272

原创 单通道合并为三通道输入resnet网络

我们在做多序列任务时,一个患者会有多个序列的图像,每个序列的图像都是1通道的灰度图像,我们可以把一个患者的多有序列合并为多通道输入网络,这里举个3序列的例子。

2024-05-05 11:22:16 368

原创 迁移学习修改最后把一层类别数

【代码】迁移学习修改最后把一层类别数。

2024-04-28 11:33:42 299

原创 block = nn.Sequential()的用法

使用add_module往sequential中添加元素。

2024-04-27 21:40:28 129

原创 根据标签最大层面ROI提取原始图像区域

我们要实现的是:在标签文件上选出最大层面,然后把最大层面的ROI映射到原始图像区域,在原始图像上提裁剪出ROI区域,然后根据这个ROI,在其上面一层和下面一层,共裁剪出三张原始图像。说明第23张图像是ROI层面最大的图像,(准确应该是第24张,因为从0开始)筛选出标签图像中不为0的像素值最多的那张图像,就是层面最大的图像。根据最大层面的ROI,映射到对应的原始图像中,以及上一层和下一层。有两个文件,一个是nii的原始图像文件,一个是nii的标签文件。将原始图像和标签图像的像素值提取出来。

2024-04-27 14:19:12 516

原创 检查文件夹

检查文件夹,如果文件夹存在就删除掉,不存在就建一个。

2024-04-27 10:36:40 114

原创 pyradiomics批量提取特征

我们有两个文件,一个是原始图像的nii文件,一个是标签图像的nii文件。然后实例化函数:也可以不传入参数,可以传入一些参数进行设置。保存到csv文件中,不保存行列名。一些具体参数的设置参考。

2024-04-27 01:15:34 843

原创 提取出图像的感兴趣区域

仔细观察发现,应该是标注的时候有一个点标注为了1。这时候,我们将原始图像×标签图像,就是标注图像的区域,那么就在原始图像上提取出标注图像的位置。我们将这张只有感兴趣的图像,用来深度学习,就会大大减少遭受的干扰,从而更好的收敛。这时候我们如果运用上一篇博文的代码,去除周围的0像素,那么处理后的图像。我们将标注好的标签保存为了.tif格式,进行可视化后为。可见我们标注图像的数值只有0和1,前景为1,背景为0.使用图像数值统计代码进行数值统计标注的图像数值。将图像的数值统计后进行条形图展示。

2024-04-21 22:28:41 645 3

原创 去除图像周围的0像素,调整大小

在做分割任务时,经常需要处理图像,如果图像周围有一圈0像素,需要去除掉,重新调整大小。

2024-04-21 21:16:28 450

原创 图像通道在网络中的拆分和合并

输入的图像通道数可以在网络中拆分,也可以在网络中合并,这样就能实现特征融合的多样性。是使x在1的维度上均等的拆分为2份。

2024-04-21 11:36:07 120

原创 channel_shuffle代码实现

结构图,先将输入的图像进行通道拆分为组GConv1,每个GConv1再拆分Feature,每个GConv1的Feature进行合并GConv2,输出Output。输入图像x,拆分为groups个组,每隔组的通道数为channels_per_group。再将1和2的维度进行调换 ,就实现了Feature到GConv2。

2024-04-21 11:32:12 631

原创 改变图片的DPI和 清晰度

投稿时,我们的图片不满足要求,经常需要修改,这个博主讲解了几种方法,非常好。

2024-04-21 02:04:40 345

原创 最邻近插值和线性插值

"""最邻近插值算法:输入图像数组:param output_shape:输出图像的 shape:return:输出图像数组"""# 输入图像的宽高# 计算输出图像的宽高# 创建输出图像# 遍历输出图像的每个像素,分别计算其在输入图像中最近的像素坐标,并将其像素值赋值给当前像素# 计算当前像素在输入图像中的坐标# 判断计算出来的输入像素坐标是否越界,如果越界则赋值为边界像素# 将输入像素的像素值赋值给输出像素这个是通过输入原始图像和目标图像的高和宽来对图像进行邻近插值:"""

2024-04-20 22:11:14 1598

原创 numpy.clip()函数,torch.clamp() 函数的使用

array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8]) # a被限制在1-8之间。array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) # 没改变a的原值。>>> np.clip(a, 3, 6, out=a) # 修剪后的数组存入到a中。# 3 > 2 -->大于最小值 则等于本身 再和最大值比 没超过最大值 所以为3。# 当a_min为数组时, a中每个元素和都和a_min中对应元素比较。# 0 < 3 -->小于最小值 则等于3。

2024-04-20 13:32:43 512

原创 列表的.pop()方法,.insert()

就是将最后的一个数取出赋给一个变量,同时原列表也会删除掉最后一个数。.pop()方法是将列表的顺序从后向前取出。

2024-04-20 12:08:36 120

原创 在word中将公式复制后变成了图片怎么解决

是由于文件复制后格式不兼容造成的,需要转化一下。

2024-04-13 01:05:19 4783 3

原创 meshgrid如何生成网格

这里举个生成4*4的网格,在目标检测里常用到。使用meshgrid生成y、x轴坐标。这样每个点的坐标就生成了。再在2的维度上拼接。

2024-04-06 12:54:23 267

原创 将一个文件中的空格和#字符去掉

我们在文件中会一行一行的写入,空格和#字符的注释是没有的,需要去掉。

2024-04-05 23:46:45 148

原创 VOC2012数据集格式转化为YOLO格式

下面是 VOC2012数据集的目录格式。

2024-04-05 21:20:01 495

原创 修改resnet50网络的结构层

【代码】修改resnet50网络的结构层。

2024-03-31 22:04:54 203

原创 pycharm安装插件

pycharm安装插件显示网络错误/无法安装。然后重启pycharm就可以安装软件了。

2024-03-22 23:29:33 354

原创 conda 查看激活自己的新环境,labelImg的使用

我们可以在基础环境中查看我们有几个环境。

2024-03-22 21:58:05 497

原创 优化器的使用

这里我们使用了SGD优化器,定义了一个lambda函数,依次递减,这样就将开始的学习率降到了原始的十分之一。

2024-03-15 21:41:24 200

原创 Grad_CAM图

导入我们训练好的模型参数和模型。注意我们这里导入的是一维的灰度图像。就可以画出Grade_CAM图。我们要将网络学习到的特征进行可视化。我们的utils文件。

2024-03-14 02:41:26 586

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除