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

如何用Python从.tvips文件提取TEM图像并保存为PNG/TIF格式?

提取.tvips文件中的TEM图像并保存为常规格式

前置准备

先安装所需依赖包:

pip install libertem pillow
  • libertem:专门用于读取.tvips格式文件
  • pillow:负责将图像数据转存为PNG/TIF等常规格式

提取并保存图像的代码示例

import numpy as np
from libertem.api import Context
from PIL import Image

# 初始化liberTEM上下文
ctx = Context()

# 加载目标.tvips文件,替换为你的实际文件路径
dataset = ctx.load("tvips", path="your_file.tvips")

# 遍历所有图像,按顺序保存
for img_idx in range(dataset.shape[0]):
    # 获取单张1024×1024的图像原始数据(numpy数组格式)
    raw_image = dataset[img_idx].data
    
    # --- 保存为PNG(适配8位显示格式)---
    # TEM图像多为16位数据,需归一化到0-255范围以适配PNG格式
    normalized_img = ((raw_image - raw_image.min()) / (raw_image.max() - raw_image.min()) * 255).astype(np.uint8)
    Image.fromarray(normalized_img).save(f"tem_img_{img_idx:04d}.png")
    
    # --- 保存为TIF(保留16位原始精度)---
    # 直接用原始数据保存,适合需要高精度分析的场景,可选LZW压缩
    # Image.fromarray(raw_image).save(f"tem_img_{img_idx:04d}.tif", compression='LZW')

print("所有图像提取保存完成")

关键说明

  • dataset.shape[0]:获取.tvips文件中包含的图像总数
  • dataset[img_idx].data:通过索引直接访问单张图像的numpy数组数据
  • 格式选择:
    • PNG:适合快速预览,需将16位数据归一化到8位
    • TIF:支持16位原始数据,保留更多图像细节,适合后续专业分析
  • 文件名用img_idx:04d是为了保证图像按采集顺序排列(如0000、0001...),避免排序混乱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:45:42