In [1]:
#!groovy
// @ImageJ ij
// @NotebookService nb


Out[1]:
No Outputs

In [2]:
sinusoid32 = ij.op().run("create.img", [150, 100])
formula = "63 * (Math.cos(0.3*p[0]) + Math.sin(0.3*p[1])) + 127"
ij.op().image().equation(sinusoid32, formula)

println("geometricMean = " + ij.op().stats().geometricMean(sinusoid32))
println("harmonicMean = " + ij.op().stats().harmonicMean(sinusoid32))
println("kurtosis = " + ij.op().stats().kurtosis(sinusoid32))
println("max = " + ij.op().stats().max(sinusoid32))
println("mean = " + ij.op().stats().mean(sinusoid32))
println("median = " + ij.op().stats().median(sinusoid32))
println("min = " + ij.op().stats().min(sinusoid32))
println("moment1AboutMean = " + ij.op().stats().moment1AboutMean(sinusoid32))
println("moment2AboutMean = " + ij.op().stats().moment2AboutMean(sinusoid32))
println("moment3AboutMean = " + ij.op().stats().moment3AboutMean(sinusoid32))
println("moment4AboutMean = " + ij.op().stats().moment4AboutMean(sinusoid32))
println("size = " + ij.op().stats().size(sinusoid32))
println("skewness = " + ij.op().stats().skewness(sinusoid32))
println("stdDev = " + ij.op().stats().stdDev(sinusoid32))
println("sum = " + ij.op().stats().sum(sinusoid32))
println("sumOfInverses = " + ij.op().stats().sumOfInverses(sinusoid32))
println("sumOfLogs = " + ij.op().stats().sumOfLogs(sinusoid32))
println("sumOfSquares = " + ij.op().stats().sumOfSquares(sinusoid32))
println("variance = " + ij.op().stats().variance(sinusoid32))


geometricMean = 106.86402515788897
harmonicMean = 60.81451530914875
kurtosis = 2.250389182944452
max = 252.9996057999923
mean = 130.35596075261444
median = 129.34019425677636
min = 1.293813403205192
moment1AboutMean = -2.877214910768089E-13
moment2AboutMean = 3982.1563522625042
moment3AboutMean = -10221.960619118927
moment4AboutMean = 3.569046079615442E7
size = 15000.0
skewness = -0.04067366532821499
stdDev = 63.106432691542885
sum = 1955339.4112892165
sumOfInverses = 246.65164103911627
sumOfLogs = 70073.35850104403
sumOfSquares = 3.146224928399938E8
variance = 3982.4218470523483
Out[2]:
No Outputs

In [3]:
// Prepare a couple of equally sized images.
import net.imglib2.type.numeric.real.FloatType
image1 = ij.op().run("create.img", [160, 96], new FloatType())
image2 = ij.op().run("copy.rai", image1)

// Gradient toward bottom right.
ij.op().image().equation(image1, "p[0] + p[1]")
minMax1 = ij.op().stats().minMax(image1)
println("image1 range = (" + minMax1.getA() + ", " + minMax1.getB() + ")")

// Sinusoid.
ij.op().image().equation(image2, "64 * (Math.sin(0.1 * p[0]) + Math.cos(0.1 * p[1])) + 128")
minMax2 = ij.op().stats().minMax(image2)
println("image2 range = (" + minMax2.getA() + ", " + minMax2.getB() + ")")


image1 range = (0.0, 254.0)
image2 range = (0.020272091031074524, 255.97271728515625)
Out[3]:
No Outputs

In [4]:
nb.display(image1)


Out[4]:

In [5]:
nb.display(image2)


Out[5]:

In [6]:
ij.op().help("eval")


Out[6]:
Available operations:
	(Object out) =
	net.imagej.ops.eval.DefaultEval(
		String in,
		Map vars?)

In [ ]: