首页 > 解决方案 > skimage.external.TiffWriter:命名重要性

问题描述

我需要将图像保存为 .tif。我无法安装新的 python 包(大学控制的计算机,带有 Anaconda),所以我决定使用 skimage.external 中可用的 Tifffile。

问题来了:以下代码运行良好,并保存了我的图像的 3 个通道:

from skimage.external.tifffile import TiffWriter
import numpy as np
path = '26.01.2021 NLFK CPV timeseries A3B10 imaged 07.04.2021/26.01.2021 NLFK CPV timeseries A3B10 imaged 07.04.2021/Processed'
result_img2 = np.zeros((3, 512, 512))
res = (6.006634765625e-08, 6.006634765625e-08)
raw_b = str('abcdefg')
meta = {}
for i, c in enumerate(result_img2): 
    with TiffWriter(path+'/'+'test_C'+str(i)+'.tif') as tif:
        tif.save(np.array(c, dtype='uint8'), resolution=res, description=raw_b, metadata=meta)

但我就是不能将我的图像命名为“测试”!但是,这样做:

filename = "07.04.2021 NLFK nucleolin r488 A3B10 m546 DAPI mock Preview 2_nucleus1_"
with TiffWriter(path+'/'+filename+str(i)+'.tif') as tif:
    tif.save(np.array(c, dtype='uint8'), resolution=res, description=raw_b, metadata=meta)

导致Errno 2错误。

我试图检查此文件名是否包含禁止字符(来自另一篇文章):

keepcharacters = (' ','.','_')
filename = "".join(c for c in filename if c.isalnum() or c in keepcharacters).rstrip()

或编码filename.encode('utf8'),它也失败了(再次,Errno 2)。

名称表示每个实验的条件,每次都在变化,所以我需要这样保存。快速检查后,我可以将其保存在 .py 的根目录中。但同样,我需要将文件保存在各自的文件夹中。知道我的麻烦在哪里吗?

标签: pythontiffscikit-image

解决方案


推荐阅读