问题描述
我正在对.tif射线照片进行一些修改,这是进一步分析所必需的。 但是,进一步的分析(在专有软件中...)期望在这些射线照片的标题中准确找到该字段:
'ImageDescription':'坡度= 2.13626E-05 \ roffset = 0.00000E + 00',
因为斜率和偏移量最终是重要的参数。
我用tifffile保存修改过的.tifs(从skimage.io调用):
tifffile.imsave(outname,modified_image))
现在,当阅读这些新颖的.tif并查看标题时,“ ImageDescription”字段具有很多信息:
'ImageDescription':'{“ shape”:[789,960]}', 'StripOffsets':(304,), 'SamplesPerPixel':1, 'RowsPerStrip':789, 'StripByteCounts':(1514880,), 'XResolution':(1,1), 'YResolution':(1,1), 'ResolutionUnit':
, '软件':'tifffile.py'}
但是我想用前面提到的短字符串替换所有这些。我发现的最有前途的功能是:
tifffile.imsave(outname,modified_image,description='slope = 2.13626E-05 \roffset = 0.00000E+00'))
但是,这似乎不起作用。 它不会引发错误,但是读取文件“ outname”并探究其头文件,仍然是我不希望使用的长命令,也没有提及我想要的字符串。
通过尝试,我最终以“ ImageDescription”的形式引发了错误,该错误无法用字符串填充,这让我感到震惊,因为“ imsave”与“ description”字段应该精确地用字符串填充“ ImageDescription” ...
有人会了解发生了什么,并且知道解决方法吗?
解决方法
编辑图像中元数据的最有效工具可能是exiftool
,因此您可以这样做:
exiftool -Description='slope = 2.13626E-05 \roffset = 0.00000E+00' image.tif