Band Maths, GraphBuilder errors

Greetings!

  1. The issue of using Band Maths inside a Graph is still not solved, right ? I’m getting errors when trying to use it.

  2. So, I used Band Maths outside a Graph and I’m getting the error displayed below. I don’t see how a division by zero is reported when the denominator (C11) is always positive. Btw, I’m using this expression:
    (C11/2)(1+C33/C11+sqrt((1-C33/C11)^2 + 4((C13_real/C11)^2+(C13_imag/C11)^2)))


java.lang.ArithmeticException: / by zero
at org.esa.snap.core.jexp.Term$Div.evalI(Term.java:1541)
at org.esa.snap.core.jexp.Term$Sub.evalI(Term.java:1463)
at org.esa.snap.core.jexp.Term$XOrI.evalI(Term.java:1294)
at org.esa.snap.core.jexp.Term$BinaryI.evalD(Term.java:1058)
at org.esa.snap.core.jexp.impl.Functions$16.evalD(Functions.java:132)
at org.esa.snap.core.jexp.Term$Call.evalD(Term.java:764)
at org.esa.snap.core.jexp.Term$Add.evalD(Term.java:1429)
at org.esa.snap.core.jexp.Term$Mul.evalD(Term.java:1507)
at org.esa.snap.core.image.VirtualBandOpImage.computeRect(VirtualBandOpImage.java:277)
at javax.media.jai.SourcelessOpImage.computeTile(Unknown Source)
[catch] at org.esa.snap.core.image.VirtualBandOpImage.computeTile(VirtualBandOpImage.java:237)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at org.esa.snap.core.datamodel.StxFactory.accumulateTile(StxFactory.java:351)
at org.esa.snap.core.datamodel.StxFactory.accumulate(StxFactory.java:335)
at org.esa.snap.core.datamodel.StxFactory.accumulate(StxFactory.java:297)
at org.esa.snap.core.datamodel.StxFactory.create(StxFactory.java:201)
at org.esa.snap.core.datamodel.StxFactory.create(StxFactory.java:275)
at org.esa.snap.core.datamodel.RasterDataNode.computeStxImpl(RasterDataNode.java:2468)
at org.esa.snap.core.datamodel.Band.computeStxImpl(Band.java:493)
at org.esa.snap.core.datamodel.RasterDataNode.getStx(RasterDataNode.java:2435)
at org.esa.snap.core.datamodel.RasterDataNode.createDefaultImageInfo(RasterDataNode.java:1839)
at org.esa.snap.core.datamodel.Band.createDefaultImageInfo(Band.java:472)
at org.esa.snap.core.datamodel.RasterDataNode.getImageInfo(RasterDataNode.java:1821)
at org.esa.snap.core.datamodel.RasterDataNode.getImageInfo(RasterDataNode.java:1804)
at org.esa.snap.core.image.ImageManager.prepareImageInfos(ImageManager.java:834)
at org.esa.snap.core.image.ColoredBandImageMultiLevelSource.create(ColoredBandImageMultiLevelSource.java:51)
at org.esa.snap.core.image.ColoredBandImageMultiLevelSource.create(ColoredBandImageMultiLevelSource.java:47)
at org.esa.snap.core.image.ColoredBandImageMultiLevelSource.create(ColoredBandImageMultiLevelSource.java:41)
at org.esa.snap.ui.product.ProductSceneImage.(ProductSceneImage.java:74)
at org.esa.snap.rcp.actions.window.OpenImageViewAction.createProductSceneImage(OpenImageViewAction.java:274)
at org.esa.snap.rcp.actions.window.OpenImageViewAction.access$100(OpenImageViewAction.java:67)
at org.esa.snap.rcp.actions.window.OpenImageViewAction$1.doInBackground(OpenImageViewAction.java:241)
at org.esa.snap.rcp.actions.window.OpenImageViewAction$1.doInBackground(OpenImageViewAction.java:220)
at com.bc.ceres.swing.progress.ProgressMonitorSwingWorker.doInBackground(ProgressMonitorSwingWorker.java:56)
at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at javax.swing.SwingWorker.run(SwingWorker.java:334)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused: java.util.concurrent.ExecutionException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at javax.swing.SwingWorker.get(SwingWorker.java:602)
[catch] at org.esa.snap.rcp.actions.window.OpenImageViewAction$1.done(OpenImageViewAction.java:228)
at javax.swing.SwingWorker$5.run(SwingWorker.java:737)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
at javax.swing.Timer.fireActionPerformed(Timer.java:313)
at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

1 Like

Update: point 2 solved, I was using x ^ y instead of pow(x,y)