//load ImageJ
%classpath config resolver scijava.public https://maven.scijava.org/content/groups/public
%classpath add mvn net.imagej imagej 2.0.0-rc-67
//create ImageJ object
ij = new net.imagej.ImageJ()
Added new repo: scijava.public
net.imagej.ImageJ@46956d8a
This Op
does ....
ij.op().help("tubeness")
Available operations: (IterableInterval out?) = net.imagej.ops.filter.tubeness.DefaultTubeness( IterableInterval out?, RandomAccessibleInterval in, double sigma, double[] calibration)
This is how the Op works...
import net.imglib2.type.numeric.real.FloatType
tubeImg = ij.op().run("create.img", [400, 200], new FloatType())
randomAccess = tubeImg.randomAccess()
randomAccess.setPosition(0, 0)
randomAccess.setPosition(100, 1)
while(randomAccess.getLongPosition(0) < tubeImg.dimension(0)){
x = randomAccess.getDoublePosition(0)
y = (50 * Math.sin(x / 20)) as int
for(offset in -10..10){
randomAccess.setPosition(100 + y - offset, 1)
randomAccess.get().set(120)
}
randomAccess.fwd(0)
}
input = ij.op().run("create.img", tubeImg)
ij.op().run("addPoissonNoise", input, tubeImg)
ij.notebook().display(input)
sigma = 5 / Math.sqrt(2)
calibration = [1, 1] as int[]
output = ij.op().run("create.img", input)
ij.op().run("tubeness", output, input, sigma, calibration)
ij.notebook().display(output)
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: net/imglib2/loops/LoopBuilder$TriConsumer at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at net.imglib2.algorithm.gradient.PartialDerivative.gradientCentralDifferenceParallel(PartialDerivative.java:163) at net.imglib2.algorithm.gradient.HessianMatrix.calculateMatrix(HessianMatrix.java:284) at net.imglib2.algorithm.gradient.HessianMatrix.calculateMatrix(HessianMatrix.java:237) at net.imagej.ops.filter.tubeness.DefaultTubeness.compute(DefaultTubeness.java:175) at net.imagej.ops.filter.tubeness.DefaultTubeness.compute(DefaultTubeness.java:97) at net.imagej.ops.special.hybrid.UnaryHybridCF.run(UnaryHybridCF.java:75) at net.imagej.ops.special.hybrid.UnaryHybridCF.run(UnaryHybridCF.java:97) at org.scijava.command.CommandModule.run(CommandModule.java:199) at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:944) at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:135) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:189) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110) at script1543854201325.run(script1543854201325:5) at com.twosigma.beakerx.groovy.evaluator.GroovyCodeRunner.runScript(GroovyCodeRunner.java:94) at com.twosigma.beakerx.groovy.evaluator.GroovyCodeRunner.call(GroovyCodeRunner.java:59) at com.twosigma.beakerx.groovy.evaluator.GroovyCodeRunner.call(GroovyCodeRunner.java:32) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoClassDefFoundError: net/imglib2/loops/LoopBuilder$TriConsumer at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getConstructor0(Class.java:3075) at java.lang.Class.getConstructor(Class.java:1825) at net.imglib2.loops.ClassCopyProvider.newInstanceForKey(ClassCopyProvider.java:103) at net.imglib2.loops.LoopBuilder$RunnableFactory.bindActionToSamplers(LoopBuilder.java:186) at net.imglib2.loops.LoopBuilder.forEachPixel(LoopBuilder.java:120) at net.imglib2.algorithm.gradient.PartialDerivative.gradientCentralDifference(PartialDerivative.java:187) at net.imglib2.algorithm.gradient.PartialDerivative.lambda$gradientCentralDifferenceParallel$0(PartialDerivative.java:155) ... 4 more Caused by: java.lang.ClassNotFoundException: net.imglib2.loops.LoopBuilder$TriConsumer at java.lang.ClassLoader.findClass(ClassLoader.java:530) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 13 more