Skip to content

Can't threshold as a function #265

@hinerm

Description

@hinerm

In Fiji I have a minimal script. I just want to threshold an 8-bit image:

#@ OpEnvironment ops
#@ ImgPlus img

thresh = ops.op("threshold.mean").input(img).apply()

This produces the error:

Name: "threshold.mean", Types: java.util.function.Function<net.imagej.ImgPlus<net.imglib2.type.numeric.integer.UnsignedByteType>, org.scijava.common3.Any>
Input Types: 
		* net.imagej.ImgPlus<net.imglib2.type.numeric.integer.UnsignedByteType>
Output Type: 
		* org.scijava.common3.Any

Perhaps you meant one of these:
threshold.mean:
	- org.scijava.ops.image.threshold.ApplyThresholdMethod$Mean
		> input : java.lang.Iterable<T extends net.imglib2.type.numeric.RealType<T>>
		> output : @CONTAINER java.lang.Iterable<net.imglib2.type.logic.BitType>
	- org.scijava.ops.image.threshold.mean.ComputeMeanThreshold
		 Implements a mean threshold method by Glasbey.
		> input : net.imglib2.histogram.Histogram1d<T extends net.imglib2.type.numeric.RealType<T>>
		> output : @CONTAINER T

If I run it as a computer it works:

thresh = ops.op("create.img").input(img, new BitType()).apply()
ops.op("threshold.triangle").input(img).output(thresh).compute()

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions