Feature #756

Access to ICC Profile (TAG: 0x8773) data in Exif as uninterpretted binary

Added by Ray NA about 6 years ago. Updated over 1 year ago.

Status:ClosedStart date:04 Feb 2011
Priority:NormalDue date:
Assignee:Robin Mills% Done:

100%

Category:metadata
Target version:0.26

Description

Reference to: http://dev.exiv2.org/boards/3/topics/794

Embedded ICC profiles (TIFF TAG: 0x8773) can be found in the IFD0 (see attached Nikon NEF) or in JPEG APP2 areas.

Request for access to the embedded raw data; Exiv2 i/f needs only provide access - interpretation will do done elsewhere by SampleICC API for example.

Attachments:

1x Nikon NEF (processed by Nikon Capture NX2 2.2.5)
1x exiftool decode of NEF, showing ICC in IFD0

1x JPEG, generated from Nikon NEF using Capture NX2 2.2.5
1x exiftool decode of jpeg, showing ICC in JPEG APP2

DSC-IFD0_ICCprofile.NEF - Nikon NEF (processed by Nikon Capture NX2 2.2.5) (7.73 MB) Ray NA, 04 Feb 2011 15:05

nef.txt Magnifier - exiftool decode of NEF, showing ICC in IFD0 (71.8 KB) Ray NA, 04 Feb 2011 15:05

DSC-IFD0_ICCprofile.jpg - JPEG, generated from Nikon NEF using Capture NX2 2.2.5 (1.55 MB) Ray NA, 04 Feb 2011 15:05

jpg.txt Magnifier - exiftool decode of jpeg, showing ICC in JPEG APP2 (39.2 KB) Ray NA, 04 Feb 2011 15:05


Related issues

Related to Exiv2 - Patch #676: Patch for reading ICC color profiles Closed 26 Jan 2010
Related to Exiv2 - Feature #1074: ICC Profile in APP2 segment. Closed 07 May 2015

History

#1 Updated by Andreas Huggel over 5 years ago

  • Target version deleted (0.22)

#2 Updated by Robin Mills over 3 years ago

  • Category set to metadata
  • Status changed from New to Assigned
  • Target version set to 0.25

Deferred to 0.25.

#3 Updated by Robin Mills almost 2 years ago

This looks like an easy one now that we have -pS to dump structure and -pX option to dump XMP. I could easily add -pI to say extract ICC profile.

$ exiv2 -pS ~/Downloads/DSC-IFD0_ICCprofile.jpg
STRUCTURE OF JPEG FILE: /Users/rmills/Downloads/DSC-IFD0_ICCprofile.jpg
 address | marker     | length  | data
       2 | 0xd8 SOI  
       4 | 0xe0 APP0  |      16 | JFIF.....,.,..
      22 | 0xe1 APP1  |   39577 | Exif..II*.....................
   39601 | 0xe2 APP2  |    8700 | ICC_PROFILE.....!.NKON. ..mntr
   48303 | 0xdb DQT   |     132 
   48437 | 0xc4 DHT   |     232 
   48671 | 0xc0 SOF0  |      17 
   48690 | 0xda SOS   |      12 
$ exiv2 -pS ~/Downloads/DSC-IFD0_ICCprofile.NEF
STRUCTURE OF TIFF FILE: /Users/rmills/Downloads/DSC-IFD0_ICCprofile.NEF
 address |    tag                      |      type |    count |   offset | value
      10 | 0x00fe NewSubfileType       |      LONG |        1 |        1 | 1
      22 | 0x0100 ImageWidth           |      LONG |        1 |      320 | 320
      34 | 0x0101 ImageLength          |      LONG |        1 |      212 | 212
      46 | 0x0102 BitsPerSample        |     SHORT |        3 |      314 | 
      58 | 0x0103 Compression          |     SHORT |        1 |        1 | 1
      70 | 0x0106 PhotometricInterpret |     SHORT |        1 |        2 | 2
      82 | 0x010f Make                 |     ASCII |       18 |      320 | NIKON CORPORATION.
      94 | 0x0110 Model                |     ASCII |       10 |      338 | NIKON D40.
     106 | 0x0111 StripOffsets         |      LONG |        1 |    44800 | 44800
     118 | 0x0112 Orientation          |     SHORT |        1 |        1 | 1
     130 | 0x0115 SamplesPerPixel      |     SHORT |        1 |        3 | 3
     142 | 0x0116 RowsPerStrip         |      LONG |        1 |      212 | 212
     154 | 0x0117 StripByteCounts      |      LONG |        1 |   203520 | 6912
     166 | 0x011a XResolution          |  RATIONAL |        1 |      348 | 
     178 | 0x011b YResolution          |  RATIONAL |        1 |      356 | 
     190 | 0x011c PlanarConfiguration  |     SHORT |        1 |        1 | 1
     202 | 0x0128 ResolutionUnit       |     SHORT |        1 |        2 | 2
     214 | 0x0131 Software             |     ASCII |       19 |      364 | Capture NX 2.2.5 W.
     226 | 0x0132 DateTime             |     ASCII |       20 |      384 | 2011:02:04 22:48:55.
     238 | 0x014a SubIFDs              |      LONG |        2 |      404 | 
     250 | 0x0214 ReferenceBlackWhite  |  RATIONAL |        6 |      412 | 
     262 | 0x8769 ExifTag              |      LONG |        1 |     9164 | 9164
     274 | 0x8773 InterColorProfile    | UNDEFINED |     8684 |      460 | 
     286 | 0x9003 DateTimeOriginal     |     ASCII |       20 |     9144 | 2011:02:04 22:46:11.
     298 | 0x9216 TIFFEPStandardID     |      BYTE |        4 |        1 | I*..
$ 
On the other hand, I'm wondering if this is our concern. A color profile isn't really metadata. Once we have a feature to extract the profile, somebody will ask us to be able to insert it. Or even worse, to be able to edit the data within the profile. We are really adding a fourth type of metadata. So we will be supporting Exif, Iptc, Xmp and now Icc.

It's possible to write a little script to read the output of exiv2 -pS and extract the profile with dd. There's an example of extracting XMP with dd in this document: http://dev.exiv2.org/projects/exiv2/wiki/The_Metadata_in_TIFF_files

I feel we should set this to Resolved and decline to implement this.

#4 Updated by Alan Pater over 1 year ago

  • Target version changed from 0.25 to 0.26

#5 Updated by Robin Mills over 1 year ago

  • Status changed from Assigned to Closed
  • Assignee changed from Andreas Huggel to Robin Mills

I'm going to close this issue. However it remains linked to #1074 which is active. The test files provided here will be useful when #1074 is implemented.

#6 Updated by Robin Mills over 1 year ago

  • % Done changed from 0 to 100

Also available in: Atom PDF

Redmine Appliance - Powered by TurnKey Linux