1. In this post, I'll look at the renderings of the various Adobe DNG profiles on a profile by profile basis.

    If you haven't taken a look at Part 1 of this, I'd strongly suggest you do - it's there that I set the scene for these charts, and talk about how to interpret them. Part two is here.

    As a reminder, what we're looking at here is the color rendition embedded in the various default Adobe camera profiles for the Canon 5DII. We're looking at that for colors that approximate to the key color patches on a Gretag Macbeth 24 patch color chart. Also, remember that the various "camera" profiles are intended to mimic the camera settings, not necessarily to be what Adobe might consider to be pleasing color renditions.

    Firstly, the Adobe Standard profile:

    The Adobe standard is really very "neutral" it stays quite close to being a conventional "conversion matrix" based color rendition, similar to the previous generations of Adobe profiles. There are very few hue twists to be seen, and only some color value compression in on red and blue.

    Now the Camera Standard Profile:

    Camera Standard is bit further from a "plain vanilla" rendering. Here we see more aggressive compression of the red and blue, extending to magenta as well. Also green and yellow have "twists" to them.

    The Camera Portrait profile:

    Camera Portrait is, as you might expect, really quite aggressive with its changes to the conventional "plain vanilla" camera rendering. Red, magenta and cyan are heavily twisted, and blue is again compressed, as is green.

    The Camera Neutral Profile:

    The Camera Neutral profile is an interesting one. Both red and magenta a quite close to vanilla for a while, but them abruptly flatted out in value almost completely. Blue and cyan are compressed, and green twists quite substantially.

    The Camera Landscape profile:

    Camera Landscape is, as we might expect, heavily "compressed", and has some quite substantial twists. Green, red, blue are both compressed and twisted, as is yellow, not a color that other profiles have compressed very much.

    And finally, the Camera Faithful profile:

    Camera Faithful turns out to be very similar, perhaps unsurprisingly, to Camera Neutral, only quite subtle differences - e.g., in magenta, separating them. But theses are differences subtle enough that I doubt that it would be possible to tell the difference in practice - differences in the tone curves of the two profiles are more likely to be visible than these differences.

    So what are commonalities?
    • Well, there's a fairly common pattern of the the primaries (red, blue, green) being compressed, and for red to be twisted towards magenta, and blue towards magenta
    • The skin tones tend to be left alone, probably because human vision is quite sensitive to any variation here. Similarly, yellow is mostly left alone, perhaps because its quite close to skin tones. Camera Landscape is the exception to yellows being fairly unprocessed, perhaps in the interest of more attractive greens
    7

    View comments

  2. In this post, I'll look at the renderings of the various Adobe DNG profiles on a color by color basis.

    If you haven't taken a look at Part 1 of this, I'd strongly suggest you do - it's there that I set the scene for these charts, and talk about how to interpret them.

    As a reminder, what we're looking at here is the color rendition embedded in the various default Adobe camera profiles for the Canon 5DII. We're looking at that for colors that approximate to the key color patches on a Gretag Macbeth 24 patch color chart. Also, remember that the various "camera" profiles are intended to mimic the camera settings, not necessarily to be what Adobe might consider to be pleasing color renditions.

    First up, this is the chart for the three main Gretag patches - CC13 (blue), CC14 (green) and CC15 (red)



    What you see here is a few things:
    1. The Adobe Standard profile, is, in almost all cases, closest to the reference color
    2. Reds are easily the most "manipulated" color. This is interesting in light of the fairly frequent complaints about "Adobe Red" with previous version of ACR and Lightroom; it may well be that the fairly aggressive reductions in red are a fix for this. Even the Adobe Standard profile reduces the magnitude of red quite substantially.
    3. The largest reduction in red, and the biggest hue shift for red is in the Camera Portrait setting. Reasonable, given that red faces are a frequent complaint.
    4. Green is mostly fairly "untwisted, with the exception of the Camera Portrait setting, which drift across towards yellow quite significantly.
    5. Green is also fairly compressed at the upper end - Camera Landscape flattens the rendition quite significantly, presumably to keep the greens in foliage either from getting to light and washed out, or too dark.
    6. Blues are a mixed bag. The Camera Faithful, Camera Neutral and Camera Standard profiles reduce blue intensities considerably. The Camera Landscape setting however allows significantly higher intensity, but flattens out aggressively. Presumably this is to give really blue skies, as opposed to somewhat over-exposed white-blue skies you often see.
    Next up, we'll take a look that the yellow (CC16), magenta (CC17) and cyan (CC18) patches:


    What we see is:
    1. Yellow is very close to reference in almost all cases. Some profiles reduce intensity, but there are few dramatic hue shifts. One reason for this is probably that yellow is quite close to the various skin tones, and significant hue changes would probably be undesirable.
    2. For magenta, the biggest variation is in the Camera Portrait profile, with intensities being compressed into a relatively small, quite high, range. This again is probably to maintain skin tones regardless of exposure. Camera Landscape compresses magenta down quite significantly.
    3. In cyan, the big variation is in Camera Portrait. Again, almost certainly to preserve skin tones. Similar to the case for blue, the Landscape Profile seems to try to preserve sky tones.
    Finally, the two skin tones, light skin (CC2) and dark skin (CC1). What's interesting here is that there is very little hue shift. Presumable because human color perception is very sensitive to skin tones - even small variations are regarded as unpleasant.



    In part 3, I'll show the charts on a by profile basis, rather than a by color basis.
    0

    Add a comment

  3. A complete digression, but for anyone struggling with the fact that the Apple CIAnnotation sample doesn't work under Leopard (OS X 10.5), the biggest problem seems to be in the CITextLayer.m module, where the graphics context is not restored. Note there are other issues, but at least after this mod it no longer just crashed in autorelease.......

    The code is:

    - (void)renderText
    {
    // release the old image
    [textImage release];
    textImage = nil;
    //First line to change
    NSGraphicsContext *cContext = [NSGraphicsContext currentContext];

    // render the text objects into the context
    CGContextClearRect(bitmapContext,layerRect);
    NSGraphicsContext *graphicsContext = [[NSGraphicsContext graphicsContextWithGraphicsPort:bitmapContext flipped:NO] retain];

    [NSGraphicsContext setCurrentContext:graphicsContext];
    [textObjects makeObjectsPerformSelector:@selector(renderIntoCurrentContext)];

    if(layer)
    {
    // we can render using the CGLayer
    textImage = [[CIImage alloc] initWithCGLayer: layer];
    } else {
    // create a CIImage from the bitmap context by the way of creating a CGImage - this causes a copy !
    CGImageRef bitmapImage = nil;

    bitmapImage = CGBitmapContextCreateImage(bitmapContext);
    if(!bitmapImage)
    return;
    textImage = [[CIImage alloc] initWithCGImage: bitmapImage];
    CGImageRelease(bitmapImage); // now retained by the CIImage
    }
    [invertFilter setValue:textImage forKey:@"inputImage"];
    [blurFilter setValue:[invertFilter valueForKey:@"outputImage"] forKey:@"inputImage"];
    [compositeFilter setValue:textImage forKey:@"inputImage"];
    [compositeFilter setValue:[blurFilter valueForKey:@"outputImage"] forKey:@"inputBackgroundImage"];
    // Second line to change
    [NSGraphicsContext setCurrentContext:cContext];
    }
    1

    View comments

  4. In previous posts, I've talked about DNG Camera Profiles, and the "hue twists" that Adobe put them in order to get "pleasing" color. "Pleasing" in this context has, as far as I can gather from Adobe's various comments on the subjects, at least two aspects to it. The first aspect is "color like the JPEGs from my camera" request that comes up on forums regularly. On the more technically sophisticated forums, this comes up as "the same color as NX2" for Nikon and "the same color as DPP" for Canon. This is the reason for the "Camera Landscape", "Camera Standard", etc profiles that Adobe now supply. The second aspect is just to get colors that people like. This seems to be where the "Adobe standard" profile comes in.
    Jumping right in at the deep end, here is the visualization of all of the Adobe supplied profiles for the Canon 5DII:



    Ok, so what IS that? Here's the basics:
    1. In order to make this more accessible, I've built the diagram using Apple's "Grapher" program, that's supplied with all Macs. You can find the original gcx files on the ChromaSoft site here. If you have a Mac, I very much suggest you download those files, and play with them - they allow you look at individual profiles, individual colors, rotate and tilt the graph, etc. Far better than looking at static images.
    2. What's included is data for each of the supplied profiles for the Canon 5DII - Adobe Standard, Camera Neutral, Camera Portrait, Camera Landscape, Camera Faithful and Camera Standard.
    3. For each of those profiles, I've plotted the before and after colors for the hue and saturation values associated with eight of the most important patches on a Gretag Macbeth 24-patch color checker card - blue, green, red, yellow, magenta, cyan, light skin, dark skin.
    The Color Space
    The plots are in the coordinate space that DNG Camera Profiles use - an HSV, Prophoto gamma 1 space. HSV coordinates are cylindrical. So, if you imagine a cylindrical jar with a color point in it, the hue is the angle from the center of the jar, the saturation is the distance from the center, and the value (loosely, the intensity) is the height from the base of the jar to the color point. The next chart shows how blue actually looks in this space.

    Each of the little spheres is a color point. On the base of the cylinder, they are black, because V is zero. They then get brighter as height up the cylinder increases. Saturation is zero in the center of the cylinder, and increases as you go towards the edge. So, the top center is white, and the top edge is a pure color. Finally, as you rotate around the center, the hue changes.

    Important note on colors. Some things you need to know as you look at the charts:
    1. You might notice that the little spheres above look pretty bright, even as you get to the middle of the cylinder. That's because of the gamma 1.
    2. On all of my plots, there's the disk at the bottom that shows the color spectrum. Firstly, the disk's at the "wrong" end of the cylinder. The real disk would be black, because at the base, V is zero. A disk like that, in full color, belongs at the top. Secondly, the disk doesn't show saturation. A real disk would have those colors at the edge, then get progressively less saturated towards the middle, as the blue sphere's do. Unfortunately, Grapher can't deal with varying saturation(!)
    3. The colors are approximate. Grapher isn't color managed, and can't deal with any more than one color in a point set.
    So, bottom line, the disk is there only to give a rough feel for in what direction hue twists occur, NOT to indicate actual colors.

    So, having that behind us, the next graph shows the color changes for just one color (the green patch), in just one profile (Camera Standard). The line with the boxes is the original color, and the line with the spheres is the new "post profile" colors.



    To make that (perhaps) a bit clearer here's the same data, just with the before and after points joined.




    What you see is the new colors "twisting" round in front of the "normal" colors. So what's happening in this case is:
    • At low V, the hue is biased off towards blue
    • As V increases, the hue moves back to wards the reference norm, and becomes more saturated than the norm
    • Also as V increases, the V of the resulting color is less - a less bright color
    • Finally, the new color twists back, and desaturates relative to the norm.
    In the next post, I'll show this for each of the colors in turn, across all profiles.
    0

    Add a comment

  5. dcpTool V1.1 is out - a little sooner than I'd been expecting to update it.

    Get it here: http://dcptool.sourceforge.net/

    What I've done, in response to requests from folks on the Adobe forum, is to add the capability to modify DNG Camera Profiles to either change, or entirely remove the "hue twists" that I described in a previous post.

    The previous modifications that I had made to the profiles was simply to move the "LookTable" to the "HueSatDelta" table - this means that any hue twists are processed before the exposure controls, so the problem that changing the exposure control changes colors goes away. However, some further tests have made it clear that profiles don't always respond well to simply being moved from point to point in the processing pipeline. So, in addition to the ability to change the processing pipeline order, I've also added the ability to effectively freeze, or "untwist" a profile - so the processing pipeline remains the same, but there is no change in tint when you adjust exposure.

    This "untwisting" is my recomendation as to how to go forward if hue twists are giving you a problem; in my tests so far, color reproduction is very similar to the original profile, but the color shift problem is entirely eliminated.

    There's more detail on exactly what dcpTool does to untwist profiles here.
    2

    View comments

  6. There's been a conversation on the Adobe forums about some unexpected changes in tint when the recover and exposure controls are used in Adobe Camera Raw (ACR), and presumably in Lightroom as well. With input from Eric Chan of Adobe, what started out as a discussion of a possible bug in the ACR quickly moved towards the understanding that the unexpected shift in tint was by design, and part of Adobe's new generation of color profiles. DNG Color Profiles allow for a complex set of what are in effect look-up tables that can translate from a color as photographed to another color as displayed. What's more, these look-up tables provide for the ability to make these color shifts dependent on the intensity. So two pixels with the same tint (a hue and saturation combination) but different intensities (values), can translate to pixels with different tints. This is what Adobe's new generation profiles do.

    The chart below shows before (outside) and after (inner) patches for the Adobe Standard profile for the Canon EOS 5D Mark II, for the same tint of yellow/orange discussed in the posts on the Adobe forum (ProPhoto 244,161,65), varied across the V scale. Note that shows only a portion of the scale; the sRGB encoding needed for display on a web page limits the gamut significantly.

    Note to Safari users: These images won't display correctly in Safari on a wide gamut monitor - unfortunatly, Blogger strips the sRGB tags, and Safari defaults non-tagged images to monitor space. FireFox will work fine.

    The patches have V values of 0.0667, 0.1333, 0.2667, 0.4000, 0.5333 and 0.6667 in the ProPhoto gamma 1 space that DCP files use.


    The next chart shows just the tint impact as V is changed. In other words, the V is held constant, to more clearly show the tint impact in isolation.




    Calling what's done a "twist" is probably appropriate, looking at the numbers for the tint in question:



    What's happening is that the hue adjust is effectively rotating in HSV space, through an angle of -7.11 degree to +19 degrees as V changes, effectively following a twisting trajectory in HSV space.

    The final thing that's worth noting is that in the Canon EOS 5D Mark II profile, the twist is implemented as a "LookTable". A LookTable is explicitly specified as something that is applied after exposure adjustments. But it would be possible to implement the same table as a HueSatDelta table, which is implemented before exposure adjustments. This would avoid the unexpected tint change that started the original thread on the Adobe forum.

    In conclusion, the way in which Adobe have implemented their new generation profiles makes them vulnerable to tint shifts as a result of exposure adjustments. In most situations, that probably won't be an issue. However, if these tint shifts are a problem, for example if you need to do aggressive exposure recovery, falling back to the older ACRxx profiles that don't have hue twists in them may be a useful option.

    Late Addition: Also take a look at my later post about visualizing camera profiles with hue twists in them here.
    10

    View comments

  7. As mentioned in a previous post, getting dcpTool out the door was a little bit of a problem.

    dcpTool is hosted on SourceForge. Previously I've uploaded project web content without any problem, for CornerFix and tnefDD, using SFTP via Cyberduck, which is a neat OS X FTP client. However, since then, SourceForge have done a system migration. And while I could easily use CyberDuck to upload to the SourceForge file management system, no way could I access the web site area. Not of course that I was helped by SourceForge's woefully inadequate documentation.

    But to cut a long story short, it appears that the problem is actually more of a Cyberduck problem than a SourceForge problem. SourceForge have implemented their project web area access as an "authenticate against" structure. So, under command line sftp, you need:

    sftp sandymcg,dcptool@web.sourceforge.net:htdocs/

    The comma syntax being the issue. Normally, you don't need the ",dcptool"

    Well, anyway, that works for the command line sftp client. It doesn't for Cyberduck. All you get are "Login failure" errors.

    So, if you're uploading project web content to SourceForge - be very careful of which client you use....

    BTW, I have registered a bug with the Cyberduck folks.

    Update:

    This is solved. Turns out that both Cyberduck and FileZilla automatically add the "@web.sourceforge.net", so if you want to log in, you need to use "sandymcg,dcptool", without the "@web...". Not doubt blindingly obvious to those that deal with sftp clients everyday, but not all obvious if you don't. Anyway, the Sourceforge documentation has now been improved to make it clear that the user id doesn't have the server address.

    0

    Add a comment

  8. dcpTool did indeed ship out yesterday:

    dcpTool is a compiler/decompiler for DNG camera profiles (DCP files), as used by Photoshop, Camera Raw and Lightroom. dcpTool can decompile binary format DCP files into an XML format for editing, and then compile the XML format file (editable with a text editor) back into a binary DCP file, as well as extract embedded profiles from image files. It runs on Windows and OS X command lines.

    The web site, which also has some background material on DNG Camera Profiles and an example of a "decompiled" one, is here: http://dcptool.sourceforge.net/

    Health warning: dcpTool is a command line utility - if you're not comfortable with command line stuff, dcpTool probably won't be of any interest to you.

    BTW, "DNG Camera Profile" is probably not a good name. DNG Camera Profiles are used when importing any raw file into Photoshop or Lightroom, not just DNG format images.

    There's also a discussion on the Adobe forums.
    0

    Add a comment

  9. The new version of CornerFix (V1.0.0.0) is out. This has:

    1. Lens definitions for new Leica lenses
    2. Fixes some minor memory leaks in the Mac version
    3. Updates the Windows version to VC 2008 - that brings with it some advantages as regards how Vista does its UAC. Technically, CornerFix is no longer in a virtualised sandbox, but is a fully fledged Vista application. But its unlikely that any users will notice the difference.

    Next steps for CornerFix are likely to be an upgrade to V1.2 of the DNG spec, and also an upgrade to enable operation with almost any DNG image file. Actually, right now CornerFix does work with most DNG files, although it will spit out warnings. But It doesn't work with files that have a black level pattern - which includes some Canon and Olympus cameras.

    But the priorities are to get out dcpTool, and keychainDD. dcpTool will be going out today, hopefully. Watch this space.....
    4

    View comments

Popular Posts
Blog Archive
About Me
About Me
My Photo
Author of AccuRaw, PhotoRaw, CornerFix, pcdMagic, pcdtojpeg, dcpTool, WinDat Opener and occasional photographer....
Loading