Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th June 2004, 17:12   #1  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
toot: new "advanced-averaging" filter (ignores worst source)

http://e-rels.dyndns.org/downloads/toot.rar

This plugin takes 3 clips and for each component of each pixel
the 2 of the 3 sources that are most similar are averaged

example:
r=toot(a,b,c)

notes:
-a, b and c must have equal length, resolution and colorspace
-for best results a should be the best and c the worst clip

this plug-in is ideal if you have three copies of the same LD
pressing of a movies with different rot-based drop-outs
but i should also do well on "advanced-averaging" 3 caps
of the same source

old thread:
http://forum.doom9.org/showthread.php?s=&threadid=78187

Last edited by E-Male; 11th July 2004 at 00:52.
E-Male is offline   Reply With Quote
Old 19th June 2004, 17:33   #2  |  Link
Soulhunter
Bored...
 
Soulhunter's Avatar
 
Join Date: Apr 2003
Location: Unknown
Posts: 2,812
Hmm, what result would I get when...

- Feeding 3 differently denoised versions of a captured source?
- Feeding 3 differently denoised versions of the same DVD source?


Bye
__________________

Visit my IRC channel

Last edited by Soulhunter; 22nd April 2013 at 05:03.
Soulhunter is offline   Reply With Quote
Old 19th June 2004, 17:55   #3  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
well, try it and tell us

as i said it will output the average of the 2 most similar sources
for every component of every pixel

i don't have any practical results, yet
but i think it'll do bet woth 3 caps

not 3 filtered versions of 1
but you can try it, maybe it'll give good results

you could also try using the original source plus 2 heavily filtered versions (maybe one temporal and one spatial)
hm, i think i'll look into that
E-Male is offline   Reply With Quote
Old 19th June 2004, 18:18   #4  |  Link
Soulhunter
Bored...
 
Soulhunter's Avatar
 
Join Date: Apr 2003
Location: Unknown
Posts: 2,812
Played around with "Layer" to blend 2 differently denoised sources...
My idea was that this procedure should smooth out the boundaries*
Results where pleasant...

* The small annoying area between denoised and non-denoised areas


Bye
__________________

Visit my IRC channel

Last edited by Soulhunter; 22nd April 2013 at 05:04.
Soulhunter is offline   Reply With Quote
Old 19th June 2004, 18:30   #5  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
i quickly tried this:

--------------------------------------
c=source.temporalsoften(1,255,255)
c=c.temporalsoften(1,255,255)

b=source.blur(1.58)
b=b.blur(1.58)

a=source.undot

r=toot(a,b,c)
--------------------------------------

may be something to look into
E-Male is offline   Reply With Quote
Old 20th June 2004, 02:23   #6  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
not a bad idea that - you could combine it with something like MVtools for denoising, that way when it finds uglies (which i understand will still show up when bad vectors are used) it will ignore them, and maybe replace it with a traditional temporal or spatial soften.
__________________
sucking the life out of your videos since 2004
Mug Funky is offline   Reply With Quote
Old 20th June 2004, 02:53   #7  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
sounds interesting
can you go in detail some more what you got in mind?
E-Male is offline   Reply With Quote
Old 20th June 2004, 03:24   #8  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
well for example, if you were to do a motion compensated denoise (with MVdenoise or something similar), then running toot with the original, or a traditionally denoised clip would be a good insurance policy against false motion vectors causing smears or other artefacts. please note that i'm not sure whether MVtools already takes bad matches into account (i've been away from my computer for over a month now, and wont be able to do avs scripting for another 3 weeks or so).

it seems to me that toot could be used as an extra (automated) layer of protection against ugly artefacts produced by otherwise excellent filters (RemoveDirt performs disastrously on scenes with shaking objects, or fast back-and-forth global motion - it can detect half of the frame as "dirt", and replace it with a blend of previous and next frames, causing a frighteningly obvious "shear" in the frame)
__________________
sucking the life out of your videos since 2004
Mug Funky is offline   Reply With Quote
Old 20th June 2004, 03:38   #9  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
so
a = original
b = mvdenoise
c = simple noise filter
right?

you gotta take into account that this will reduce the effetc of mvdenoise and the other filter by 50% since it averages their output with the original (or with each other)

i think about writing another similar filter that just output b or c depending on what's closer to a, maybe that would be better for working with other noise reduction filters
E-Male is offline   Reply With Quote
Old 20th June 2004, 04:21   #10  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
ah yeah, i forgot about the 3 clip thing.

maybe:

a=denoise
b=denoise
c=mvdenoise

it probably wouldn't be worth the slowdown in that case.

i really must get back to my computer so i can play with these things. i'm working blind ATM.
__________________
sucking the life out of your videos since 2004
Mug Funky is offline   Reply With Quote
Old 20th June 2004, 04:25   #11  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
so you mean
a = b
?

in this case you'll only get a (or b, which is a) as output, as 2 equal sources will always be least different
E-Male is offline   Reply With Quote
Old 20th June 2004, 04:31   #12  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
ah, of course, where's my brain.

it'd have to be original, denoised, and MVdenoised then. and that would reduce the effect somewhat. hmmph.

i guess there's plenty of other ways to insure against erroneous vectors (masking is what i usually do for this stuff)
__________________
sucking the life out of your videos since 2004
Mug Funky is offline   Reply With Quote
Old 20th June 2004, 05:18   #13  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
the effect would be reduced by teh averaging

if you wanna go in detail about mvdenoise, please don't do it here
i don't want this thread to go off-topic, thx
anything done using toot can be discussed here of course, no maatter what you combine it with
E-Male is offline   Reply With Quote
Old 20th June 2004, 22:16   #14  |  Link
CraigBjorn
Registered User
 
Join Date: Feb 2004
Posts: 61
I recently tried another aplication for this plugin, trying to remove CCD noise. I scaned a picture 3 times, assuming the noise would be at different pixels each time, and then ran it through this script

---------------------------------
src1 =
src2 =
src3 =
#Turns images into three movies

r=toot(src1,src2,src3)
#Process to remove CCD noise

ImageWriter(r,"c:\",4,4,"BMP")
#Write the new image
---------------------------------

The result was ok, only some minor improvements though. either there is something wrong with my thought process or I should first run some filters on the images, try it yourself and tell me if you get ne better results.
CraigBjorn is offline   Reply With Quote
Old 20th June 2004, 23:42   #15  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
what is ccd noise?
could you make your 3 scans avaible?
E-Male is offline   Reply With Quote
Old 10th July 2004, 21:29   #16  |  Link
ronnylov
Registered User
 
Join Date: Feb 2002
Location: Borås, Sweden
Posts: 492
The download link does not work.
Where can I find this filter?
__________________
Ronny
ronnylov is offline   Reply With Quote
Old 11th July 2004, 00:52   #17  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
link fixed
E-Male is offline   Reply With Quote
Old 11th July 2004, 10:23   #18  |  Link
ronnylov
Registered User
 
Join Date: Feb 2002
Location: Borås, Sweden
Posts: 492
Thanks!
__________________
Ronny
ronnylov is offline   Reply With Quote
Old 13th July 2004, 19:12   #19  |  Link
tedkunich
Potentate
 
Join Date: Mar 2003
Posts: 219
E-male:

Thanks for the cool filter. I was wondering how difficult it would be to create a variant of your filter that on a pixel basis, compares two clips and if any of the Y, U or V components are some user supplied threshold different between the two clips, choose the lower value?

Here is the situation - I'm trying to capture an LD to DVD, but there is a significant amount of "laser rot" in my disks. On my player, the spots show up as white, blue, red, or green spots that are much much brighter than the surrounding pixels. I borrowed a friends LD player, and much to my surprise, his player shows hardly any of these "spots" however his player has significantly more noise in the picture than mine. What I would like to do is somehow detect the "spots" and then replace those offending pixels with the "clean" ones from the other player. I looked at your source code, but I'm lost as I know nothing about C++: if it were in C (and I had a compatible compiler) I would give it a go.

Any chance that this could be easily implemented?


Thanks

Ted
tedkunich is offline   Reply With Quote
Old 13th July 2004, 22:01   #20  |  Link
E-Male
mad computer-scientist
 
Join Date: Mar 2002
Posts: 1,375
http://e-rels.dyndns.org/downloads/abdespot.dll

abdespot(a, b, c)

a = spotty clip
b = noisy clip
c = threshold

uses a, except when a > b+threshold, then b i used
all 3 components of the pixel are checked independently but with the same threshold

that should be the "filter that on a pixel basis, compares two clips and if any of the Y, U or V components are some user supplied threshold different between the two clips, choose the lower value"

yv12 only


doesn't crash for me, but is non-tested for correct (or even usefull) results

waiting for feedback

CU
E-Male

Last edited by E-Male; 13th July 2004 at 22:03.
E-Male is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:23.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.