You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python实现基于扫描布局的显微镜.tif文件批量重命名

实现思路与步骤

1. 核心需求梳理

从显微镜生成的generic_name_vXXzYYYY或generic_name_vXX_zYYYY格式TIF文件中,提取视野序号v和Z轴序列号z,按照7行13列的蛇形扫描规则,将v转换为[XX x YY]格式的坐标,最终重命名为generic_name_[XX x YY]_zYYYY。

2. 关键步骤拆解

(1)文件名解析

用正则表达式匹配文件名,精准提取v和z的数字部分,兼容带/不带下划线的两种格式:

import re
# 匹配两种文件名格式:vXXzYYYY 或 vXX_zYYYY
pattern = re.compile(r'generic_name_v(\d+)_?z(\d+)')

通过正则分组可获取v的整数(如v01→1)和z的整数(如z0001→1)。

(2)蛇形坐标转换

根据7行(Y轴)13列(X轴)的蛇形规则(奇数行从左到右,偶数行从右到左),编写坐标转换函数。以下是适配用户例子(v01对应00 x 00、v91对应13 x 07)的1-based版本:

def v_to_xy(v_num, cols=13, rows=7):
    # 计算1-based行号
    row = (v_num - 1) // cols + 1
    # 计算行内0-based位置
    pos_in_row = (v_num - 1) % cols
    # 蛇形逻辑:奇数行X递增,偶数行X递减(1-based)
    if row % 2 == 1:
        x = pos_in_row + 1
    else:
        x = cols - pos_in_row
    y = row
    # 格式化为两位字符串(如7→07,13→13)
    return f'{x:02d}', f'{y:02d}'

若需0-based坐标,去掉所有+1,将row = (v_num - 1) // cols即可。

(3)批量重命名文件

用os和glob模块遍历目标文件夹,对符合格式的文件执行重命名:

import os
from glob import glob

# 配置参数
target_dir = './your_tif_folder'  # 替换为你的文件路径
cols = 13
rows = 7
prefix = 'generic_name'

# 获取所有TIF文件
tif_files = glob(os.path.join(target_dir, '*.tif'))

for file in tif_files:
    filename = os.path.basename(file)
    match = pattern.match(filename)
    if not match:
        print(f'跳过不符合格式的文件:{filename}')
        continue
    # 提取v和z的整数
    v_num = int(match.group(1))
    z_num = int(match.group(2))
    # 转换为坐标字符串
    x_str, y_str = v_to_xy(v_num, cols, rows)
    # 生成新文件名(保留z的4位格式)
    new_filename = f'{prefix}_[{x_str} x {y_str}]_z{z_num:04d}.tif'
    # 拼接路径
    old_path = os.path.join(target_dir, filename)
    new_path = os.path.join(target_dir, new_filename)
    # 先打印测试,确认无误后取消注释rename
    print(f'{filename} → {new_filename}')
    # os.rename(old_path, new_path)

3. 注意事项

  • 测试优先:先运行打印新旧文件名的代码,确认坐标转换正确后,再执行重命名操作。
  • 避免覆盖:若存在同名文件,os.rename会直接覆盖,可提前检查新路径是否存在。
  • 格式兼容:正则中的_?确保能匹配带/不带下划线的文件名,若有其他格式可调整正则表达式。

内容的提问来源于stack exchange,提问作者Rijndert Ariese

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:55:26