#!groovy
// @ImageJ ij
// @NotebookService nb
No Outputs
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
No Outputs
// 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)
No Outputs
nb.display(image1)
nb.display(image2)
ij.op().help("eval")
Available operations: (Object out) = net.imagej.ops.eval.DefaultEval( String in, Map vars?)