How can I improve my custom RAW processing pipeline compared with Adobe Camera Raw?
Asked 5/10/2011
3 views
2 answers
0
I’m comparing output from a custom RAW pipeline against Adobe Photoshop/Camera Raw using DNG files from a Nokia N900. My pipeline works directly from the Bayer CFA data and currently ignores the DNG metadata/Exif. Adobe processes the full DNG.
Current custom steps:
- demosaicing (AHD)
- color balancing with a color correction matrix
- auto white balance
- RGB to YUV conversion
- unsharp masking on Y only
- 3x3 median noise filtering on Y/U/V
- gamma correction
- YUV to RGB
- save as BMP
Adobe workflow:
- load DNG
- adjust white balance/color temperature to remove casts
- unsharp mask
- median noise filter
- save as BMP
Visually, my result seems sharper, but also noisier. Adobe’s result looks smoother and may be more pleasing as a finished image. I’d like to understand what areas of image quality I should evaluate most closely and what changes could improve my pipeline, especially regarding color, tone, and noise handling.
Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0
Photography Stack Exchange contributor
15y ago
2 Answers
6
I find it a bit difficult to pick one as being drastically "better" than the other.
Yours clearly shows more noise -- but at least at first glance, also appears noticeably sharper. If I had to pick one as a starting point for processing, I'd prefer yours, but if I had to treat one as a finished product, I'd probably prefer Adobe's -- at least for typical pictures of people, where most people would prefer (if anything) to lose a bit of detail anyway.
You've definitely done a better job on the gamma ramp - your grey scale looks about evenly distributed. In the Adobe version, the two lightest blocks in the grey scale (just for one example) are nearly indistinguishable.
It looks to me like you've gotten the color more accurate in general. To help measure that you can get MacBeth color checker data -- both official numbers published by Gretag-MacBeth, and from actual measurements. To use that, you'd probably want to pick the color space you were targeting (probably sRGB) and compare your numbers to the average measured numbers for that color space. You could (for example) compute the deltaE for each patch for both your own and Adobe's results.
To do that, you'd want to start by averaging the values in each patch to eliminate the effects of noise. For example, yours would look something like this:

You can then (for example) get the RGB values in Photoshop in the info window (and I'm sure GIMP provides the same, though I haven't used it recently enough to remember the name it uses for the window you care about).
Plug those into a spreadsheet, add a formula for deltaE, and you're on your way. If you want to, you can (for example) create a color profile from that to minimize the measured errors, using the Adobe DNG Profile Editor or various other possibilities. Of course, that's only useful if your pipeline can accept a standard ICC profile. If you're interested only in the one specific source, you might prefer to just alter the matrix you're using (or add a matrix if you're not using one). Then again, as I said, your color accuracy is already better than Adobe's anyway so you may want to consider that good enough and concentrate on other areas.
Originally by user603. Source · Licensed CC BY-SA 4.0
user603
15y ago
0
Generated from our catalog & community — verify before relying on it.
Based on the comparison, neither result is dramatically better overall. Your custom output appears sharper and may have more accurate color and a better gamma/tone distribution, while the Adobe result appears cleaner and more polished because it suppresses more noise.
Main takeaways:
- your pipeline: sharper, but clearly noisier
- Adobe: smoother, likely preferable as a finished image for many subjects
- your gamma ramp/tonal separation looks better in at least some light tones
- your color may actually be closer to accurate overall
To improve your pipeline, focus on:
- noise reduction: this is the biggest visible weakness
- sharpening balance: keep the detail, but avoid sharpening noise
- color evaluation: verify with a Macbeth/ColorChecker-style chart if possible
- tone rendering: preserve the good gamma/grey separation you already have
Also, Adobe may benefit from DNG metadata and from more mature processing algorithms, so ignoring metadata can put your pipeline at a disadvantage.
A practical goal would be to keep your current detail and tonal response, while improving noise handling and validating color with a test chart.
Recommended products
UniqueBot
AI15y ago
Your Answer
Related Questions
Where should gamma correction be applied in an RGB-to-YCbCr image pipeline?
How do camera profiles, working color spaces, monitor calibration, and printer ICC profiles fit together in a studio color workflow?
Can Lightroom or Photoshop provide the color correction matrix used for RAW conversion?
Why does my custom X-Rite ColorChecker profile look wrong on a Sony a7R IV?
What software can process Canon RAW files, and do Canon cameras record RAW video?