I am using a machine with this specifications: Corei9 with 64 GB RAM, this machine has some problems with some operators in snap such as split, and radiometric terrain flattering. I almost did whatever I knew, no progress, here is the report:
java.lang.NullPointerException
Caused: org.esa.snap.core.gpf.OperatorException
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432)
at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.outputNormalizedImage(TerrainFlatteningOp.java:883)
at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:503)
Caused: org.esa.snap.core.gpf.OperatorException: java.lang.NullPointerException
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432)
at org.esa.s1tbx.sar.gpf.geometric.TerrainFlatteningOp.computeTileStack(TerrainFlatteningOp.java:514)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at javax.media.jai.PlanarImage.getData(Unknown Source)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:449)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:435)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
[catch] at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at com.sun.media.jai.util.RequestJob.compute(Unknown Source)
at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
I use SLC data,
apply orbit file, thermal noise removal, calibration (to beta), deburst, multilooking, radiometric terrain flattening
I also tried to calculate the terrain flattening gamma naught from complex number so I carried the below steps:
apply orbit file, calibration (to complex number), deburst, C2 matrix generation, multilooking, radiometric terrain flattening, but not working even with C2 matrix
let me summarize my tests into two different categories:
working case:
apply orbit file for the whole scene and step by step doing the first procedures
not working case:
first, applying any kind of graphs/batch processing
second, splitting the scene to sub swath
so I though it maybe problem of memory and cache, so i changes the performance options as follows:
-Xmx45056m -Xms512m -XX:+AggressiveOpts -Xverify:none -Dnetbeans.mainclass=org.esa.snap.main.Main -Dsun.java2d.noddraw=true -Dsun.awt.nopixfmt=true -Dsun.java2d.dpiaware=false
cache size:15000
tile size:1024
unfortunately, it didn’t help that much so any recommendations are most welcome, and thanks a lot
@ABraun, yes the format is dimap.
yes the data must be beta0 after multilooking, since terrain flattening input should be eight beta0 or C2 matrix, the problem is with radiometric terrain flattening operator which can not be executed and the error pups up
@Nimaahm I think you can try the following steps:
apply orbit file, split, thermal noise removal, calibration (to beta), deburst, multilooking, radiometric terrain flattening
If want to use graph, you can create a graph with all operators except terrain flattening. That may reduce the usage of the memory. You can perform terrain flattening separately.
Give it a try and see if it works
@jun_lu, once you use any kind of graph and or split operator, the terrain flattening operator does not work. As I mentioned, if I carried out the steps one by one without splitting, it works but since I have more than 50 S1 images, I can’t do step by step procedure.
I think the problem is that terrain flattening misrecognized the input as GRD product. We will look into the problem. A JIRA ticket (https://senbox.atlassian.net/browse/SITBX-882) has been created to track the problem. For now if you can use the GRD product instead of the SLC product, then I think your graph should work
exact same issue here. Would be great if this gets solved soon, as I am relying on it in the Open SAR Toolkit, where SLC data is processed burst by burst (i.e. using the split operator and graphs).