I noticed some discussion on the OSPF (One-Step Photo Fix) script, those tha
t
like it, those that don't. And sometimes Jasc's own defaults fail miserably.
Not
many people like to get into the inner-workings and edit their own scripts,
I
thought I'd try to help out those people.
Below is the OSPF script with edits to make it interactive so you can see wh
at
it is doing at each step and adjust them manually if need be. If you don't l
ike
it doing anything at one step just hit cancel, then agree to run the rest of
the
script when the alert pops up. I also changed sharpen to unsharp-mask. When
it
opens up the adjustment windows check to make sure that you like the default
settings that I embedded in the script. If not, edit the script to make it i
nto
your favorite defaults for each adjustment made. Now that you have the DCNR
(Digital Camera Noise Removal) filter in PSP9 you might want to replace the
edge-preserving-smooth with that, if you have some favorite settings that wo
rk
the best with the majority of your photos. An example of DCNR script that yo
u
could inside of the OSPF script is already included here below the new scrip
t.
(The easiest way I found to add modules for scripts, is to just record one s
hort
script using your favorite tool and settings for it then save it. Copy those
results into the script of your choice (but edit out any position settings a
nd
constants it might record). Then copy and paste that section into the script
of
your choice.)
Reasons I changed some of default OSPF settings: I found that the "remove co
lor
cast" option in auto-color-balance would often destroy a sunset or overcast
feeling that I wanted to retain in a photo, or other images with a strong an
d
important ambient light source. So I turned that off, it ruined things more
times than fixing things. Since I do a lot of nature photography I didn't ca
re
for the skin-tone preservation in auto-saturation I turned off that option t
oo.
Your needs may vary, edit accordingly.
Those not familiar with hand-editing scripts, just change the "...Boolean.fa
lse"
to "...Boolean.true" for those setting options that you'd like to toggle bac
k
on.
Just copy and paste the below script into any text editor and save it under
the
name of something like "OSPF_Interactive.PspScript" and put it in your
scripts-restricted or scripts-trusted folder
------copy from below this line-------
# This script provides "one-step" photo enhancement by running the
# following commands in order: Automatic Color Balance, Automatic
# Contrast Enhancement, Clarify, Automatic Saturation Enhancement,
# Edge Preserving Smooth and Un-Sharp-Mask.
def ScriptProperties():
return {
'Description': 'One-Step Photo Correction',
'Host': 'Paint Shop Pro 8',
'Host Version': '8.00'
}
# Get the image information for the current image
def Do(Environment):
App.Do( Environment, 'EnableOptimizedScriptUndo' )
# we need a document for this to work
if JascUtils.RequireADoc( Environment ) == App.Constants.Boolean.false:
return
# make the image true color if it is not already there
JascUtils.PromoteToTrueColor( Environment, App.TargetDocument )
# a number of operations are done differently on greyscale - capture that st
ate
GreyScale = JascUtils.IsGreyScale( Environment, App.TargetDocument )
# Color balance the image if it is not greyscale
if not GreyScale:
App.Do( Environment, 'AutoColorBalance', {
'RemoveColorCast': App.Constants.Boolean.false,
'Strength': 30,
'Temperature': 6500,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Interactive,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
# Enhance the contrast
App.Do( Environment, 'AutoContrastEnhancement', {
'Appearance': App.Constants.Appearance.Natural,
'Bias': App.Constants.ContrastBias.Neutral,
'Strength': App.Constants.ContrastStrength.Normal,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Interactive,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
# Enhance the saturation if the image is not greyscale
if not GreyScale:
App.Do( Environment, 'AutoSaturationEnhancement', {
'Bias': App.Constants.SaturationBias.Normal,
'Skintones': App.Constants.Boolean.false,
'Strength': App.Constants.SaturationStrength.Normal,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Interactive,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
# Smooth the image while preserving edge information
App.Do( Environment, 'EdgePreservingSmooth', {
'SmoothingFactor': 2,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Interactive,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
# Unsharp Mask
App.Do( Environment, 'UnsharpMask', {
'Clipping': 2,
'Radius': 1.66,
'Strength': 65,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Interactive,
'PreviewVisible': App.Constants.Boolean.true,
'AutoProof': App.Constants.Boolean.false,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
------end script--------------------------------
Here's an example of a noise removal script with some okay settings for PSP
v9.0
that you could use to replace the edge-preserving-smooth filter in the above
script. Just delete the "Edge Preserving Smooth" section in the above script
and
copy/insert this section in the same place:
# Digital Camera Noise Removal
App.Do( Environment, 'DigitalCameraNoiseRemoval', {
'SmallDetails': 30,
'MediumDetails': 30,
'LargeDetails': 30,
'Blending': 45,
'Sharpening': 1,
'LockDetailSettings': True,
'Hue': 39,
'Range': 70,
'MinimalLuminance': 4,
'MaximalLuminance': 255,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Interactive,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((9,0,0),1)
}
})
|