BlindDeHalo3
From Avisynth wiki
(Difference between revisions)
(→Introduction) |
|||
Line 2: | Line 2: | ||
{{Filter | {{Filter | ||
|{{Author/Didée}} | |{{Author/Didée}} | ||
− | | | + | |3_MT2 |
− | | | + | |[http://home.arcor.de/dhanselmann/_stuff/BlindDeHalo3_MT2.zip BlindDeHalo3_MT2] |
|Dehalo | |Dehalo | ||
− | | | + | |[[YV12]] |
− | + | ||
| | | | ||
|}} | |}} | ||
− | + | <br> | |
− | + | ||
== Description == | == Description == | ||
:This script removes the light & dark halos from too strong "Edge Enhancement". | :This script removes the light & dark halos from too strong "Edge Enhancement". | ||
− | + | <br> | |
− | === Required Filters === | + | ===== Required Filters ===== |
:*[[MaskTools2]] 2.0a48+ | :*[[MaskTools2]] 2.0a48+ | ||
:*[[RemoveGrain]] | :*[[RemoveGrain]] | ||
<br> | <br> | ||
− | |||
== 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> | ||
+ | ::{{Par|rx, ry|float|3.0}} | ||
+ | :::The radii to use for the [quasi-] gaussian blur, on which the halo removal is based.<br> | ||
<br> | <br> | ||
− | :{{Par| | + | ::{{Par|strength|int|125}} |
− | :: | + | :::The overall strength of the halo removal effect.<br> |
+ | <br> | ||
+ | ::{{Par|lodamp, hidamp|float|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 oversharpening, it should not be used, mostly. | ||
+ | ::::(Usage has zero impact on speed.) | ||
+ | <br> | ||
+ | ::{{Par|sharpness|float|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.) | ||
+ | <br> | ||
+ | ::{{Par|tweaker|float|0.0}} | ||
+ | :::Range: 0.0 - 1.00 | ||
+ | ::::May be used to get a stronger effect, seperately from altering "strenght". | ||
+ | ::::(Also in accordance to initial version's working methodology. I had no better idea for naming this parameter.) | ||
+ | <br> | ||
+ | ::{{Par|interlaced|bool|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. | ||
+ | <br> | ||
+ | ::{{Par|PPmode|int|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. | ||
− | : | + | :::PPmode=1 uses a simple gaussian blur for post-cleaning. |
− | :: | + | :::PPmode=2 uses a 3*3 average, with zero weigthing 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. | |
− | + | <br> | |
− | + | ::{{Par|PPlimit|int|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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | ::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. | + | |
− | + | ||
− | :{{Par|PPlimit|int|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. | + | |
<br> | <br> | ||
− | |||
== Comments & Tips == | == Comments & Tips == | ||
:Additional information for optimal usage. Written by Didée in this [http://forum.doom9.org/showpost.php?p=622289&postcount=70 thread.] | :Additional information for optimal usage. Written by Didée in this [http://forum.doom9.org/showpost.php?p=622289&postcount=70 thread.] | ||
Line 130: | Line 125: | ||
== External Links == | == External Links == | ||
− | : | + | : - [http://forum.doom9.org/showthread.php?t=74003 Doom9 Forum] - BlindDeHalo Discussion. |
Revision as of 00:21, 9 November 2013
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".
Required Filters
- MaskTools2 2.0a48+
- RemoveGrain
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")
- rx, ry float = 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.
- rx, ry float = 3.0
- strength int = 125
- The overall strength of the halo removal effect.
- The overall strength of the halo removal effect.
- strength int = 125
- lodamp, hidamp float = 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 oversharpening, it should not be used, mostly.
- (Usage has zero impact on speed.)
- Range: 0.0 - ??? (try 4.0 as a start)
- lodamp, hidamp float = 0.0
- sharpness float = 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
- sharpness float = 0.0
- tweaker float = 0.0
- Range: 0.0 - 1.00
- May be used to get a stronger effect, seperately from altering "strenght".
- (Also in accordance to initial version's working methodology. I had no better idea for naming this parameter.)
- Range: 0.0 - 1.00
- tweaker float = 0.0
- interlaced bool = 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.
- interlaced bool = false
- PPmode int = 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:
- PPmode int = 0
- PPmode=1 uses a simple gaussian blur for post-cleaning.
- PPmode=2 uses a 3*3 average, with zero weigthing 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.
- PPlimit int = 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.
- PPlimit int = 0
Comments & Tips
- Additional information for optimal usage. Written by Didée in this thread.
- 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.