TIFF palette from Q16 incompatible, from Q8 OK

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
ThomasW
Posts: 1
Joined: 2013-11-19T12:49:53-07:00
Authentication code: 6789

TIFF palette from Q16 incompatible, from Q8 OK

Post by ThomasW »

Hi people,

Converting to TIFF for "Imaging for Windows", we've encountered compatibility problems outputting paletted images from the Q16 executable. The symptom was incorrect colors being displayed in "Imaging for Windows". We were unable to solve with Q16, however finally found that output from the Q8 version were readable OK.

ImageMagick 6.8.7-6 Windows

We had tried "-depth 8" or "-define quantum:format=unsigned", but apparently the TIFF palette output from Q16 is still incompatible & may still be being saved with a higher color-precision or greater bit-depth than "Imaging for Windows" (or other older TIFF clients) can read correctly. See dump below.

This raises a couple of issues re. TIFF compatibility:
1) Palette output should be restricted to 8-bit-primary format, if depth <= 8
2) Q16 version output -> identify does not respect or keep -depth option effectively; channel depths show up always as 16-bit
Q8 version output -> identify is better; channel depths are kept & reported back correctly.
3) Are there any other options/ defines which could help to increase TIFF compatibility?

And, regarding "Identify" clarity:
4) Sometimes it is less than clear what is actually in the file, versus what "canonical format" Identify has decoded into.
- for example, "type: Palette with Base type: True color". This seems confusing, since what we wanted to know was what was in the actual file.
- unclear, but reported color-depths were unclear whether they were "as decoded" or "actual ".

Generally, we wanted to know *actual* values direct from the file, first & foremost. For sure the decoded/synthetic values are useful but I felt it was really important, especially with this kind of compatability issue, to be able to get clear direct info on the file header & encoding.

Thanks for a great software & I hope this helps ongoing improvement!

"Identify" dump of incompatible paletted output from Q16:

Code: Select all

Image: broken-pal8.tif
  Format: TIFF (Tagged Image File Format)
  Mime type: image/tiff
  Class: PseudoClass
  Geometry: 1653x2339+0+0
  Resolution: 200x200
  Print size: 8.265x11.695
  Units: Undefined
  Type: Palette
  Base type: Palette
  Endianess: MSB
  Colorspace: sRGB
  Depth: 16-bit
  Channel depth:
    red: 16-bit
    green: 16-bit
    blue: 16-bit
  Channel statistics:
    Red:
      min: 343 (0.00523384)
      max: 65508 (0.999588)
      mean: 62372 (0.951736)
      standard deviation: 11820.3 (0.180366)
      kurtosis: 16.4096
      skewness: -4.14938
    Green:
      min: 375 (0.00572213)
      max: 65513 (0.999664)
      mean: 62396.3 (0.952106)
      standard deviation: 11764 (0.179507)
      kurtosis: 16.5325
      skewness: -4.16089
    Blue:
      min: 371 (0.0056611)
      max: 65511 (0.999634)
      mean: 62400.5 (0.952171)
      standard deviation: 11759.5 (0.179439)
      kurtosis: 16.5571
      skewness: -4.16385
  Image statistics:
    Overall:
      min: 343 (0.00523384)
      max: 65513 (0.999664)
      mean: 62389.6 (0.952004)
      standard deviation: 11781.3 (0.179771)
      kurtosis: 16.4997
      skewness: -4.15804
  Colors: 221
  Histogram:
     44184: (  343,  375,  371) #015701770173 srgb(0.523384%,0.572213%,0.56611%)
       305: ( 1164, 1590, 2173) #048C0636087D srgb(1.77615%,2.42618%,3.31579%)
      5389: ( 1201, 2097, 1761) #04B1083106E1 srgb(1.83261%,3.19982%,2.68711%)
       223: ( 1439, 2566, 2431) #059F0A06097F srgb(2.19577%,3.91547%,3.70947%)
     [... snipped ...]
  Colormap entries: 256
  Colormap:
         0: (  343,  375,  371) #015701770173 srgb(0.523384%,0.572213%,0.56611%)
         1: ( 1201, 2097, 1761) #04B1083106E1 srgb(1.83261%,3.19982%,2.68711%)
         2: ( 1164, 1590, 2173) #048C0636087D srgb(1.77615%,2.42618%,3.31579%)
         3: ( 1439, 2566, 2431) #059F0A06097F srgb(2.19577%,3.91547%,3.70947%)
     [... snipped ...]
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Background color: white
  Border color: srgb(223,223,223)
  Matte color: grey74
  Transparent color: black
  Interlace: None
  Intensity: Undefined
  Compose: Over
  Page geometry: 1653x2339+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: LZW
  Orientation: TopLeft
  Properties:
    date:create: 2013-11-19T16:47:09+13:00
    date:modify: 2013-11-19T16:44:08+13:00
    signature: 0d9e5ca67bee2a901cd4291cfef5d78f139523c3cfcf30968b9c2d14d123496a
    tiff:document: test-pal8.tif
    tiff:endian: lsb
    tiff:photometric: palette
    tiff:rows-per-strip: 4
  Artifacts:
    filename: broken-pal8.tif
    verbose: true
  Tainted: False
  Filesize: 608KB
  Number pixels: 3.866M
  Pixels per second: 87.87MB
  User time: 0.047u
  Elapsed time: 0:01.043
  Version: ImageMagick 6.8.7-6 Q16 x86 2013-11-07 http://www.imagemagick.org
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: TIFF palette from Q16 incompatible, from Q8 OK

Post by fmw42 »

try using EXIFTOOL to read the actual values
Post Reply