Well, I wasn't expecting to come back to the topic of Fuji, the X-Pro1 and its X-Trans sensor. However, I have been putting a lot of work into the suppression of artifacts when demosaicing. A lot more work than I had intended to, but that's another story. This is for a new product that I hope to release in a few weeks time (several months later than I'd hoped). But I did stumble into a better understanding of the nature of the chroma smearing (or watercolor effect, as it has also become known). The previous posts about Demosaicing the Fuji X-Pro1 are herehere and here.

In previous posts, I compared renderings from Adobe Camera Raw, SILKYPIX and Fuji's in-camera JPEG processing, as well as DCRAW and RPP. Finally, I compared those renderings to renderings from PhotoRaw, both in its "retail" configuration, and in modified form with post demosaic filtering. Practically, DCRAW and RPP were pretty much outclassed -- they use VNG algorithms that generate substantial zipper effects.

In post three, I hypothesized that the chroma smearing effect that you see very visibly in the ACR conversion, and to a lesser extent in the SILKYPIX conversion, was due to filtering, possibly mean filtering post demosaic. I now think that I was probably wrong, or at least partially wrong - the effect is due to filtering, but not mean filtering post demosaic. Rather, it's as a result of filtering during the demosaic process itself.

PhotoRaw, ACR and SILKYPIX

Just for reference, here are the various contenders from previous posts:

PhotoRaw 3.5.4, 400% crop

PhotoRaw does pretty well, but has those pesky artifacts on the paperclips.....

Adobe Camera Raw V7.1 beta

ACR beta 7.1  - Lots of chroma smearing, and the letters are quite desaturated.


SILKYPIX conversion

SILKYPIX - some chroma smearing, saturation down, resolution appears slightly lower than PhotoRaw or ACR


PhotoRaw 3.5.4 plus mean filter, 5 pass, 400% crop

The "PhotoRaw plus mean filter" showed a similar pattern of chroma smearing to SILKYPIX and ACR, but some parts didn't quite match. For both SILKYPIX and ACR, the chroma smearing is more pronounced in specific areas, e.g., in between the upper parts of the "Y", and inside the "A".


Multipass Demosaic Algorithms

As mentioned in the introduction, I've been working on artifact suppression for another product. Now the easiest way to suppress artifacts is not to generate them in the first place, so one of the things I looked at are demosaicing methods that have inherently low levels of chroma artifacts. There are a number of demosaicing algorithms that I'll call "multipass", for lack of a better term. The best known of these is LMMSE (see reference 1 below). LMMSE works, in simplified form, by first performing an initial demosaic in both vertical and horizontal directions, then filtering in the chroma domain, then using the filtered chromas to perform what is in effect a second higher quality demosaic. In this case, higher quality in the sense of fewer visible chroma errors, as the second demosaic is partially based on filtered chroma.

The results of using such a algorithm in a beta version of the new product are shown below. The first crop shows the algorithm using a filter width as it would be for a conventional two by two Bayer array. The second uses exactly the same algorithm, but with double the filter width. Note that unlike the crops above, these two are unsharpened, due to limitations of the beta.



"New Product" beta, multipass demosaic, single filter width, 400% crop, unsharpened



"New Product" beta, multipass demosaic, double filter width, 400% crop, unsharpened

Several thing stand out here (note - you may want to double-click on the crops to get a better view):
  • The multipass algorithm shows fewer artifacts than the "AHD class" algorithm, even with a "normal Bayer" filter width.
  • However, with a wider filter two things happen. Firstly, artifacts are reduced, as we'd expect - the X-Trans sensor has sparse colored photo sites, so its logical that we'd have to filter more heavily to get this particular algorithm to perform. Secondly, the crop starts to show the characteristic chroma smear pattern that the SILKYPIX conversion shows, as well as the slight loss of resolution and saturation that the SILKYPIX conversion shows.  In fact, the conversion starts to look uncannily like SILKYPIX, a lot more so that was the case for the mean filter I originally suspected was involved.
  • Extrapolating, you can easily see how, with an ever wider filter, ACR would generate the rendering it does.


Conclusion

It's highly likely that both SILKYPIX and ACR use some form of multipass algorithm, and that the chroma smearing is as a result of the need to adapt the algorithm to the sparse colored photo sites in the X-Trans sensor. ACR appears to be using a very wide filter, probably indication the whatever methods are being used in the initial and secondary demosaic are not well suited to the X-Trans sensor. Note that it's highly unlikely that either ACR or SILKYPIX are using LMMSE in anywhere near it's text book form (neither is the "New Product" beta used above, btw). The text book form depends on using color data to improve the initial green demosaic; given the X-Trans sensors relatively large number of green photo sites and low number of red or blue photo sites, that would not work well.



References:

1. L. Zhang and X. Wu, Color demosaicking via directional linear minimum mean square estimation, IEEE Trans. on Image Processing, vol. 14, pp. 2167-2178, Dec. 2005.
8

View comments

  1. Good news in a difficult year - all the macOS apps that I support - AccuRaw EXR, AccuRaw Monochrome, pcdMagic, CornerFix, dcpTool (both the GUI and command line version), DNG cleaner and pcdtojpeg - now are all available with native Apple Silicon versions for blazing fast performance on Apple's new "M1" processor. Download are in all the usual places.

    Enjoy.

    0

    Add a comment

  2. There's a whole slew of new camera support, including for Canon's new CR3 format.

    Updates of AccuRaw EXR, AccuRaw Monochrome, PhotoRaw are now available on the Apple App Store. These updates add support for these new cameras: Canon EOS-1D X Mark III, Canon EOS 90D, Canon EOS M50, Canon EOS M6 Mark II, Canon EOS Rebel SL3 (EOS 250D), Canon EOS R, Canon EOS RP, Canon EOS R5, Canon EOS R6, Canon PowerShot G5 X Mark II, Fujifilm XF10, Fujifilm GFX 50R, Fujifilm GFX 100, Fujifilm X-100V, Fujifilm X-A7, Fujifilm X-Pro3, Fujifilm X-T30, Fujifilm X-T4, Fujifilm X-T200, Leica Q2, Leica SL2, Nikon Coolpix P950, Nikon Coolpix P1000, Nikon D780, Nikon Z 6, Nikon Z 7, Nikon Z50, Panasonic DC-G90, Panasonic DC-G100, Panasonic DC-G110, Panasonic Lumix DC-G95, Panasonic DC-LX100 M2, Panasonic DC-S1, Panasonic DC-S1R, Panasonic DC-S5, Panasonic Lumix DC-FZ1000 II, Olympus OM-D E-M1X, Olympus OM-D E-M1 Mark III, Olympus E-PL10, Olympus OM-D E-M5, Olympus OM-D E-M10 Mark IV, Olympus TG-6, Pentax K1 II, Ricoh GR III, Sony DSC-RX100 VII, Sony A7 III (ILCE-7M3), Sony A7C (ILCE-7C), Sony A7R Mark IV (ILCE-7RM4), Sony A7S III (ILCE-7SM3), Sony a6100 (ILCE-6100), Sony a6400 (ILCE-6400), Sony a6600 (ILCE-6600),Sony HX99. 

    0

    Add a comment

  3. pcdMagic for Windows - the only currently available app that can convert Kodak Photo CD images with correct color and at full resolution - is now available on the Microsoft Windows Store.

    This great news for users:

    • The Windows Store version has a free trial mode that allows the app to be tested without any commitment.
    • The Windows store handles all updates automatically.
    • There's no need to keep track of license codes.
    The Windows store only supports the latest versions of Windows 10. However, for users of earlier versions of Windows, you can still purchase pcdMagic from the FastSpring webstore.
    2

    View comments

  4. As usual when new Leica cameras come out, I took a quick look inside a DNG from one of Leica's new Leica CL  cameras:

    1. The camera name shows as "LEICA CL"
    2. The image data is 14-bit. There is no compression used in the DNG I looked at. 
    3. The DNG version is 1.4, with a "backward version" of 1.3. There is a reason for this - DNG 1.3 allows for opcodes, which Leica use for lens correction.
    4. In the DNG I looked at, which was shot with a "Summicron TL 1:2 23 ASPH." lens, lens correction is done by a single "WarpRectilinear" operation in the DNG. 
    5. In addition to the lens correction op code, there is also a "FixBadPixelsConstant" opcode, whose function is exactly as the name states. This is the same as in the Leica Q, SL, etc.
    6. Unusually, the DNGs all contain 2 different JPEG preview images in addition to the main raw image, one of 1620x1080, and finally a full sized preview of 6000x4000. Having the full sized preview is particularly odd, as it takes up a lot of space. In the approximately 45 MB files I've seen, the full size preview typically takes up about 1.8 MB. 
    So in summary, the DNGs appear to be a bit of a hybrid of the "SL", "Q", etc style of DNG, with a single lens correction opcode, and a bad pixels correction opcode, and of the "M10" style of DNG, with a full sized preview. As I noted in my analysis of the M10 DNG, the full size preview is probably there to support viewing on mobile devices that often don't have raw decoding capability built in. 

    Finally, it's notable that the DNGs don't contain the bizarre Lightroom XMP metadata that the M10 DNGs have embedded in them. 
    2

    View comments

  5. So finally, after many years of searching, I have an answer to the question that torments all who go down the digital color rabbit hole.

    This is from XKCD, brought to my attention via an article on the Digital Transitions website about the Phase One IQ3 100mp Trichromatic.



    0

    Add a comment

  6. Back in January, when the new Leica M10 was introduced, there were claims that the improvement in dynamic range from the Leica M240 to the M10 was of the order of 1.5 to 2 stops.  At the time, I wrote that just by eyeballing the published images, I believed the improvement to be "closer to 0.5 stops than 1.5-2".

    Much to my surprise, given what I had thought to be just a basic explanation of why dynamic range is a tricky concept, the post generated a lot of push-back. And I mean a LOT.

    Well, now there is actually an independent third-party measurement available, from photonstophotos.net:


    And....(drum roll)....the improvement in DR between the M240 and the M10 is 0.55 stops. As I predicted back in January.

    You can a find whole lot more information, including a useful interactive graphing tool that allows you to compare cameras, on the photonstophotos.net site.
    0

    Add a comment

  7. dcpTool has been available for quite a while as a command line application for Windows and the Mac. But now it available in the form of an easy to use Mac app, with powerful batch processing capabilities. dcpTool for the Mac is available from the App Store.

    dcpTool allows you to:

    1. Decompile DNG Camera Profile (DCP) files in XML. The XML can then be read and edited with a simple text editor.
    2. Recompile edited XML into DCP files
    3. Remove "Hue twists" from camera profiles. 
    For more information on hue twists, see these posts:
    11

    View comments

  8. Many cameras embed lens corrections into raw the raw files that they produce. Generally, that's a good thing - straight lines stay straight, etc. For an example of lens corrections in practice, take a look at this post about the Leica SL.

    But, as the saying goes, "there is no free lunch". Lens corrections also have some downsides:

    • Lens corrections result in a small reduction in sharpness. Sean Reid, at Reid Reviews has done extensive testing on this as part of his various lens reviews, and his conclusions are clear - there is a measurable loss in sharpness.
    • Lens corrections result in some reduction in image size - the corrections inevitably result in the edges of the image curving, and the curved parts need to be trimmed off to get back to a straight edge.
    So sometimes, it's useful to be able to get an uncorrected image. Now there are some raw developer apps that allow you get to uncorrected images (AccuRaw EXR is one of them), but most mainstream apps such as Lightroom and Photoshop don't allow correction to be disabled.

    Fortunately though, there is a "simple trick" that will allow you to disable lens corrections for nearly any camera that produces raw images. What you need to do is a simple two step process:
    1. Firstly, convert the raw image to a DNG image, using Adobe's DNG converter.
    2. Then use DNG Cleaner (macOS only) to remove any opcodes.
    The resulting DNG will not have any lens correction, and you can load it into Lightroom, Photoshop, or any other app that supports DNGs.

    Why does this work? This works because whenever DNG Converter converts an image that needs lens correction, it embeds the required correction as an "opcode" into the DNG image. Lens correction opcodes as usually things like "WarpRectilinear". DNG Cleaner knows where to find these opcodes, and simply removes them, as long as you have the "Remove opcodes" checkbox selected:


    Note that in order for this to work, you need DNG converter to be using it's default settings. Specifically, Compatibility should be set to the most recent version of Camera Raw. You should definitely not be using Custom Settings with the "Linear" checkbox selected. "Linear", otherwise known as LinearRaw, bakes any corrections into the actual data in the DNG, making it impossible to remove.

    There's more information on the DNG Cleaner website.
    0

    Add a comment

  9. Those of you that have read the Leica M10 raw file analysis post will know that M10 DNGs have more baggage in them that is typically the case for a Leica DNG. I've put together a little app to clean them up, called DNG Cleaner (Mac only for the moment). For M10 DNGs this will remove:

    1. The full size image preview - that will save about 3MB
    2. The various Lightroom/Photoshop adjustments embedded in the XMP portion of the DNG - ISO dependent noise reduction settings, lens profiles, etc

    DNG cleaner will also optionally remove opcodes, and apply lossless compression. This isn't relevant to the M10, but in many other Leica cameras, e.g., the Q, the SL, etc, opcodes are used for lens correction. For an example of the SL's with and without lens correction, see my post on the subject. DNG Cleaner is what Sean Reid used to remove opcodes for his SL 50 review, which some of you will have seen.

    As ever, back up your files before using any app that is designed to modify them.

    For more information on DNG Cleaner, see the website.
    0

    Add a comment

  10. AccuRaw users might have gotten a bit of a surprise recently - AccuRaw has turned into AccuRaw EXR, and is now at version 3.

    The reason for the name change is that the focus of the AccuRaw product has changed a bit, based on what users were actually doing with it. AccuRaw has always been focussed on having highly linear color response, with no "hue twists" or other surprises in the color rendering. As it turns out, that is a very useful feature to have if you're composting stills into video - it reduces the amount of work required for color matching.

    In the world of video, especially in the professional cinematography world, the "gold standard" is to use a format such as EXR, which is a floating point format. That allows huge flexibility in the way that post processing is done. So the new version of AccuRaw, now named AccuRaw EXR, supports EXR output.

    However, it's more than just a name change. In order to really support EXR output, AccuRaw has seen major changes internally - it now has a fully floating point, non-clipping workflow. For more on why that is important, see this post.

    1

    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