如何用HyperSpy从Velox格式.emd文件提取HAADF-STEM堆叠图像
用HyperSpy提取Velox格式EMD文件中的HAADF-STEM堆叠图像
你已经完成了文件加载的第一步,接下来可以通过以下两种简便方法提取并保存堆叠中的每一张独立HAADF图像:
方法一:一键拆分堆叠(最简便)
HyperSpy的split()方法可以直接将堆叠数据集拆分为单个图像的列表,之后批量保存即可:
import hyperspy.api as hs path = r'C:\Users\SI_File.emd' s = hs.load(path) # 拆分堆叠为单个图像的列表 single_images = s.split() # 遍历列表逐个保存,文件名可自定义 for idx, img in enumerate(single_images): # 示例:保存为TIFF格式,文件名带序号 img.save(f"HAADF_image_{idx+1}.tif", overwrite=True)
方法二:手动遍历切片(更灵活)
如果需要对单张图像做预处理再保存,或者要自定义索引逻辑,可以手动遍历导航轴提取切片:
import hyperspy.api as hs path = r'C:\Users\SI_File.emd' s = hs.load(path) # 遍历导航轴的每个位置 for i in range(s.axes_manager.navigation_size): # 提取第i个图像切片 img_slice = s.inav[i] # 可在此添加图像预处理代码(如降噪、调整对比度等) # 保存切片 img_slice.save(f"HAADF_slice_{i+1}.tif", overwrite=True)
注意事项
- 保存格式支持TIFF、PNG、EMD等,修改文件后缀即可切换
- 若加载后数据维度不符合预期(比如堆叠轴不是导航轴),可以用
s.transpose()调整轴顺序 - 保存TIFF格式时,图像的校准、缩放等元数据会自动保留
内容的提问来源于stack exchange,提问作者Messor
相关产品推荐
相关产品推荐

