[ImageJ-devel] Performing convolution using ImageJ2
Brian Northan
bnorthan at gmail.com
Tue Apr 21 10:56:06 CDT 2015
Hi Thorsten
Your code looks fine. It is a problem in my convolution ops code.
I updated the convolution branch in tutorials to work with your use-case.
https://github.com/imagej/imagej-tutorials/blob/convolution/using-ops/src/main/java/ConvolutionOps.java
The problem was that the ops framework did not correctly choose
'NaiveConvolution' (direct convolution with small kernel). Then even when
I forced it to (by referring to NaiveConvolution.class directly) it did not
extend the images properly (see
https://github.com/imagej/imagej-ops/issues/98)
If you get a chance let me know if this new example works. The example is
now too complicated, but if it works for you I can spend some time this
week integrating this logic into the op (so you can write nice concise
code).
Brian
On Tue, Apr 21, 2015 at 9:35 AM, Thorsten Wagner <
wagner at biomedical-imaging.de> wrote:
> Dear Brian,
>
> thank you for the link! I'm approaching to a solution. However, I followed
> your tutorial but I stell get a exception:
> http://pastebin.com/vn84LCXx
>
> That's my code:
> http://pastebin.com/jeuXaycN
>
> What I'm doing wrong?
>
> Cheers,
> Thorsten
>
>
>
> On Mon, Apr 20, 2015 at 4:25 PM, Curtis Rueden <ctrueden at wisc.edu> wrote:
>
> Hi Thorsten,
>
> > I try to perform a simple convolution using imagej2. Unfortunately, it
> > failed!
>
> The exception you receive is because you are creating a new ImageJ
> application context, rather than reusing the existing one. This happens
> because you write:
>
> final ImageJ ij = new ImageJ();
>
> The handle to the existing context can be obtained in one of two ways:
>
> 1) If you are writing an ImageJ1 plugin (e.g., an ij.plugin.Plugin), then
> you can write:
>
> // retrieve the ImageJ application context
> final Context context = (Context) IJ.runPlugIn("org.scijava.Context",
> "");
> final ImageJ ij = new ImageJ(context);
>
> 2) If you are writing an ImageJ2 plugin, then you can write:
>
> @Parameter
> private OpService ops
>
> And just call "ops.convolve(...)" in your code.
>
> Or if you really want the "ImageJ" object, you can write:
>
> @Parameter
> private ImageJ ij;
>
> See also:
> https://github.com/imagej/imagej-tutorials/
>
> Regards,
> Curtis
>
> On Mon, Apr 20, 2015 at 4:53 AM, Thorsten Wagner <
> wagner at biomedical-imaging.de> wrote:
>
> Dear list,
>
> I try to perform a simple convolution using imagej2. Unfortunately, it
> failed!
>
> This is my code:
> http://pastebin.com/CqBgcLXd
>
> This is the exception:
> http://pastebin.com/KHkeGGAJ
>
> I would be grateful for any help.
>
> Regards,
> Thorsten
>
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel at imagej.net
> http://imagej.net/mailman/listinfo/imagej-devel
>
>
>
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel at imagej.net
> http://imagej.net/mailman/listinfo/imagej-devel
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20150421/d3bcf3e2/attachment-0001.html>
More information about the ImageJ-devel
mailing list