You're probably looking at this and wondering if the world really needed another AVISynth filter for line darkening. Honestly, it's been less than a day since I started work on this one; it was an impulse code (think "impulse buy" but with programming), put together because I was getting frustrated by the other line darkeners I had to work with (FastLineDarken, vmToon/Toon, etc.).
But I'm pretty sure at this point that I accomplished what I'd set out to do, and it gave a decent result on my source, and hopefully some of you find it useful as well. Also, I'm open to suggestions for improvement.
So, what does this (admittedly whimsically-named) filter do that other line darkeners don't?
- It uses something called a "hysteresy mask" (this is where the name comes from; unfortunately the Geocities page containing the explanation for this algorithm has been lost and is not available on archive.org) in an attempt to produce a mask that has all the edges you need to darken but none of the noise. Considering how long MaskTools has had this functionality, I'm a little surprised nobody thought of this sooner.
- It actually allows you to tweak the mask itself, through the use of two thresholds, one for each mask that goes into the hysteresis. The lack of this kind of feature is probably my biggest gripe with the other filters.
- It allows for an absolute cap on how much any one pixel can be darkened by, allowing you to increase the darkening on weaker lines without overdoing the stronger ones.
You know the drill by now: save it to your AVISynth plugins directory (don't change the filename), then call like any other filter.
It's reasonably fast, containing as it does no supersampling, warpsharpening, or two-point sharpening. I'd be interested to see if anyone else finds this useful.
(In case anyone cares, the source that drove me to create this was Nodame Cantabile. It's a clean enough source, but the edges were just way too soft for my taste.)
disclaimer: this has absolutely nothing to do with a certain Steven Spielberg cartoon.