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) # 打印错误消息,但也可以选择记录日志或采取其他措施
# 对元组列表进行排序,元组的第一个元素是数字,第二个元素是文件名