BlindDeHalo3: Difference between revisions
From Avisynth wiki
Jump to navigationJump to search
m 1 revision |
No edit summary |
||
| Line 1: | Line 1: | ||
http://forum.doom9.org/ | {{FilterCat|External_filters|Restoration_filters|Dehalo}} | ||
{{Filter | |||
|{{Author/Didée}} | |||
|3 | |||
|[http://forum.doom9.org/attachment.php?attachmentid=5599&d=1143030001 BlindDehalo3_MT2] | |||
|Dehalo | |||
| | |||
* YV12 | |||
|}} | |||
[[ | == Introduction == | ||
:Filter to remove edge enhancement artefacts. | |||
=== Required Filters === | |||
:*[[MaskTools2]] 2.0a48+ | |||
:*[[RemoveGrain]] | |||
<br> | |||
== 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")}} | |||
<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> | |||
:{{Par|strength|int|125}} | |||
::The overall strength of the halo removal effect.<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.) | |||
:{{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.) | |||
:{{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.) | |||
:{{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. | |||
:{{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. | |||
:{{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> | |||
== Comments & Tips == | |||
:Additional information for optimal usage. Written by Didée in this [http://forum.doom9.org/showpost.php?p=622289&postcount=70 thread.] | |||
<br> | |||
:*'''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. | |||
<br> | |||
:*'''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. | |||
<br> | |||
== 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) | |||
<br> | |||
== Changelog == | |||
<br> | |||
== Links == | |||
:* | |||
Revision as of 16:48, 16 October 2013
| Abstract | |
|---|---|
| Author | Didée |
| Version | 3 |
| Download | Dehalo |
| Category |
|
| Requirements | |
| License | |
| Discussion | |
Introduction
- Filter to remove edge enhancement artefacts.
Required Filters
- MaskTools2 2.0a48+
- RemoveGrain
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.
- strength int = 125
- The overall strength of the halo removal effect.
- The overall strength of the halo removal effect.
- 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)
- 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
- 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
- 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.
- 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=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.
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