当前位置: 首页 > news >正文

python将数据集中所有文件名升序制作txt文件(医学影像)

import os  
import re  # 设定图像文件所在的路径  
img_path = './2d/images/'  #需修改路径
# 获取该路径下的所有文件名  
img_list = os.listdir(img_path)  # 过滤出以.nii结尾的文件名  
nii_list = [f for f in img_list if f.endswith('.nii')]  # 使用正则表达式从文件名中提取数字部分,并转换为整数  
# 如果找不到数字,则抛出一个异常  
def extract_number_from_filename(filename):  match = re.search(r'(\d+)_', filename)  if match:  return int(match.group(1))  else:  raise ValueError(f"No number found in filename: {filename}")  # 存储能够成功提取数字的文件名和对应的数字(用于排序)  
sortable_files = []  # 尝试提取每个文件名中的数字,并添加到sortable_files列表中  
for nii_file in nii_list:  try:  number = extract_number_from_filename(nii_file)  sortable_files.append((number, nii_file))  except ValueError as e:  print(e)  # 打印错误消息,但也可以选择记录日志或采取其他措施  # 对元组列表进行排序,元组的第一个元素是数字,第二个元素是文件名  
sortable_files.sort()  # 提取排序后的文件名  
sorted_nii_filenames = [filename for _, filename in sortable_files]  # 打印排序后的文件名列表(可选)  
print('排序后的文件名列表: ', sorted_nii_filenames)  # 将排序后的文件名写入文本文件  
with open('testImagelist.txt', 'w') as f:  for img_name in sorted_nii_filenames:  f.write(img_name + '\n')

本案例使用的是CT影像的nii格式数据集,代码实现过程中可根据实际情况调整!

效果:

http://www.lryc.cn/news/476216.html

相关文章:

  • 【The Art of Unit Testing 3_自学笔记06】3.4 + 3.5 单元测试核心技能之:函数式注入与模块化注入的解决方案简介
  • 【VSCode】配置
  • Linux 常用命令整理大全及命令使用心得
  • 计算器的实现
  • 这个工具帮你快速实现数据集成和同步
  • 论文阅读:Computational Long Exposure Mobile Photography (一)
  • 项目解决方案:多地连锁药店高清视频监控系统建设解决方案(设计方案)
  • utf-8、pbkdf2_sha
  • Java之包,抽象类,接口
  • HarmonyOS鸿蒙开发入门,常用ArkUI组件学习(二)
  • 斩!JavaScript语法进阶
  • UFO:Windows操作系统的具象智能代理
  • win10/11无休眠设置和断电后电池模式自动休眠而不是睡眠-用以省电
  • 【动态规划之斐波那契数列模型】——累加递推型动态规划
  • 5g通信系统用到的crc码
  • Ubuntu-22.04 虚拟机安装
  • Windows、Linux系统上进行CPU和内存压力测试
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发八,使用SDLVSQT显示yuv文件 ,使用ffmpeg的AVFrame
  • HTML 标签属性——<a>、<img>、<form>、<input>、<table> 标签属性详解
  • css简写属性
  • 力扣刷题(sql)--零散知识点(2)
  • TCP是怎样工作的网络拥塞控制理论和算法部分记录
  • CSRF初级靶场
  • CSP/信奥赛C++刷题训练:经典差分例题(2):洛谷P9904 :Mieszanie kolorów
  • Java | Leetcode Java题解之第525题连续数组
  • YOLOv8改进 - 注意力篇 - 引入iRMB注意力机制
  • 项目学习总结
  • 用于低成本接收机的LoRa SF11 500KHz波形检测解调算法
  • WEB防护
  • 使用Jest进行JavaScript单元测试