Login  Register

FloatProcessor.convolve()

Posted by Kenneth Sloan-2 on Nov 20, 2020; 11:15pm
URL: http://imagej.273.s1.nabble.com/FloatProcessor-convolve-tp5024215.html

I'm seeing strange results from:

===================================
FloatProcessor fp;
float[] kernel = {...}
...
fp.convolve(kernel,height,width);
===================================

It produces expected results for (for example):

float[] kernel = {1.0f, 0.0f, -1.0f};

but appears to do nothing at all for:

float[] kernel = {1.0f, -5.0f, 1.0f};

note: i've been thrashing on this, so that might not be *quite* right - but there are kernels which
do absolutely nothing.  Perhaps {0.0f, -5.0f, 0.0f} is a better example.

My first thought is that there is some sort of kernel normalization being done.  Is that correct?  and if so, how do I control it (I'd like to turn it off, completely)

I notice that in the "commands" part of the manual, there is a dialog box which includes a checkbox for "normalize kernel".  But, I don't immediately see where to do this (or, in my case *not* do it) when writing Java code.

I have temporized by using {1.0f, -2.0f, 1.0f} which appears to work as expected.

So...I'm moving ahead - but I'm curious about what I am missing here.  

--
Kenneth Sloan
[hidden email]
Vision is the art of seeing what is invisible to others.

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html