Deen

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Archived Downloads)
m (Syntax and Parameters: formatting)
Line 21: Line 21:
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
 
:{{Template:FuncDef| Deen (''clip'', ''string'' "mode", ''int'' "rad", ''int'' "thrY", ''int'' "thrUV", ''int'' "tthY", ''int'' "tthUV", ''float'' "min", ''float'' "scd", ''string'' "fcf", ''bool'' "borderfix")}}
 
:{{Template:FuncDef| Deen (''clip'', ''string'' "mode", ''int'' "rad", ''int'' "thrY", ''int'' "thrUV", ''int'' "tthY", ''int'' "tthUV", ''float'' "min", ''float'' "scd", ''string'' "fcf", ''bool'' "borderfix")}}
 +
<br>
 +
::{{Par2| |clip| }}
 +
:::Input clip.
 
<br>
 
<br>
 
::{{Par2|mode|string|"c3d"}}
 
::{{Par2|mode|string|"c3d"}}
Line 32: Line 35:
 
::::* "w3d"
 
::::* "w3d"
  
:::::Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will  
+
:::Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will only take pixels that are under the threshold (meaning that they are not too different from the original pixel).  
:::::only take pixels that are under the threshold (meaning that they are not too different from the original pixel). Now,
+
:::*Now, with the 'c' mode, you only make an average of the surrounding pixels (under the threshold) in order to calculate the new pixel.
:::::with the 'c' mode, you only make an average of the surrounding pixels ( under the threshold ) in order to calculate  
+
:::*With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means that pixels farther will have to be closer to the pixel considered in order to be taken into account.  
:::::the new pixel. With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means
+
:::*Finally, the mode 'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging all the surrounding pixels under the threshold, it will use the weight instead.<br/> Pixels close to the center will have a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest pixels, a weight of 1 (they will count three times less than the closest pixels).
:::::that pixels farther will have to be closer to the pixel considered in order to be taken into account. Finally, the mode  
+
:::::'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging  
+
:::::all the surrounding pixels under the threshold, it will use the weight instead. Pixels close to the center will have  
+
:::::a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest  
+
:::::pixels, a weight of 1 (they will count three times less than the closest pixels).
+
 
<br>
 
<br>
 
::{{Par2|rad|int|1}}
 
::{{Par2|rad|int|1}}
 
:::Radius.
 
:::Radius.
::::Range: 1-4 in 3d, 1-7 in 2d
+
:::Range: 1-4 in 3d, 1-7 in 2d
:::::*  1 : 3x3 - (default)
+
::::*  1 : 3x3 - (default)
:::::*  2 : 5x5
+
::::*  2 : 5x5
:::::*  3 : 7x7  
+
::::*  3 : 7x7  
:::::*  4 : 9x9
+
::::*  4 : 9x9
:::::*  5 : 11x11
+
::::*  5 : 11x11
:::::*  6 : 13x13
+
::::*  6 : 13x13
:::::*  7 : 15x15
+
::::*  7 : 15x15
 
<br>
 
<br>
 
::{{Par2|thrY|int|7}}
 
::{{Par2|thrY|int|7}}
:::Luma (Y) threshold.
+
:::Luma (Y) threshold; higher values blend more.
::::Range: 0 - 255
+
:::Range: 0 - 255
:::::Higher values blend more.
+
 
<br>
 
<br>
 
::{{Par2|thrUV|int|9}}
 
::{{Par2|thrUV|int|9}}
:::Chroma (UV) threshold.
+
:::Chroma (UV) threshold; higher values blend more.
::::Range: 0 - 255
+
:::Range: 0 - 255
:::::Higher values blend more.
+
 
<br>
 
<br>
 
::{{Par2|tthY|int|4}}
 
::{{Par2|tthY|int|4}}
 
:::Temporal Luma (Y) threshold. 3d only.
 
:::Temporal Luma (Y) threshold. 3d only.
::::Range: 0 - 255
+
:::Range: 0 - 255
 
<br>
 
<br>
 
::{{Par2|tthUV|int|6}}
 
::{{Par2|tthUV|int|6}}
 
:::Temporal Chroma (UV) threshold. 3d only.
 
:::Temporal Chroma (UV) threshold. 3d only.
::::Range: 0 - 255
+
:::Range: 0 - 255
 
<br>
 
<br>
 
::{{Par2|min|float|0.5}}
 
::{{Par2|min|float|0.5}}
:::Range: 0.0 - 1.0
+
:::When using 'a' mode, it's how the threshold is reduced with the raising of the distance
::::1.0 = no reduction .. 0.0 = maximum reduction
+
:::When using 'c', it should do nothing (theoretically - not tested).
:::::When using 'a' mode, it's how the threshold is reduced with the raising of the distance
+
:::When using 'w' mode, it's how the weight of the pixel is reduced when its distance is raising.  
:::::When using 'c', it should do nothing (theoretically - not tested).
+
 
:::::When using 'w' mode, it's how the weight of the pixel is reduced when its distance is raising.  
+
:::1.0 = no reduction ... 0.0 = maximum reduction (range: 0.0 - 1.0)
 
<br>
 
<br>
 
::{{Par2|scd|float|9.0}}
 
::{{Par2|scd|float|9.0}}
:::Scene Change Detection:
+
:::Scene change detection; threshold over which a 2d mode is used, in order not to have a temporal ghosting with high motion.  
::::Threshold over which a 2d mode is used, in order not to have a temporal ghosting with high motion.  
+
:::Higher values means potentially more ghosting.
::::Higher values means potentially more ghosting .
+
 
<br>
 
<br>
 
::{{Par2|fcf|string|""}}
 
::{{Par2|fcf|string|""}}
:::Full Control File:
+
:::Full control file; default is "", which means no fcf. It allows an overriding of the parameters for ranges of frames.  
::::Default is "", which means no fcf. It allows an overriding of the parameters for ranges of frames.  
+
:::Check demo.fcf.txt in the zip file.
::::Check demo.fcf.txt in the zip file.
+
 
<br>
 
<br>
 
::{{Par2|borderfix|bool|false}}
 
::{{Par2|borderfix|bool|false}}

Revision as of 20:55, 27 September 2014

Abstract
Author Marc FD
Version v1.0 beta 1
Download deen_25_dll_20030813.zip
Category Spatial-Temporal Denoisers
License Closed source
Discussion


Contents

Description

Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.


Requirements:

- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YV12
- ISSE compatible CPU.


Syntax and Parameters

Deen (clip, string "mode", int "rad", int "thrY", int "thrUV", int "tthY", int "tthUV", float "min", float "scd", string "fcf", bool "borderfix")


clip   =
Input clip.


string  mode = "c3d"
Choose denoising method:
  • "a2d"
  • "a3d"
  • "c2d"
  • "c3d" - (default)
  • "w2d"
  • "w3d"
Each of the three modes (a, c, w) will take into account pixels around in order to compute the new value. They will only take pixels that are under the threshold (meaning that they are not too different from the original pixel).
  • Now, with the 'c' mode, you only make an average of the surrounding pixels (under the threshold) in order to calculate the new pixel.
  • With the 'a' mode, you do the same, but the threshold is reduced with the distance. Which means that pixels farther will have to be closer to the pixel considered in order to be taken into account.
  • Finally, the mode 'w' changes the weight of a pixel according to its distance from the original pixel. Meaning, instead of averaging all the surrounding pixels under the threshold, it will use the weight instead.
    Pixels close to the center will have a weight of 3 (for example, I don't know exactly the formula), pixels a bit farther a weight of 2, and the farthest pixels, a weight of 1 (they will count three times less than the closest pixels).


int  rad = 1
Radius.
Range: 1-4 in 3d, 1-7 in 2d
  • 1 : 3x3 - (default)
  • 2 : 5x5
  • 3 : 7x7
  • 4 : 9x9
  • 5 : 11x11
  • 6 : 13x13
  • 7 : 15x15


int  thrY = 7
Luma (Y) threshold; higher values blend more.
Range: 0 - 255


int  thrUV = 9
Chroma (UV) threshold; higher values blend more.
Range: 0 - 255


int  tthY = 4
Temporal Luma (Y) threshold. 3d only.
Range: 0 - 255


int  tthUV = 6
Temporal Chroma (UV) threshold. 3d only.
Range: 0 - 255


float  min = 0.5
When using 'a' mode, it's how the threshold is reduced with the raising of the distance
When using 'c', it should do nothing (theoretically - not tested).
When using 'w' mode, it's how the weight of the pixel is reduced when its distance is raising.
1.0 = no reduction ... 0.0 = maximum reduction (range: 0.0 - 1.0)


float  scd = 9.0
Scene change detection; threshold over which a 2d mode is used, in order not to have a temporal ghosting with high motion.
Higher values means potentially more ghosting.


string  fcf = ""
Full control file; default is "", which means no fcf. It allows an overriding of the parameters for ranges of frames.
Check demo.fcf.txt in the zip file.


bool  borderfix = false
Undocumented parameter.


Examples

Deen with all default values.

AviSource("Blah.avi")
Deen(mode="c3d", rad=1, thrY=7, thrUV=9, tthY=4, tthUV=6, min=0.5, scd=9.0, fcf="", borderfix=false)


Changelog

2003-08-13 v1.0 beta 1:
 - this is the latest version and includes additional features
2003-01-19 beta 2: - public release - "w3d" not implemented


Archived Downloads

Version Download Mirror Mirror 2
1.0 beta 1 deen_25_dll_20030813.zip* deen_25_dll_20030813.zip* deen10-beta1.zip
beta 2 Deen beta 2.zip Deen beta 2.zip deen_dll_20050705.zip*
*1.0 beta 1 is the latest version not beta 2. Something must of gone wrong with the naming schemes.


External Links

- avisynth.nl - Documentation for beta 1.
- Doom9 Forum - Discussion about deen beta 1.
- Doom9 Forum - Discussion about naming schemes between beta 1 and 2.
- Doom9 Forum - Documentation for beta 1. Translated by Manao.
- Doom9 Forum - Original discussion about deen beta 1.
- Scintilla's Guide - Extensive documentation for beta 1.
- VideoHelp Forum - Discussion about deen.



Back to External Filters

Personal tools