Using Different ICC Profiles in Multipage TIFF

Started by cp2732, May 14, 2020, 09:29:48 PM

Previous topic - Next topic

cp2732

Hi - Is there a way to replace an existing (or insert a new) ICC Profile associated with a particular page in a multipage TIFF file? I am trying to insert both grayscale and sRGB ICC Profiles into the same multipage TIFF file using tiff files already containing the ICC Profiles I want to use. The following does not work if I try to insert the sRGB ICC Profile from the source file profile-rgb.tif into the second IFD entry of the destination file multipage.tif: exiftool -TagsFromFile profile-rgb.tif '-IFD1:icc_profile:all<icc_profile:all' -v3 multipage.tif

When I try this, I get the following output:
Setting new values from profile-rgb.tif
Sorry, IFD1:icc_profile:RenderingIntent doesn't exist or isn't writable
Sorry, IFD1:icc_profile:RedTRC doesn't exist or isn't writable
Sorry, IFD1:icc_profile:RedMatrixColumn doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileVersion doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileID doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileFileSignature doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileDescription doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileDateTime doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileCreator doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileCopyright doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileConnectionSpace doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileClass doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ProfileCMMType doesn't exist or isn't writable
Sorry, IFD1:icc_profile:PrimaryPlatform doesn't exist or isn't writable
Sorry, IFD1:icc_profile:MediaWhitePoint doesn't exist or isn't writable
Sorry, IFD1:icc_profile:MediaBlackPoint doesn't exist or isn't writable
Sorry, IFD1:icc_profile:GreenTRC doesn't exist or isn't writable
Sorry, IFD1:icc_profile:GreenMatrixColumn doesn't exist or isn't writable
Sorry, IFD1:icc_profile:DeviceModel doesn't exist or isn't writable
Sorry, IFD1:icc_profile:DeviceManufacturer doesn't exist or isn't writable
Sorry, IFD1:icc_profile:DeviceAttributes doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ConnectionSpaceIlluminant doesn't exist or isn't writable
Sorry, IFD1:icc_profile:ColorSpaceData doesn't exist or isn't writable
Sorry, IFD1:icc_profile:CMMFlags doesn't exist or isn't writable
Sorry, IFD1:icc_profile:BlueTRC doesn't exist or isn't writable
Sorry, IFD1:icc_profile:BlueMatrixColumn doesn't exist or isn't writable
Warning: No writable tags set from profile-rgb.tif
======== multipage.tif
Nothing changed in multipage.tif
    0 image files updated
    1 image files unchanged


Here's information about the file I am using:
exiftool -a -G1 -s multipage.tif
[ExifTool]      ExifToolVersion                 : 11.99
[System]        FileName                        : multipage.tif
[System]        Directory                       : .
[System]        FileSize                        : 19 kB
[System]        FileModifyDate                  : 2020:05:14 12:54:45-04:00
[System]        FileAccessDate                  : 2020:05:14 12:55:34-04:00
[System]        FileInodeChangeDate             : 2020:05:14 12:55:33-04:00
[System]        FilePermissions                 : rw-r--r--
[File]          FileType                        : TIFF
[File]          FileTypeExtension               : tif
[File]          MIMEType                        : image/tiff
[File]          ExifByteOrder                   : Big-endian (Motorola, MM)
[IFD0]          ImageWidth                      : 60
[IFD0]          ImageHeight                     : 60
[IFD0]          BitsPerSample                   : 16
[IFD0]          Compression                     : Uncompressed
[IFD0]          PhotometricInterpretation       : BlackIsZero
[IFD0]          FillOrder                       : Normal
[IFD0]          StripOffsets                    : 12160
[IFD0]          Orientation                     : Horizontal (normal)
[IFD0]          SamplesPerPixel                 : 1
[IFD0]          RowsPerStrip                    : 60
[IFD0]          StripByteCounts                 : 7200
[IFD0]          XResolution                     : 600
[IFD0]          YResolution                     : 600
[IFD0]          PlanarConfiguration             : Chunky
[IFD0]          ResolutionUnit                  : inches
[IFD0]          SampleFormat                    : Unsigned
[ICC-header]    ProfileCMMType                  : Apple Computer Inc.
[ICC-header]    ProfileVersion                  : 2.2.0
[ICC-header]    ProfileClass                    : Display Device Profile
[ICC-header]    ColorSpaceData                  : GRAY
[ICC-header]    ProfileConnectionSpace          : XYZ
[ICC-header]    ProfileDateTime                 : 2007:01:24 01:00:00
[ICC-header]    ProfileFileSignature            : acsp
[ICC-header]    PrimaryPlatform                 : Apple Computer Inc.
[ICC-header]    CMMFlags                        : Not Embedded, Independent
[ICC-header]    DeviceManufacturer              : Epson
[ICC-header]    DeviceModel                     :
[ICC-header]    DeviceAttributes                : Reflective, Glossy, Positive, Color
[ICC-header]    RenderingIntent                 : Perceptual
[ICC-header]    ConnectionSpaceIlluminant       : 0.9642 1 0.82491
[ICC-header]    ProfileCreator                  : Epson
[ICC-header]    ProfileID                       : 0
[ICC_Profile]   ProfileCopyright                : Copyright (C) SEIKO EPSON CORPORATION 2007. All rights reserved.
[ICC_Profile]   ProfileDescription              : EPSON  Gray - Gamma 2.2
[ICC_Profile]   MediaWhitePoint                 : 0.95045 1 1.08905
[ICC_Profile]   MediaBlackPoint                 : 0 0 0
[ICC_Profile]   GrayTRC                         : (Binary data 16 bytes, use -b option to extract)
[IFD1]          ImageWidth                      : 60
[IFD1]          ImageHeight                     : 60
[IFD1]          BitsPerSample                   : 8 8 8
[IFD1]          Compression                     : Uncompressed
[IFD1]          PhotometricInterpretation       : RGB
[IFD1]          FillOrder                       : Normal
[IFD1]          StripOffsets                    : 1360
[IFD1]          Orientation                     : Horizontal (normal)
[IFD1]          SamplesPerPixel                 : 3
[IFD1]          RowsPerStrip                    : 60
[IFD1]          StripByteCounts                 : 10800
[IFD1]          XResolution                     : 600
[IFD1]          YResolution                     : 600
[IFD1]          PlanarConfiguration             : Chunky
[IFD1]          ResolutionUnit                  : inches
[IFD1]          SampleFormat                    : Unsigned; Unsigned; Unsigned
[ICC-header2]   ProfileCMMType                  : Apple Computer Inc.
[ICC-header2]   ProfileVersion                  : 2.2.0
[ICC-header2]   ProfileClass                    : Display Device Profile
[ICC-header2]   ColorSpaceData                  : GRAY
[ICC-header2]   ProfileConnectionSpace          : XYZ
[ICC-header2]   ProfileDateTime                 : 2007:01:24 01:00:00
[ICC-header2]   ProfileFileSignature            : acsp
[ICC-header2]   PrimaryPlatform                 : Apple Computer Inc.
[ICC-header2]   CMMFlags                        : Not Embedded, Independent
[ICC-header2]   DeviceManufacturer              : Epson
[ICC-header2]   DeviceModel                     :
[ICC-header2]   DeviceAttributes                : Reflective, Glossy, Positive, Color
[ICC-header2]   RenderingIntent                 : Perceptual
[ICC-header2]   ConnectionSpaceIlluminant       : 0.9642 1 0.82491
[ICC-header2]   ProfileCreator                  : Epson
[ICC-header2]   ProfileID                       : 0
[ICC_Profile2]  ProfileCopyright                : Copyright (C) SEIKO EPSON CORPORATION 2007. All rights reserved.
[ICC_Profile2]  ProfileDescription              : EPSON  Gray - Gamma 2.2
[ICC_Profile2]  MediaWhitePoint                 : 0.95045 1 1.08905
[ICC_Profile2]  MediaBlackPoint                 : 0 0 0
[ICC_Profile2]  GrayTRC                         : (Binary data 16 bytes, use -b option to extract)
[Composite]     ImageSize                       : 60x60
[Composite]     Megapixels                      : 0.004

Phil Harvey

Good point.  ExifTool doesn't yet allow writing ICC_Profile to individual pages of a tiff image.  And ICC_Profile is only writable as a block.  So to update all ICC_Profiles in a multi-page tiff you would do this:

exiftool -tagsfromfile profile-rgb.tif -icc_profile multipage.tiff

I'll look into adding the ability to write the profile to specied pages, but that won't happen soon because it will be a significant change.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

cp2732

Thank you Phil for looking into this. I really appreciate it. Please let me know when it is ready.