You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
net.imglib2.converter.read.ConvertedRandomAccessibleInterval cannot be cast to net.imglib2.IterableInterval
java.lang.ClassCastException: net.imglib2.converter.read.ConvertedRandomAccessibleInterval cannot be cast to net.imglib2.IterableInterval
at net.imagej.ops.map.MapUnaryComputers$IIToIIParallel.compute(MapUnaryComputers.java:87)
at net.imagej.ops.copy.CopyRAI.compute(CopyRAI.java:90)
at net.imagej.ops.copy.CopyRAI.compute(CopyRAI.java:54)
at net.imagej.ops.special.hybrid.UnaryHybridCF.run(UnaryHybridCF.java:75)
at net.imagej.ops.special.hybrid.UnaryHybridCF.run(UnaryHybridCF.java:97)
at org.scijava.command.CommandModule.run(CommandModule.java:199)
at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:950)
at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:157)
at net.imagej.ops.copy.CopyNamespace.rai(CopyNamespace.java:167)
...
The cause seems to me that while matching ops, a ConvertedRandomAccessibleInterval is recognized as directly convertible to an II in DefaultOpMatchingService.canConvert() and this leads the op service to believe that IIToIIParallel is a suitable op for the task. I haven't dug deeper than that. Any insights?
The text was updated successfully, but these errors were encountered:
The problem seems to be that when CopyRAI is looking for suitable computers, IIToIIParallel instead of IIToRAIParallel is selected since the second argument can be cast into II, which outputs an II instead of RAI.
A similar problem occurs when calling ops.map() with arguments being both II and RAI but cast into RAI. The selected method signature is map(RAI, RAI) -> RAI, but op matching always returns IIToII-ish ops, which returns an II.
When I was trying to copy an image converted with LUT to a freshly created
Img
, the following happens:Output:
The cause seems to me that while matching ops, a
ConvertedRandomAccessibleInterval
is recognized as directly convertible to anII
inDefaultOpMatchingService.canConvert()
and this leads the op service to believe thatIIToIIParallel
is a suitable op for the task. I haven't dug deeper than that. Any insights?The text was updated successfully, but these errors were encountered: