BlindDeHalo3: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
| Line 22: | Line 22: | ||
== Syntax and Parameters == | == Syntax and Parameters == | ||
:{{Template:FuncDef|BlindDeHalo3(clip clp, float "rx", float "ry", int "strength", float "lodamp", float "hidamp", float "sharpness", float "tweaker", int "PPmode", int "PPlimit", bool "interlaced")}} | :{{Template:FuncDef|BlindDeHalo3 (''clip'' clp, ''float'' "rx", ''float'' "ry", ''int'' "strength", ''float'' "lodamp", ''float'' "hidamp", ''float'' "sharpness", ''float'' "tweaker", ''int'' "PPmode", ''int'' "PPlimit", ''bool'' "interlaced")}} | ||
<br> | <br> | ||
::{{ | ::{{Par2|clp|clip| }} | ||
::: | ::::Input clip. | ||
<br> | <br> | ||
::{{ | ::{{Par2|rx|float|3.0}} | ||
:::The | ::{{Par2|ry|float|3.0}} | ||
::::The radii to use for the [quasi-] Gaussian blur, on which the halo removal is based.<br> | |||
<br> | <br> | ||
::{{ | ::{{Par2|strength|int|125}} | ||
::::The overall strength of the halo removal effect.<br> | |||
<br> | |||
::{{Par2|lodamp|float|0.0}} | |||
::{{Par2|hidamp|float|0.0}} | |||
:::Range: 0.0 - ??? (try 4.0 as a start) | :::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), | ::::With these two values, one can reduce the basic effect on areas that would change only little anyway ({{Template:FuncDef|lodamp}}), and/or on areas that would change very much ({{Template:FuncDef|hidamp}}). | ||
::::{{Template:FuncDef|lodamp}} does a reasonable job in keeping more detail in affected areas. | |||
:::: | ::::{{Template:FuncDef|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. | ||
::::Works OK on sources that contain only weak haloing - for sources | |||
::::(Usage has zero impact on speed.) | ::::(Usage has zero impact on speed.) | ||
<br> | <br> | ||
::{{ | ::{{Par2|sharpness|float|0.0}} | ||
:::Range: 0.0 - 1.58 | :::Range: 0.0 - 1.58 | ||
::::By setting this bigger than 0.0, the affected areas will come out with better sharpness. | ::::By setting this bigger than 0.0, the affected areas will come out with better sharpness. | ||
| Line 45: | Line 49: | ||
::::(This is the same as initial version's "maskblur" option.) | ::::(This is the same as initial version's "maskblur" option.) | ||
<br> | <br> | ||
::{{ | ::{{Par2|tweaker|float|0.0}} | ||
:::Range: 0.0 - 1.00 | :::Range: 0.0 - 1.00 | ||
::::May be used to get a stronger effect, | ::::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.) | ::::(Also in accordance to initial version's working methodology. I had no better idea for naming this parameter.) | ||
<br> | <br> | ||
::{{ | ::{{Par2|interlaced|bool|false}} | ||
:::As formerly, this is intended for sources that were originally interlaced, but then made progressive by deinterlacing. | ::::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. | ::::It aims in particular at clips that made their way through [[Restore24]]. | ||
<br> | <br> | ||
::{{ | ::{{Par2|PPmode|int|0}} | ||
:::When set to "1" or "2", a second cleaning operation after the basic halo removal is done. This deals with: | ::::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 | :::::a) Removing/reducing those corona lines that sometimes are left over by BlindDeHalo | ||
::::b) Improving on mosquito noise, if some is present. | :::::b) Improving on mosquito noise, if some is present. | ||
:::PPmode=1 uses a simple | ::::{{Template:FuncDef|PPmode}}=1 uses a simple Gaussian blur for post-cleaning. | ||
:::PPmode=2 uses a 3*3 average, with zero | ::::{{Template:FuncDef|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. | ::::Also, {{Template:FuncDef|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. | ::::This has less effect on halos, but can deal for sources containing more mosquito noise than halos. | ||
<br> | <br> | ||
::{{ | ::{{Par2|PPlimit|int|0}} | ||
:::Can be used to make the PP routine change no pixel by more than [PPlimit]. | :::Can be used to make the PP routine change no pixel by more than [{{Template:FuncDef|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. | :::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. | ||
<br> | <br> | ||
== Comments & Tips == | == Comments & Tips == | ||
:Additional information for optimal usage. Written by [http://forum.doom9.org/showpost.php?p=622289&postcount=70 Didée] | :Additional information for optimal usage. Written by [http://forum.doom9.org/showpost.php?p=622289&postcount=70 Didée] | ||
Revision as of 17:50, 27 January 2014
| Abstract | |
|---|---|
| Author | Didée |
| Version | 3_MT2 |
| Download | BlindDeHalo3_MT2 |
| Category | Dehalo |
| Requirements | YV12 |
| License | |
| Discussion | |
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 Filters:
- MaskTools2 2.0a48+
- RemoveGrain.dll - part of the RemoveGrain 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
Changes 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
Changes 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
Changes 2004-12-10: - BlindDeHalo2 - Added interlaced parameter - Changed rx, ry, and strength default - Removed parameters
Changes 2004-04-07: - BlindDeHalo1 - Initial release
External Links
- Doom9 Forum - BlindDeHalo Discussion.
Back to External Filters ←