Here is the information on the bug from the previous forum post:
I am getting an error during the final step of the DEM generation process when executing the phase to elevation function. I am using the Fogo dataset from the TOPS Interferometry tutorial. I will first outline how I am generating the data because the tutorial I was following focused on deformation, not topology and I may have missed a fundamental earlier step:
1 Open the products: For DEM generation the products must be Single Look Complex (SLC), and have the same Mode, Track and pass.
2 Coregister the images into a stack:
Radar -> S1 TOPS coregistration -> S1 TOPS Coregistration
3 In the TOPSAR-Split tab, select the IW3 subswath for each of the products.
4 Interferogram Formation:
Radar -> Interferometric -> Products -> Interferogram Formation
4 TOPS Deburst to join all burst data into a single image:
Radar -> Sentinel1 TOPS -> S1-TOPS deburst
5 Goldstein Phase Filtering
Radar -> Interferometric -> Filtering -> Goldstein Phase Filtering
6 Unwrap into SNAPHU format:
Radar -> Interferometric -> unwrapping -> Snaphu export
make sure the statistical cost mode if TOPO for DEM in snaphuExport
7 Run Snaphu. It must be compiled and run on linux (or possibly cygwin)
The export generates a snaphu.conf file that contains the command to execute, e.g.:
snaphu -f snaphu.conf Phase_ifg_IW3_VV_03Nov2014_27Nov2014.snaphu.img 3946
Snaphu currently crashes with Segmentation fault (core dumped) on 64 bit machines. This is due to a problem in the source:
Doris 9 – Segmentation fault: error in SNAPHU
In 64-bit operating system, SNAPHU may come into an segmentation error like this: snaphu v1.4.229 parameters input from file snaphu.conf (219 lines total) Logging run-time parameters to file snaphu…
This is caused by ctime() function in src/snaphu_io.c file [1]. To solve this problem, edit this file, change “#include ” into “#include ”, and then compile and install again
8 Import Snaphu:
Radar -> Interferometric -> unwrapping -> Snaphu import
make sure the read-phase is the package you exported and the read-unwrapped-phase is
the .hdr file outputted by snaphu
9 Generate DEM by converting phase to height:
Radar -> Interferometric -> products -> Phase to Elevation
10 Apply Range Doppler Terrain Correction:
Radar -> Geometric -> terrain correction -> Range Doppler Terrain Correction.
I get the following error at step 9:
org.esa.snap.core.gpf.OperatorException: java.lang.NullPointerException
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:421)
at org.esa.s1tbx.insar.gpf.PhaseToElevationOp.computeTileStack(PhaseToElevationOp.java:336)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:116)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:85)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
Caused: org.esa.snap.core.gpf.OperatorException: java.lang.NullPointerException
at org.esa.snap.core.gpf.internal.OperatorExecutor$GPFImagingListener.errorOccurred(OperatorExecutor.java:376)
at com.sun.media.jai.util.SunTileScheduler.sendExceptionToListener(SunTileScheduler.java:1646)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:921)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at javax.media.jai.PlanarImage.getData(PlanarImage.java:2085)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:407)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:393)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:73)
at javax.media.jai.SourcelessOpImage.computeTile(SourcelessOpImage.java:137)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(SunTileScheduler.java:904)
at javax.media.jai.OpImage.getTile(OpImage.java:1129)
at com.sun.media.jai.util.RequestJob.compute(SunTileScheduler.java:247)
[catch] at com.sun.media.jai.util.WorkerThread.run(SunTileScheduler.java:468)
I have tried several variations on the approach but all of them get the same exception. I have also tried phase to height but when I click run, nothing is output. Any help understanding the bug or working out where I went wrong would be greatly appreciated.