Skip to main content
Participating Frequently
November 18, 2008
Question

Change in EXR open from CS2 to CS3 can this be fixed?

  • November 18, 2008
  • 166 replies
  • 259016 views
It seems the monkeys have been at the file formats again...!

Open an exr with an alpha in CS2 and the image displays normally and the alpha is retained.

Open an exr with an alpha in CS3 and the alpha channel is applied to the transparency and then lost... which is really STUPID considering you might apply 0 alpha values to parts of the image you retain visually, as you might just want to use the alpha to drive an effect and not just be myopic and think it's just for transparency.

So, can this be fixed? I can't see any info on it?

Will CS2 non intel plugin work on an intel system in CS3

If not, effectively PS is useless for exr work for us.

Or is this fixed in CS4?
    This topic has been closed for replies.

    166 replies

    Participating Frequently
    February 4, 2009
    Wow, this thread is pretty intense. I wish someone had pointed me to it earlier. I'm a bit biased, but I agree that ProEXR solves all the alpha problems mentioned here. It was created by someone who works in the VFX industry (me). You can try it free for 15 days.

    This is covered in the ProEXR manual and in this thread, but to recap: OpenEXR files use premultiplied images, while Photoshop long ago chose to use straight. Turns out this was an unfortunate choice because, as Florian and others pointed out, any non-black premultiplied pixels with a black alpha will get decimated when converted to straight. Nuke, Shake, and Fusion are premultiplied, so they don't have this problem. I can't think of any advantage to using straight, but it would probably be hard to switch back at this point.

    Sometimes VFX artists don't actually want Alpha to be transparency, although that is the standard thing to do and it's the ProEXR default as well. But we also give you a dialog for changing the behavior if you like. You can keep the alpha channel separate and choose whether to un-multiply the RGB. I don't know if Adobe should change what they're doing in their own plug-in, but I'm glad I could swoop in as a third party developer.

    If you have other ideas for making ProEXR work better in a film workflow, let me know.

    Brendan
    Participant
    February 4, 2009
    chris,

    i've read through this entire exhaustive thread now and just want to mention a point that nobody else seems to be bringing up.

    I can see your position with regard to CS3+4 treating the "A" channel as transparency by default, but as you have pointed out multiple times, photoshop's EXR plugin doesn't currently support more than RGBA OpenEXRs. if we want to bundle a matte with our RGB channels that does /not/ represent the transparency of the image, the only channel we have at our disposal is that A channel. anything else currently gets thrown away on import.

    the suggestion of, "finding a more appropriate format" Chris Cox, "Change in EXR open from CS2 to CS3 can this be fixed?" #80, 3 Feb 2009 7:40 pm
    isn't particularly helpful or realistic. visual effects facilities have entire pipelines built around specific image formats and re-structuring those pipelines around an inflexibility in a piece of software that likely makes up a very small corner of that pipeline just isn't going to happen.

    the plea here is to--until the day when full multi-channel EXR support makes its way into photoshop--give your VFX user base some options with regard to how that precious "A" is handled. fine, let the default be the "right" way to interpret the data, but don't cut us off at the knees. being flexible is of primary importance in production.

    regards,
    erik winquist
    Participant
    February 4, 2009
    "VFX represents a very small fraction of the people using the EXR file format."
    Could you read again what you have written? As one user pointed out, OpenEXR was *created* by this industry, specifically for it's use.
    I do suppose that your statement is either a lie to server your argument or simply ignorance, as I'm pretty sure the VFX industry is the most important user of the OpenEXR format. But maybe I'm wrong, so enlighten us and tell us which other industries have a number of users of OpenEXR which is significantly bigger than the "very small fraction" in the VFX industry.
    Nobody asks you to break anything.
    Use the specs as you see fit, but offer the OPTION to your CUSTOMERS to use the software in the most useful way to do their job.
    I don't care about the spec. I want an OPTION in the loader to let me ignore the alpha if I WANT TO. Because *I* know how my pipeline works, not you, neither Adobe.
    I'd also like you to show an example of how this addition of this option would break the workflow of someone, who would that someone be and in what industry would he/she be involved in (supposedly with a greater number of user of OpenEXR than the VFX industry).
    This is so typical of Adobe arrogance. "Screw the users, we know better and we will force them to break their workflows if it's more comfortable for us". Your users ask your for *options* to make their life easier -- or at least don't make it harder -- (again, they don't ask you to break something) and you hide behind the "spec" paper and tell them to leave you alone.

    Dragos
    Participant
    February 4, 2009
    Thank you Zap
    Participating Frequently
    February 4, 2009
    The error here is that Chris is interpreting the word "premultiplied" literally. Many people do, incorrectly. I really hate the word, actually, because it leads you to believe it's literal meaning, that something has been multiplied with something "before" (i.e. "pre" something).

    THAT IS WRONG. It is a total misrepresentation of what "premultiplied" means.

    I don't know what a better word would be, but it's meaning is "dont' multiply the color-channels with alpha".

    I.e. in non-premultiplied (aka "straight" alpha), a compositing operation would be

    r = fg * fg.alpha + bg * (1 - fg.alpha)

    And in "pre multiplied" the compositing math is

    r = fg + bg * (1 - fg.alpha)

    Notice the lack of a multiplicatoin on the fg? This is what lead the people to name this to say it is "pre multiplied". It isn't, really. It just means IT HAS THE PROPER RGB DATA TO BE ADDED TO THE MATTED BACKGROUND. This is *****NOT****** and I repeat * N * O * T * the same as "having already premultipled it with alpha"

    Because this is a completely legal premultipled RGB color (1.0,1.0,0.0,0.0).

    This is 100% transparent luminiscent yellow.

    When composited properly, according to r = fg + bg * (1 - fg.alpha) it ends up ADDING yellow on top of the (unmodified) background. This is a very common workflow that renderers output such channels.

    The whole idea that for a zero alpha, RGB data is always zero (or can legally be thrown away) is WRONG. It is a complete misinterpretation of the concept of "premultipled" alpha. It is a total misunderstanding, going so far as some documents claiming this "illegal" completely erroneously.

    (For street cred of my position, since that seems necessary here, I had this discussion with Alvy Ray Smith, the guy who *invented* the Alpha channel, and he agrees with me on this).

    /Z
    Participant
    February 4, 2009
    I currently work in web and I am an aspiring matte painter.

    I have never used the EXR format for web design or DTP. In fact, the only time I have read, heard, or talked about EXR it has been in relation to VFX. I have never used EXR in my web design career. Most of my colleagues/friends who are amateur/pro photographers don't use EXR. The only other industries that I can think of that uses Photoshop would be medical image analysis, crime scene image analysis, and architecture. I doubt these industries use EXR on a daily basis.

    Are there any other industries using EXR?

    Regarding some of the messages that have been posted here. Everyone knows what's been said. There's no reason, other than to be facetious, to quote some of the remarks made. But I do feel that it's important to note that for matte painters such as Susumu Yukuhiro, Photoshop is our only option for finished matte paintings. There is no other tool besides Photoshop for compositing/painting photo-real matte paintings. Cinepaint in it's current form can't offer the functionality that a feature film matte painter requires.

    I hope that the EXR documentation can be updated so that the Photoshop crew can implement updates to the way that Photoshop handles OpenEXR. However, it would be also be great if Adobe implements features that its customers ask for.
    Participant
    February 4, 2009
    I am very aware of that VFX is a small potato for Adobe.

    But I was specifically talking about photoshop users who use EXR file format, and if you say there are other industy using this format more than VFX industry, could you tell me who that is?

    I might be the ignorant one here if DTP or web are using EXR format
    more than VFX industry, and that would be a big news for me.

    At this point, I am convinced that there are nothing we could change your mind, and I am giving up to have any hope for adobe to implement anything good for VFX.

    Very sad.
    Participant
    February 4, 2009
    Most of the troubles are issues with how we use exr in other applications that don't tie the rgb to the a. For example textures on a 3d model. We often times paint beyond the border of the alpha because depending the filtering a 3d app uses when it maps it onto the 3d model, you will often times get 1-2 pixels of black on the borders of the UV's. So it is very important to keep that extra data beyond the alpha.

    With compositors we will get matte paintings with extra information outside the alpha which often times we will use at a later date because we are going to change the alpha inside our compositor. The current way photoshop reads and writes openexr forces us to write unpremultiplied images to bring into photoshop and then when we do have mattes for separate layers we have to write them to a separate files so photoshop doesn't nuke the information outside it.

    Another big issue with the exr reader is it crops the image down to the bounding box(DOD). When I give someone a 1920x1080 image, I expect it to read into photoshop the same, not as a 1024x1024 image. The placement of objects in the frame is very important.

    >You seem to be confusing your segment of an industry with the larger audience of Photoshop users. People are using the EXR plugin shipped with Photoshop, in many industries. Only a few have complained. VFX represents a very small fraction of the people using the EXR file format.

    Exr was made by vfx artists for vfx artists. We are the audience it was made for, not the larger audience of Photoshop users. Even though the spec doesn't specifically lay it out that way it would be nice if there was a check box so the image is read in as unpremultiplied with the alpha in the channels as a b&w alpha and not as transparency.
    Known Participant
    February 4, 2009
    Why does the EXR spec push premultiplication?
    Participant
    February 4, 2009
    I posted this to the nuke list in the hope the people most affected by the current implementation would share their wisdom and help improve future versions of Photoshop.

    These are the people that you should be turning to for guidance, its their visions that will become the commonplace features of Photoshop CS18.

    This is the exact opposite of using a screwdriver to hammer a nail, the founding intention of exr was to provide a FLEXIBLE format for the VFX community who were feeling restricted by the regular formats available in 99.

    I can guarantee the other industries enjoying the pleasures of exr would be equity elated to see the requested feature.

    At its most basic:
    A ) If an element cant pass through our studios pipeline utterly unchanged, I have failed.
    B ) If an element cant pass though an image manipulation package utterly unchanged you have failed.

    Saddly A is dependent on B,

    And a specific practical example, um.... i have an exr with information in the A channel, i save it from photoshop, at a later date the A channel is deemed unsatisfactory, i open it again.....(i fail )