BlindDeHalo3
From Avisynth wiki
Abstract | |
---|---|
Author | Didée |
Version | 3_MT2 |
Download | BlindDeHalo3_MT2 |
Category | Dehalo |
Requirements | YV12 |
License | |
Discussion |
Contents |
Description
- This script removes the light & dark halos from too strong "Edge Enhancement".
Requirements
- - AviSynth 2.5.8 or later
- - Supported color formats: YV12
Required Plugins:
- MaskTools2 2.0a48+
- RemoveGrain - part of the RemoveGrain v1.0b package.
Syntax and Parameters
- BlindDeHalo3 (clip clp, float "rx", float "ry", int "strength", float "lodamp", float "hidamp", float "sharpness", float "tweaker", int "PPmode", int "PPlimit", bool "interlaced")
- clip clp =
- Input clip.
- clip clp =
- float rx = 3.0
- float ry = 3.0
- The radii to use for the [quasi-] Gaussian blur, on which the halo removal is based.
- The radii to use for the [quasi-] Gaussian blur, on which the halo removal is based.
- float rx = 3.0
- int strength = 125
- The overall strength of the halo removal effect.
- The overall strength of the halo removal effect.
- int strength = 125
- float lodamp = 0.0
- float hidamp = 0.0
- Range: 0.0 - ??? (try 4.0 as a start)
- With these two values, one can reduce the basic effect on areas that would change only little anyway (lodamp), and/or on areas that would change very much (hidamp).
- lodamp does a reasonable job in keeping more detail in affected areas.
- hidamp is intended to keep rather small areas that are very bright or very dark from getting processed too strong.
- Works OK on sources that contain only weak haloing - for sources with strong over sharpening, it should not be used, mostly.
- (Usage has zero impact on speed.)
- Range: 0.0 - ??? (try 4.0 as a start)
- float lodamp = 0.0
- float sharpness = 0.0
- Range: 0.0 - 1.58
- By setting this bigger than 0.0, the affected areas will come out with better sharpness.
- However, strength must be chosen somewhat bigger as well, then, to get the same effect than without.
- (This is the same as initial version's "maskblur" option.)
- Range: 0.0 - 1.58
- float sharpness = 0.0
- float tweaker = 0.0
- Range: 0.0 - 1.00
- May be used to get a stronger effect, separately from altering "strength".
- (Also in accordance to initial version's working methodology. I had no better idea for naming this parameter.)
- Range: 0.0 - 1.00
- float tweaker = 0.0
- bool interlaced = false
- As formerly, this is intended for sources that were originally interlaced, but then made progressive by deinterlacing.
- It aims in particular at clips that made their way through Restore24.
- bool interlaced = false
- int PPmode = 0
- When set to "1" or "2", a second cleaning operation after the basic halo removal is done. This deals with:
- a) Removing/reducing those corona lines that sometimes are left over by BlindDeHalo
- b) Improving on mosquito noise, if some is present.
- When set to "1" or "2", a second cleaning operation after the basic halo removal is done. This deals with:
- int PPmode = 0
- PPmode=1 uses a simple Gaussian blur for post-cleaning.
- PPmode=2 uses a 3*3 average, with zero weighting of the center pixel.
- Also, PPmode can be "-1" or "-2". In this case, the main dehaloing step is completely discarded, and *only* the PP cleaning is done.
- This has less effect on halos, but can deal for sources containing more mosquito noise than halos.
- int PPlimit = 0
- Can be used to make the PP routine change no pixel by more than [PPlimit].
- I'm not sure if this makes much sense in this context. However the option is there - you never know what it might be good for.
- int PPlimit = 0
Comments & Tips
- Additional information for optimal usage. Written by Didée
- Regarding "strength" & "sharpness" & "tweaker"
- These three behave somewhat similar, but not the same.
- A bigger value for "sharpness" is similar to reducing "strength".
- A bigger value for "tweaker" is similar to increasing "strength" value -- and vice versa for both.
- Also the other way round: when increasing "sharpness", you probably have to increase "strength" a little as well, to get the same removal effect.
- Usage of "sharpness" works in particular good when bigger radii (say, >2.5) are used for dehaloing.
- Usage of "tweaker" is more useful when working with sources containing thin, weak halos.
- In the end, it comes down again to trial & error.
- Lodamp and Hidamp
- Technically, these two are the "n" constants in two scaling factors of the form "x/(x+n)",
- which are used when creating a LUT from the difference between input clip and its gaussian blurred version.
- As described above, "lodamp" deals for better protection of areas where this difference is alredy small.
- Effectively, it preserves some more of weak detail in areas of high contrast.
- A value of 4.0 seems a good starting point.
- One can also try to use bigger values like 16.0 or so, along with a bigger "strength" value.
- By this, one can somewhat change the characteristics of "what-is-processed-how-strongly".
- "hidamp" tries to do the opposite: protect small detail that is very bright or very dark from being toned down too much.
- But its usability is much more restricted: it seems to work OK when the actual halos of the source are rather weak,
- and/or when not too small radii are used - in this case, the protection of very prominent detail works out, mostly.
- In case the source contains strong haloing, is's better to not use "hidamp" at all:
- in this case, the halos itself would be considerd to be "prominent detail" and be protected ... no go.
Examples
Full function call with default values:
AviSource("Blah.avi") BlindDeHalo3( rx=3.0, ry=3.0, strength=125, \ lodamp=0.0, hidamp=0.0, sharpness=0.0, tweaker=0.0, \ PPmode=0, PPlimit=0, interlaced=false)
Changelog
Version Date Changes
3MT2 2006/03/22 - BlindDeHalo3_MT2 - Changed syntax to use MaskTools2 - Replaced some things with RemoveGrain-modes (RemoveGrain.dll newer than v0.9 required) - Fixed some oddities - New PPmode (3 and -3): shouldn't blur, but still remove mosquitos and leftover halo borders
3 2005/03/09 - BlindDeHalo3 - Added parameters - "sharpness" parameter (and "tweak" counterpart) - "lodamp" (and "hidamp" (!) ) parameter - The "PP" modes, which act somewhat similar to HQDering ... ... where "PP" < 0 runs *only* these routines, without the main dehaloing one
2 2004/12/10 - BlindDeHalo2 - Added interlaced parameter - Changed rx, ry, and strength default - Removed parameters
v0.1 2004/04/07 - BlindDeHalo - Initial release
External Links
- Doom9 Forum - BlindDeHalo Discussion.
Back to External Filters ←