//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() ij.op().help("filter.min") input = ij.scifio().datasetIO().open("http://imagej.net/images/clown.jpg") //grab the first slice (index 0) from the channel dimension (index 2) imageToFilter = ij.op().run("hyperSliceView", input, 2, 0) ij.notebook().display(imageToFilter) import net.imglib2.algorithm.neighborhood.HyperSphereShape radius = 3 as int shape = new HyperSphereShape(radius) output = ij.op().run("create.img", imageToFilter) ij.op().filter().min(output, imageToFilter, shape) ij.notebook().display(output)