|
Sphinx.
Filter Optimizer

|
I have a few questions and suggestions related to the Edge Detector component.
What is the uniformity parameter actually doing?
Why is the output not normalized? A manual post normalization step is hard to construct via FF components (or rather very inefficient), so it would be of real value if the component had this option itself.
A few suggestions:
More kernel options (prewitt, scharr, costella).
I'm missing some other output modes: Horizontal only, Vertical only, Directions (edge direction angle). The current Mode options seem a bit obsolete (you can easily do the grayscale, min and max filtering manually), however horz/vert/direction is not possible.Njyldgarkn sample cache! |
| Posted: August 6, 2011 2:19 am |
Details
E-Mail
|
Vladimir Golovin
Administrator
Filter Forge, Inc.
|
| Quote |
|---|
Sphinx. wrote:
Why is the output not normalized? A manual post normalization step is hard to construct via FF components (or rather very inefficient), so it would be of real value if the component had this option itself. |
To perform normalization, we need to have a bitmap with all output pixels already rendered - and currently Edge Detector is not a bitmap-based component (like e.g. Blur). Converting Edge Detector to a bitmap-based component would reduce output quality (pixels are inherently less precise than samples), but this is not the main problem.
The main problem is that Filter Forge doesn't render internal bounded bitmaps which are necessary for normalization - you can't perform normalization on a basically infinite, unbounded bitmap. You sort of can, by performing normalization in a certain neighborhood, but that would greatly reduce the rendering speed, in addition to the quality decrease caused by conversion from a sample-based to a bitmap-based approach.
(And another minor problem is that Edge Detector accepts and outputs HDR colors, but we could deal with it if we had a bounded bitmap to normalize.) |
| Posted: August 8, 2011 7:12 am |
Details
E-Mail
|
Vladimir Golovin
Administrator
Filter Forge, Inc.
|
| Quote |
|---|
Sphinx. wrote:
I'm missing some other output modes: Horizontal only, Vertical only, Directions (edge direction angle). The current Mode options seem a bit obsolete (you can easily do the grayscale, min and max filtering manually), however horz/vert/direction is not possible. |
Directional detection + custom angle sounds like a good idea. We'll investigate this. |
| Posted: August 8, 2011 7:15 am |
Details
E-Mail
|
|
Dmitry Sapelnikov
Filter Forge, Inc. AKA Egret
|
| Quote |
|---|
Sphinx. wrote:
What is the uniformity parameter actually doing? |
The uniformity parameter technically does non-maximum suppression step from the Canny edge detector.
The 'Fine' option produces the same result as the Canny's algorithm.
'Coarse' is a simplification - we use only 4 directions instead of 8. It reduces the number of samples needed to suppress the edges.
| Quote |
|---|
Sphinx. wrote:
however horz/vert/direction is not possible |
It's a good idea and it can be implemented easily. Maybe in future releases. I've just put it into my notes.
| Quote |
|---|
Sphinx. wrote:
More kernel options (prewitt, scharr, costella). |
When we prepared the 2nd beta, I'd almost fallen into temptation to remove all kernels except Sobel =) To my mind, all gradient-based edge detectors produce quite similar results. Maybe we'll add the options you proposed but I'm not sure. |
| Posted: August 8, 2011 7:34 am |
Details
E-Mail
|
|
Sphinx.
Filter Optimizer

|
Thanks for your answers. I actually thought you implemented it as a bitmap based component - hence the normalization request. I can understand why it is not possible when implemented as true sampler.
One thing strikes my mind though: if we assume each sample in the kernel window to be in range 0..1, then given the actual kernel weights there must be a sample configuration (or perhaps a few, but similar in possible max. output) that produces the highest possible output value. This configuration could produce a fixed normalization constant (used before the amp. param is applied).Njyldgarkn sample cache! |
| Posted: August 10, 2011 2:45 am |
Details
E-Mail
|
|
SpaceRay
SpaceRay

|
very good to know |
| Posted: November 11, 2011 12:07 am |
Details
E-Mail
|