ImageMagick should assume OpenEXR images are linear
Posted: 2012-05-01T03:54:44-07:00
Dear ImageMagick developers,
I use ImageMagick everyday, and I can't express how grateful I am for the work you put into this wonderful library.
I have recently started working with OpenEXR images, and I have noticed that the "identify" command lists gamma as 0.45455, even though the documentation for OpenEXR states that values are stored as linear intensities. There does not seem to be a standard attribute for specifying a different gamma value in OpenEXR images, and I believe ImageMagick should honor the specification in assuming a gamma value of 1, rather than assuming 0.45455.
Incidentally, running
convert a.exr -set gamma 1.0 b.exr
has no effect in an OpenEXR file, as "identify" continues to report a gamma 0.45455 for b.exr. Looking at the OpenEXR headers on b.exr does not indicate the presence of any gamma metadata. There really seems to be no mechanism in place for gamma information.
Using the "display" utility to inspect an OpenEXR image naturally shows incorrect results. Interestingly, although running
convert a.exr gamma 2.2 c.exr && display c.exr
shows the correct results, running
display -gamma 2.2 a.exr
does not. By trial and error, I found that the value of 1.5 produces good results with "display" (I have no idea why).
Any way, is this just a misunderstanding on my part?
Kind regards,
Diego
I use ImageMagick everyday, and I can't express how grateful I am for the work you put into this wonderful library.
I have recently started working with OpenEXR images, and I have noticed that the "identify" command lists gamma as 0.45455, even though the documentation for OpenEXR states that values are stored as linear intensities. There does not seem to be a standard attribute for specifying a different gamma value in OpenEXR images, and I believe ImageMagick should honor the specification in assuming a gamma value of 1, rather than assuming 0.45455.
Incidentally, running
convert a.exr -set gamma 1.0 b.exr
has no effect in an OpenEXR file, as "identify" continues to report a gamma 0.45455 for b.exr. Looking at the OpenEXR headers on b.exr does not indicate the presence of any gamma metadata. There really seems to be no mechanism in place for gamma information.
Using the "display" utility to inspect an OpenEXR image naturally shows incorrect results. Interestingly, although running
convert a.exr gamma 2.2 c.exr && display c.exr
shows the correct results, running
display -gamma 2.2 a.exr
does not. By trial and error, I found that the value of 1.5 produces good results with "display" (I have no idea why).
Any way, is this just a misunderstanding on my part?
Kind regards,
Diego