有没有办法覆盖tif文件的“ ImageDescription”?

问题描述

我正在对.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