-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Questionable ops search results #51
Comments
I think it is actually this op. It's unfortunate that the Hmm, the traceback might help here. I know that conversion to |
The search results are completely unrestricted right now, although we may need to restrict them in the near future. (i.e. allow widgets requiring headful execution to only be searchable when ImageJ is not running headlessly). |
So, in the napari-imagej source, for the |
ImageJ2 2.9.0 includes imagej-common 0.35.0. Does it address this issue? |
Unfortunately, this is still broken, although for different reasons. Assuming we're all up to date on our java/python dependencies, we still have trouble: java.lang.ClassCastException: net.imglib2.type.numeric.integer.IntType cannot be cast to net.imglib2.type.numeric.integer.UnsignedByteType
at net.imglib2.type.numeric.integer.UnsignedByteType.compareTo(UnsignedByteType.java:50)
at net.imagej.ops.threshold.apply.ApplyThresholdComparable.compute(ApplyThresholdComparable.java:56)
at net.imagej.ops.threshold.apply.ApplyThresholdComparable.compute(ApplyThresholdComparable.java:46)
at net.imagej.ops.special.computer.BinaryComputerOp.compute(BinaryComputerOp.java:93)
at net.imagej.ops.map.MapIterableToIterable.compute(MapIterableToIterable.java:58)
at net.imagej.ops.map.MapIterableToIterable.compute(MapIterableToIterable.java:47)
at net.imagej.ops.threshold.apply.ApplyConstantThreshold.compute(ApplyConstantThreshold.java:73)
at net.imagej.ops.threshold.apply.ApplyConstantThreshold.compute(ApplyConstantThreshold.java:50)
at net.imagej.ops.threshold.AbstractApplyThresholdIterable.compute(AbstractApplyThresholdIterable.java:52)
at net.imagej.ops.threshold.AbstractApplyThresholdIterable.compute(AbstractApplyThresholdIterable.java:43)
at net.imagej.ops.special.hybrid.UnaryHybridCF.calculate(UnaryHybridCF.java:61)
at net.imagej.ops.special.hybrid.UnaryHybridCF.run(UnaryHybridCF.java:71)
at net.imagej.ops.special.hybrid.UnaryHybridCF.run(UnaryHybridCF.java:97)
at org.scijava.command.CommandModule.run(CommandModule.java:196)
at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:960)
at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:136)
at net.imagej.ops.OpListingModule.run(OpListingModule.java:68) Looks like the threshold value is being passed as an |
The more I think about this, this is an ImageJ Ops problem. If ImageJ Ops is broadcasting a On the other hand, I don't know how we can fix this; there's no way for us to know that the Op relies on a generic type, since we can't get at that generic type. Do we close this as not planned knowing that it doesn't work? |
I'm closing this, as it is essentially a duplicate of imagej/imagej-ops#648, and this script produces the same issue: #@ Img input
#@ OpService ops
import net.imglib2.type.numeric.real.DoubleType
out = ops.create().img(input)
ops.threshold().apply(out, input, new DoubleType(10.0)) Error:
|
Here we have
threshold.apply
- I think this is mapping to this op whose parameters a) not images, I think?, as reported by the napari-imagej ui - and also if they were images they are not being represented properly in the widget.If I actually try to run this I get an exception:
![image](https://user-images.githubusercontent.com/1123809/170529636-531e7bd8-a2c3-4295-9595-71f9f58a9cd8.png)
I'm not sure this how this Op would actually be runnable from napari-imagej. Are the search results already restricted to image-applicable results? and is this just a case of misinterpreting the params as images?
The text was updated successfully, but these errors were encountered: