“Hacking” Grain settings into ACR and more

Noise

While most people in this digital age seem overly concerned with noise, and mainly want noise reduction, I tend to like grain: It can really improve a digital image, and even make it appear sharper. Until now I had to simulate it using Photoshop for instance.

No longer: Recently, Adobe released ACR 6.1 and LightRoom 3. In these there was a new option added: “Grain”, with three controls: “Amount”, “Size” and “Roughness”. It produced some pretty nice “film like” grain. Way better then a simple “add noise” in Photoshop for instance.
That could be a time saver and simplify the workflow quite a bit.
Of course, I’d need to upgrade to LR3 for this feature. But, along with the mayor improvements in IQ due to the new demosaicing and processing algorithms (Process Version 2010) that would be totally worth it to me. Some of the other new features would be the icing on the cake.

One problem

I’d need a new Mac to run it: LightRoom 3 and PSCS5 only run on an Intel Mac, not on my Dual G5 PPC.
Since buying a new Mac just for this is a bit over the top, I decided to see what my options were.

A while back, Adobe updated the previous versions of ACR and LR to ACR 5.7 and LR 2.7: These versions also support the demosaic algorithm from Lightroom 3.
From what I’d read on the web, these should render the file as seen in Lightroom3, but not allow you to make changes to the new Develop settings, like “Grain”.

A bit more researching led (as often) to the excellent site of Victoria Bampton, AKA. Lightroom Queen. She had a bit more detailed info: ACR 5.7 should use the same Demosaic, and match the new additions closely. She also mentioned “5.7 can read LR’s settings but there’s no UI to change the new settings.” Sadly, LR2.7 will ignore the new LR3 settings. (Why Adobe, why?)

Then I got an idea when answering a question on POTN. Would it be possible to “hack” an .XMP file to only adjust the Grain settings?

The answer? It is!


All you need is an .XMP file with settings applied in LightRoom3 (thanks Anouk!) and a text editor.
It really is that simple.

An .XMP file is simply a plain text file, with instructions for the Adobe Raw converter: “Set this slider to this value”.
The part we are interested in, is this:
<crs:grainamount>58</crs:grainamount>
<crs:grainsize>30</crs:grainsize>
<crs:grainfrequency>59</crs:grainfrequency>

All you need to do is copy-paste this into a “blank” .XMP file.
To do that, open a Raw file (not a DNG) in ACR 5.7. Then go to the “flyout” menu and choose “Save settings…”.
ACR flyout: Save Settings...

To make life easy on yourself, only save one set of parameters, for instance “sharpening”.
The advantage of doing it like this, is that all other settings will remain the same. So if you’d already made adjustments to the Raw, they will remain.

Save Settings Dialog box

Close ACR.

Open the .XMP in a text editor. I like Smultron.
That gives you an .XMP that looks like this:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2-c020 1.124078, Tue Sep 11 2007 23:21:40 ">
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:description rdf:about="">
xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/">
<crs:version>5.7</crs:version>
<crs:processversion>5.0</crs:processversion>
<crs:sharpness>62</crs:sharpness>
<crs:sharpenradius>+1.0</crs:sharpenradius>
<crs:sharpendetail>8</crs:sharpendetail>
<crs:sharpenedgemasking>81</crs:sharpenedgemasking>
<crs:hassettings>True</crs:hassettings>
</rdf:description>
</rdf:rdf>
</x:xmpmeta>

Delete the “Sharpening” settings, and replace them with the “Grain” settings you want.

You get this:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2-c020 1.124078, Tue Sep 11 2007 23:21:40 ">
<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:description rdf:about="">
xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/">
<crs:version>6.1</crs:version>
<crs:processversion>5.7</crs:processversion>
<crs:grainamount>50</crs:grainamount>
<crs:grainsize>30</crs:grainsize>
<crs:grainfrequency>60</crs:grainfrequency>
<crs:colornoisereductiondetail>50</crs:colornoisereductiondetail>
<crs:hassettings>True</crs:hassettings>
</rdf:description>
</rdf:rdf>
</x:xmpmeta>

Save this under a new name. “Grain50_30_60” seems a logical choice in this case. You can of course save a number of different settings under different names.
Open a Raw file, apply the preset, and BOOM. You just added Grain 🙂

ACR, With Grain

But wait, there’s more

So, what if you want to alter just one of the settings? Do you need to open a text editor every time?
No. It’s easier to create a few more presets, each only adjusting 1 parameter.

I created separate presets for GrainAmount, GrainSize and GrainFrequency, in different values.
So, if I open an image in ACR, it looks like this:

ACR, Before

Then I apply three presets to set the Grain I want.

ACR, With Grain, Separate Presets

In this case GrainAmount80, GrainSize20 and GrainFrequency80. Not as flexible as sliders, but pretty close.

ACR, With Grain 80/20/80, Set through separate Presets

The other way around

In LR3, there’s another new addition that is lacking in LR2.7: There’s a point curve added.
In LR2, you could only adjust the (wrongly named) “point curve” as the ACR “Parametric Curve”. So it was not possible to create a curve to invert the image or set the black and white point to something other then 0 and 255. (Something quite a few people like to do, which makes absolutely no sense to me).

There’s a way around that as well: Open a CR2 file in ACR, adjust the curve as you like, and click “Done”. You just created an .XMP file with all the info you need.
Open that .xmp file in an editor, and look for the second entry for tone curve:

<crs:tonecurve>
<rdf:seq>
<rdf:li>0, 255</rdf:li>
<rdf:li>255, 0</rdf:li>
</rdf:seq>
</crs:tonecurve>

the first entry for “Tone Curve” is the Parametric Curve. Don’t mess with it, since LR allows you to adjust that.

<crs:tonecurve>
<rdf:seq>
<rdf:li>0, 0</rdf:li>
<rdf:li>32, 22</rdf:li>
<rdf:li>64, 56</rdf:li>
<rdf:li>128, 128</rdf:li>
<rdf:li>192, 196</rdf:li>
<rdf:li>255, 255</rdf:li>
</rdf:seq>
</crs:tonecurve>

Now, in LightRoom2, create a new Preset. Use only the “Tone Curve” setting,

LR, New Develop Preset

Open this preset in a text editor as well.
It will look different then an xmp, but will be plain text as well.

s = {
id = "847A699E-AEA0-4E00-BF19-F6E681D5EBD7",
internalName = "Negative",
title = "Negative",
type = "Develop",
value = {
settings = {
ParametricDarks = 0,
ParametricHighlightSplit = 75,
ParametricHighlights = 0,
ParametricLights = 5,
ParametricMidtoneSplit = 50,
ParametricShadowSplit = 25,
ParametricShadows = -5,
ToneCurve = {
0,
0,
32,
22,
64,
56,
128,
128,
192,
196,
255,
255,
},
ToneCurveName = "Medium Contrast",
},
uuid = "F2FF3CF0-C863-43EA-B051-B624A8113D3A",
},
version = 0,
}

Remove the stuff you don’t want, and change it to this:

s = {
id = "847A699E-AEA0-4E00-BF19-F6E681D5EBD7",
internalName = "Negative",
title = "Negative",
type = "Develop",
value = {
settings = {
ToneCurve = {
0,
255,
255,
0,
},
ToneCurveName = "Negative",
},
uuid = "F2FF3CF0-C863-43EA-B051-B624A8113D3A",
},
version = 0,
}

Restart LR2, apply the preset. You just inverted the image 🙂

LR, Negative Curve Applied

Of course, there might be a number of other things you’d want to “hack” into either LR2 or ACR 5.7. Just give it a try! And be sure to post any nice results you get in the comments!

Post to Twitter Post to Delicious Post to LinkedIn

Tags: , , , , , , , ,

Leave a Reply

© copyright 2008 René Damkot Fotografie
Design by: styleshout     Valid CSS | XHTML