Frequency Separation Retouching

Corel Paint Shop Pro

Moderator: Kathy_9

Post Reply
GlenBarrington
Posts: 35
Joined: Sat Jun 08, 2013 8:27 pm
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
motherboard: Lenovo Ideacentre 30020ISH 90DA
processor: Intel Core i7 6700 3.4 GHz
ram: 12 GB
Video Card: Nvidia GEForce GT 730m
sound_card: RealTec the rest unknown
Hard_Drive_Capacity: 2 TB
Monitor/Display Make & Model: HP Pavilion 27 XW IPS
Corel programs: Corel PSP X8

Frequency Separation Retouching

Post by GlenBarrington »

I saw an interesting technique on a Website (farbspiel-photo.com) called Frequency Separation Retouching where you separate the photo into two layers, one for fine details and one for tones and colors (which is rendered a bit blurry).

Then the PS tool "Apply Image" is used to subtract the blurred image from the fine detail leaving a sort of High Pass image that can be adjusted for detail. After that, the "Linear Light" blending mod is used to blend the details layer with the tones & color layer.

It seems to me, this ought to be able to be done with PSP and I've been trying to duplicate this technique with PSP X6, but I haven't figured out suitable substitutes for "Apply Image" tool (I'm not certain I even know what it does, completely It seems to be a sort of anti-blend mode) and the "Linear Light" blend mode.

Am I on a fool's errand?
LeviFiction
Advisor
Posts: 6831
Joined: Thu Oct 02, 2008 1:07 pm
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
motherboard: Alienware M17xR4
processor: Intel Core i7-3630QM CPU - 2_40GH
ram: 6 GB
Video Card: NVIDIA GeForce GTX 660M
sound_card: Sound Blaster Recon3Di
Hard_Drive_Capacity: 500GB
Corel programs: PSP: 8-2023
Location: USA

Re: Frequency Separation Retouching

Post by LeviFiction »

Well, if Apply Image works the way I think it does you might be able to use Image -> Arithmetic to do the same. But, I don't think PSP has a comparison to Linear Light blend mode.

On the positive side there is more than one way to do something.

Photodrawken has actually posted a frequency separation tutorial here on the forums. Maybe it'll give you a few ideas.

http://forum.corel.com/EN/viewtopic.php?f=29&t=48518
https://levifiction.wordpress.com/
GlenBarrington
Posts: 35
Joined: Sat Jun 08, 2013 8:27 pm
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
motherboard: Lenovo Ideacentre 30020ISH 90DA
processor: Intel Core i7 6700 3.4 GHz
ram: 12 GB
Video Card: Nvidia GEForce GT 730m
sound_card: RealTec the rest unknown
Hard_Drive_Capacity: 2 TB
Monitor/Display Make & Model: HP Pavilion 27 XW IPS
Corel programs: Corel PSP X8

Re: Frequency Separation Retouching

Post by GlenBarrington »

Wonderful! Thanks!
photodrawken
Posts: 684
Joined: Wed Sep 26, 2012 8:40 am
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
ram: 16Gb
Hard_Drive_Capacity: 324Gb
Location: USA

Re: Frequency Separation Retouching

Post by photodrawken »

Argghh! Too bad the images aren't available on ImageShack anymore. :cry: Hope the description of the procedure still helps....
Ken
Yes, I think it can be eeeeeasily done...
Just take everything out on Highway 61.
Klossr
Posts: 2
Joined: Fri Oct 24, 2014 11:00 am
operating_system: Windows 7 Professional
System_Drive: C
32bit or 64bit: 64 Bit

Re: Frequency Separation Retouching

Post by Klossr »

The procedure still works :D
When you start with a 16 bits TIFF-file it doesn't work; the colors first have to be reduced to 8 bits. The shortcut for that: CTRL+SHIFT+R

I have made a script for this procedure. You can paste it in Notepad and save it in C:\Users\YOUR_USERNAME\Documents\Corel PaintShop Pro\16.0\Scripts - Trusted
It takes some time to run and you have to fill in the values as described in the procedure the first time.
You'll get 3 pictures as a result; the script will ask for the first one to save it as a photoshop-file (as it contains layers). The other ones are temp-files which can be discarded.

The script:
from PSPApp import *

def ScriptProperties():
return {
'Author': u'Joop Verdoorn',
'Copyright': u'',
'Description': u'',
'Host': u'PaintShop Pro',
'Host Version': u'16.00'
}

def Do(Environment):
# EnableOptimizedScriptUndo
App.Do( Environment, 'EnableOptimizedScriptUndo', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# LayerDuplicate
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# Eigenschappen laag
App.Do( Environment, 'LayerProperties', {
'General': {
'Opacity': None,
'Name': u'Colour',
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': None
},
'BlendRanges': None,
'Path': (0,0,[],False),
'ArtMediaTexture': None,
'Effects': None,
'BrightnessContrast': None,
'ChannelMixer': None,
'ColorBalance': None,
'CurveParams': None,
'HSL': None,
'Threshold': None,
'Levels': None,
'Posterize': None,
'Vibrancy': None,
'Overlay': None,
'LocalToneMapping': None,
'Invert': None,
'HistogramAdjustment': None,
'FillLightClarity': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default,
'Version': ((16,0,0),1)
}
})

# Mediaan
App.Do( Environment, 'Median', {
'Aperture': 13,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# Copy
App.Do( Environment, 'Copy', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# PasteGraphicAsNewImage
App.Do( Environment, 'PasteGraphicAsNewImage', {
'CreateFromDropData': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': 0,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# NegativeImage
App.Do( Environment, 'NegativeImage', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': -1,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# LayerSetVisibility
App.Do( Environment, 'LayerSetVisibility', {
'Command': App.Constants.ShowCommands.Hide,
'Path': None,
'WorkingMode': 1,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default,
'Version': ((16,0,0),1)
}
})

# Arithmetic
App.Do( Environment, 'Arithmetic', {
'AllChannels': True,
'Bias': -128,
'Channel1': 0,
'Channel2': 0,
'ClipColorValues': True,
'Divisor': 1,
'Function': App.Constants.ArithmeticFunctions.Add,
'SourceImage1': 0,
'SourceImage2': 1,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': 2,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# Copy
App.Do( Environment, 'Copy', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': -2,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# PasteAsNewLayer
App.Do( Environment, 'PasteAsNewLayer', {
'CreateFromDropData': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# MultiObjectProperties
App.Do( Environment, 'MultiObjectProperties', {
'General': {
'Opacity': None,
'Name': None,
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': App.Constants.BlendMode.Overlay
},
'Effects': None,
'WorkingMode': 1,
'Path': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
'Version': ((16,0,0),1)
}
})

# FileSaveAs
App.Do( Environment, 'FileSaveAs', {
'Encoding': {

},
'FileName': u'-fs.psd',
'FileFormat': App.Constants.FileFormat.PSD,
'FormatDesc': u'PSD Photoshop',
'WorkingMode': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
'Version': ((16,0,0),1)
},
'DefaultProperties': []
})
AlanT
Posts: 14
Joined: Tue Aug 19, 2014 6:39 pm
operating_system: Windows 8.1
System_Drive: C
32bit or 64bit: 64 Bit
motherboard: HP Probook 6570b
processor: Intel i5-3210M
ram: 16GB
Video Card: HD4000
Hard_Drive_Capacity: 256GB
Monitor/Display Make & Model: HP Probook 6570b (1600x900)
Location: Grand Rapids, MI
Contact:

Re: Frequency Separation Retouching

Post by AlanT »

I've also become a fan of frequency separation. My process is a bit different, and is not only easier, but also works with 16-bit images as well.

You start the same way, and create 2 duplicates of the image you want to edit. Rename the top one as "texture" or "high" and the other as "color" or "low". At this point, you will have 3 layers -- the original background plus 2 edit layers.

Now, select the texture layer and do a high-pass edge effect. Play with the settings so you retain the texture you want to keep and no more. In my case, (with 36 megapixel images of headshots) I tend to use settings around 5 to 9. Change the blend mode of this layer to hard light. At this point, the image will look "too sharp".

Next, select the color layer and do a guassian blur using the same value you used with the high-pass. Once done, the image will again look like the original.

To verify this, make a copy of the original background layer, bring this "check layer" to the top of the stack, zoom in to a 1:1 view, and turn the visibility of the check layer on and off to see that there are practically no differences between the 2.

From here, delete (or turn off) the check layer, and do your frequency separation retouching as you would in the other software.

One thing I do to eliminate any potential differences between the separated image and the original is to group the retouching layers with a mask and allow only those areas which have been retouched to be seen.

- Alan Tutt

Specializing in green screen promotional headshots.
http://AlanTuttPhotography.com
migf1
Posts: 510
Joined: Fri Apr 03, 2020 3:09 pm
operating_system: Windows 8.1
System_Drive: C
32bit or 64bit: 64 Bit

Re: Frequency Separation Retouching

Post by migf1 »

Hi guys, ancient topic but I just have to share this! Plus, I just realized I posted on a different sub-forum, so I'm just putting a link to that post here: https://forum.corel.com/viewtopic.php?p=386127#p386127

It's an insane Frequency Separation shortcut I just found out about!
Good Unofficial PaintShop Pro Tutorials: Creation CasselMake Shop ProHEC Image EditingLeviFiction PSP Basics
(plus my own Gimp & Stuff)
Post Reply