Ask a question

Enter questions and answers or comments here (you must be registered and logged in). All registered users are welcome to add to this page. Please subscribe to this page if you want to receive e-mail notification of new questions or answers.

How do I become a member of ROI_PAC Wiki?

1. Create your user account (register). It is strongly recommended to use FirstnameLastname (with no space between words--a WikiName) as your username.

2. Send an email to FariaChowdhury or EricFielding requesting to be added as a member. Please include some information about your interest in ROI_pac and tell us what username you have registered.

You need to do both of these steps if you want to be able to modify pages other than this question and answer page.


process_2pass.pl raw2ampintcor.pl failed in process_2pass.pl

abid@abid-laptop:~/Desktop/ROI/ROI_PAC_3_0_1/run1$ process_2pass.pl param.txt
+process_2pass.pl Read the inputfile
+process_2pass.pl Define Variables
+process_2pass.pl Go from raw to slc to int and cor (also flattens with orbits)
Usage: raw2ampintcor.pl
Function: Goes from the raw ERS data to interferogram and correlation images
*** Last Update Aug 18, 1999
*** For more info see http://roipac.org
*** This software is part of the ROI_PAC suite.
*** Licensed software, not for general distribution.
+process_2pass.pl raw2ampintcor.pl failed in process_2pass.pl

You need to add the required information to the "param.txt" file. See the ROI_pac Internals document for explanation of the parameters.


make_raw.pl fails

abid@abid-laptop:~/Desktop/ROI/ROI_PAC_3_0_1/run1/19931124$ make_raw.pl ODR SARLEADER19931124151441 19931124
+make_raw.pl Checking I/O
Creating 19931124.raw
Creating 19931124.raw.rsc
+make_raw.pl General definitions
+make_raw.pl Getting facility name
+make_raw.pl Finding reference counter, pri and prf
counter read: 812
swst offset read: 214
+make_raw.pl Reference counter = 812
+make_raw.pl Checking line number
+make_raw.pl /home/abid/Desktop/ROI/ROI_PAC_3_0_1/ROI_PAC/INT_BIN/new_parse 11644 210 4 1 IMAGERY19931124151441 tmp_IMAGERY.raw
29000060
+make_raw.pl Reading the leader file
+make_raw.pl /home/abid/Desktop/ROI/ROI_PAC_3_0_1/ROI_PAC/INT_BIN/leader2rsc SARLEADER19931124151441 /home/abid/Desktop/ROI/ROI_PAC_3_0_1/ROI_PAC/multibuild-100118-1757/installs/share/roi_pac/format_leaderfile_D-PAF tmp_IMAGERY.raw.rsc
+make_raw.pl Reading the imagery file
+make_raw.pl Setting the starting range
+make_raw.pl /home/abid/Desktop/ROI/ROI_PAC_3_0_1/ROI_PAC/INT_BIN/delay_shift tmp_IMAGERY.raw tmp_IMAGERY.new shift.out 214 812 11644 412 11636 0 0
shifting line 0
shifting line 10000
shifting line 20000
+make_raw.pl Writing the imagery resource file
+make_raw.pl Reading state vectors in SARLEADER's header, Building hdr_data_points_19931124 file
+state_vector.pl getorb failed in state_vector.pl
+make_raw.pl state_vector.pl failed in make_raw.pl

You need to have the University of Delft ODR orbit package installed to use the ODR orbit option in "make_raw.pl". This is not part of ROI_pac, so you have to install it separately if you want to use it. See the README. You can always use the "HDR" orbit option that uses the state vectors in the SARLEADER file. These may not be as accurate, but they are always available.


Where can I get PRC orbit data for ERS2?

You should contact the ESA Earth Observation (EO) Help Desk < eohelp@eo.esa.int > to ask for a password to their FTP site for the PRC orbits.


Too few points left after culling error

+offset.pl Writing input_file: 960919-000928_ampcor.in
+offset.pl /disk1/localrhel/insar/ROI_PAC_3_0/ROI_PAC/INT_BIN/ampcor 960919-000928_ampcor.in rdf > 960919-000928_ampcor.out
+make_offset.pl /disk1/localrhel/insar/ROI_PAC_3_0/ROI_PAC/INT_BIN/fitoff 960919-000928_ampcor.off 960919-000928_cull.off 1.5 0.08 50 > fitoff_ampcor.out
Too few points left after culling: 2 left
+raw2ampintcor.pl make_offset.pl failed in raw2ampintcor.pl
+process_2pass.pl raw2ampintcor.pl failed in process_2pass.pl

There are a lot of reasons this step can fail. It is possible that bad orbit data could cause the baseline.pl script to not be able to estimate the gross offset. You should also apply the patch to baseline.pl from the Patches page. There are more hints on this web page: http://www.geo.cornell.edu/eas/PeoplePlaces/Faculty/matt/troubleshooting.html


Installing on a Mac

+offset.pl /Users/Gerardo/Desktop/Insar/ROI_PAC_3_0/ROI_PAC/multibuild-090402-1132/installs/defaults/bin/ampcor 930110-950523_ampcor_gross.in rdf > 930110-950523_ampcor_gross.out
sh: line 1: 51214 Bus error /Users/Gerardo/Desktop/Insar/ROI_PAC_3_0/ROI_PAC/multibuild-090402-1132/installs/defaults/bin/ampcor 930110-950523_ampcor_gross.in rdf > 930110-950523_ampcor_gross.out
+offset.pl ampcor failed in offset.pl

I think I remember this kind of bus error with a version of the gfortran compiler. What compiler and version did you use?


Problem with test data

make_raw.pl PCR SARLEADER1993011018252739T1Of1 930110
+make_raw.pl Checking I/O
Creating 930110.raw
Creating 930110.raw.rsc
+make_raw.pl General definitions
+make_raw.pl Getting facility name
+make_raw.pl Finding reference counter, pri and prf
counter read: 900
swst offset read: 204
+make_raw.pl Reference counter = 900
+make_raw.pl Checking line number
+make_raw.pl /new_parse 12060 200 4 1 IMAGERY1993011018252739T1Of3 tmp_IMAGERY.raw
+make_raw.pl Reading the leader file
+make_raw.pl /leader2rsc SARLEADER1993011018252739T1Of1 /disk1/localrhel/insar/ROI_PAC_3_0/ROI_PAC/INT_SCR/format_leaderfile_CRDC-SARDPF tmp_IMAGERY.raw.rsc
tmp_IMAGERY.raw has zero size

I think you have a typo in your command it says "PCR" instead of "PRC" for the orbit type. It also looks like you did not define the INT_BIN environment variable.


Using state vector info for ENVISAT

No, the Envisat Level 0 (raw) data files only contain one state vector, which is not sufficient for processing. You must get the orbit information from either the ESA DORIS orbit files or the Delft ODR orbits.


Why was ROI_PAC only designed to process raw data?

Yes, ROIpac was designed to process the two images at the average of the two Doppler centroids. It does the azimuth spectrum filtering (cutting out the part of the azimuth spectrum that does not overlap) in the "roi" program. It is possible to do the azimuth spectrum filtering in the interferogram formation, but this is not what "resamp_roi" does. The Delft DORIS software does the filtering in the interferogram stage, as it must because it starts with SLCs.

In addition, there is another significant difference between the way that ROIpac and other SAR processors use the Doppler centroid in the SLC formation. ROIpac is set up to process the SLC in the original geometry, but the ESA processor (and probably the Canadian Radarsat-1 processor) produce the SLC images in a deskewed geometry. The deskewing moves the data to adjust for the squint or angle between the radar LOS and perpendicular to the orbit track. Because the Radarsat-1 data has a large squint (typically about 3 degrees at middle latitudes), this is a large effect. This will make it extremely difficult if not impossible to combine ROIpac SLCs with the SLCs from the other processor.

It should be possible to make interferograms between two SLCs processed by the same system as long as the Doppler centroids are not too different. We did this with the Bam earthquake Envisat ASAR SLCs before we got the raw data. You should set the Doppler centroid to zero in the .slc.rsc file if you use ROIpac to process deskewed SLC data.


Processing Seasat data

The .raw.rsc files are not really necessary if you are running the roi program without the Perl scripts. The Perl scripts read the .rsc files to create the .rdf file, and the program only reads the .rdf file and the data files. To use the rest of the ROI_pac Perl scripts, you would want to create the .slc.rsc file for the output from roi.


i/q means (-) = 15.6555004 15.3079996 15.6555004 15.3079996 ! file 1 (i,q), file 2 (i,q)
Flip i/q? (-) = n                               !

Seasat data is offset video so obviously does not have i/q. Does roi assume IQ? If so do I have to write a program that demodulates Seasat to baseband IQ? If not, how do I tell roi that my data is offset video? Or is there a separate routine that handles non complex data.

The roi program definitely processes offset-video data. I used it many times for SIR-C data that is offset video. You just need to put "o" (for offset video) in the "Flip i/q?" answer. It will do the decoding automatically.


Using ESA orbits for Envisat

When you use the DOR option in make_raw_envi.pl, the script copies the Envisat DORIS orbit data from ESA (either POR orbits from $POR_DIR or VOR orbits from $VOR_DIR) to a hdr_$date.rsc file. The rest of the processing should then be done with the $orbit_type set to HDR. This was a shortcut to avoid modifying the state_vector.pl script to read the Envisat DORIS orbit files.


YMAX bigger than FILE_LENGTH?

//////My PALSAR Data//////
Mode     : FBS
Level    : 1.0
off-nadir angle : 34.3
Orbit Direction : Descending
PRF : 2145.923000(Same PRF)
SceneShift      : -4
//////*.PRM//////
num_rng_bins     11304
bytes_per_line   21100
good_bytes_per_line     21020
num_lines        35193
//////*.raw.rsc//////
FILE_LENGTH      35193
XMIN     413
XMAX     21020
WIDTH    21100
YMIN     0
YMAX     35193
//////*.slc.rsc//////
FILE_LENGTH      38680
XMIN     0
XMAX     10303
WIDTH    10303
YMIN     0
YMAX     40564

In ROI_pac it is normal for the YMAX of the SLC to be larger than the YMAX of the raw data. The difference is larger for PALSAR because it has a longer synthetic aperture. It is not clear why the YMAX of the SLC is larger than the FILE_LENGTH parameter. Are you using the ROI_pac v. 3.0 scripts?


How to skip multilooking ?

To process the interferogram with no range looks (but still having azimuth looks determined by the pixel_ratio), you need to change three values to change the number of range looks:

Rlooks_int=1
Rlooks_unw=1
Rlooks_sim=1


How can I process a subset of my SAR image?

You can process a subset of the raw data file using a roi.proc file in the directory above the directories of the individual dates. This file is used to determine which part of the raw data to process for all of the dates. You can also put a file into the directories of the individual dates called $date.proc (whatever the name of your $date directory) with the same information. It should contain all the parameters you want to change in the processing of the raw data to SLC. For example:

before_z_ext = -1000
after_z_ext = -12000
near_rng_ext = -0
far_rng_ext = -3950

All of the "_ext" values are "extensions" from the area of the raw data, so negative extensions mean that the SLC will be smaller than the raw data. The default values are calculated in roi_prep.pl but the .proc file values will override the defaults.


Problems selecting an area of interest

before_z_ext = -13900
after_z_ext = -7076
near_rng_ext = -5900
far_rng_ext = -2250

Creating 19960423.slc
+roi.pl ROI_PAC_3_0/ROI_PAC/INT_BIN/roi 19960423_roi.in > 19960423_roi.out
At line 812 of file ROI_PAC_3_0/ROI_PAC/roi/roi.F
Fortran runtime error: RECL parameter is non-positive in OPEN statement
+roi.pl roi failed in roi.pl
+raw2ampintcor.pl roi.pl failed in raw2ampintcor.pl
+process_2pass.pl raw2ampintcor.pl failed in process_2pass.pl

The important thing to note is that the WIDTH in the .raw.rsc file is in bytes and there are two bytes for every data sample. The range extension values must be specified in samples, so you probably need to divide your near_rng_ext and far_rng_ext values by two. The width of most SAR images is around 6000 samples, so the near_rng_ext and far_rng_ext values you used add to much more than the full width. Also, for ERS data, there are usually an extra 412 bytes at the beginning of each raw data line XMIN 412 and this further reduces the width of the actual data.


Compiling problems

As you may know, "segmentation violation" errors can be caused by a number of things. The first thing to check is whether the 930110_roi.in file has anything strange in it. Another thing to check is the build and link to the FFTW libraries. It is strongly recommended that you use the contrib/install-fftw.sh script to build FFTW with the required single-precision code and use that. Other FFTW builds are not likely to work. If the FFTW build is bad or incompatible, then all of the programs that use them will fail.

Core file generation is controlled by your shell. Often the "coredumpsize" is set to zero in the shell, which causes no core files to be created. Under Linux csh-type shells, you can use limit core 10m to set the limit to 10 MB.

You probably need to compile the code with the debugging symbols to use gdb effectively. You can build ROI_pac with the debugging flag -g by using the gfortran-g build of contrib/multibuild.sh. Another debugging tool in Linux is strace which will print information about all the system calls made by the program.


Processing TerraSAR-X SLCs?

I have not done this myself, but I have seen another person's TerraSAR-X interferogram. If you have not used ROI_pac before, I would recommend processing the sample dataset and examining the .slc.rsc files that contain the metadata about the .slc images.


Using make_raw.pl with CEOS data from EODC and other ground stations?

elsif ($facility eq "EODC") { $facility = "UK-PAF";}

Keyword FIRST_FRAME_SCENE_CENTER_LINE doesn't exist in tmp_IMAGERY.raw.rsc, returning 0
Keyword FIRST_CENTER_HOUR_OF_DAY doesn't exist in tmp_IMAGERY.raw.rsc, returning 0
Keyword FIRST_CENTER_MN_OF_HOUR doesn't exist in tmp_IMAGERY.raw.rsc, returning 0
Keyword FIRST_CENTER_S_OF_MN doesn't exist in tmp_IMAGERY.raw.rsc, returning 0
Keyword FIRST_CENTER_MS_OF_S doesn't exist in tmp_IMAGERY.raw.rsc, returning 0

No good range counter found using reference counter = 4114

elsif ($facility eq "EODC") { $facility = "D-PAF";}

The first thing to try is just specifying the facility on the make_raw.pl command line. It is an optional fourth parameter. This will allow you to try the different facility types already supported without changing the Perl script. It sounds like your modifications were not working correctly.

If you are sure that none of the existing facilities will work for your data, then you need to find a reference document for the facility that processed your data. The help desk of that facility may be able to help.


PALSAR pairs which won't register?

Too few points left after culling, 2 left

The version 3.0.1 should handle PRF differences much better than previous versions. The new version uses the difference between the PRF values to calculate a scale factor for the azimuth direction and uses this in the matching.

If the gross matching was good and resulted in a good number of points, then the initial offsets from the orbits must be OK.

If you specify y_start, then you should also specify the x_start. Normally both are integers.

Radio-frequency interference is a big problem for PALSAR data in some areas, depending on the local use of L-band radio frequencies.

Running "PlotOffset.pl" on the *ampcor.off file should help diagnose why the fine culling is failing. You will need to install the "xmgrace" program if you don't already have it.


Simulated SAR image (from DEM) contains stripes

synth_offset.pl Culling points
dem2diff.pl synth_offset.pl failed in dem2diff.pl
process_2pass.pl dem2diff.pl failed in process_2pass.pl

simrawio9

The SIM_raw.hgt file almost always has some voids in it, with the pattern depending on how the DEM spacing is mapped into the SAR image coordinates. If the DEM has a coarser spacing than the SAR data, then the voids can be a majority of the pixels. Normally, the "Aik_resample" program that is run after IntSim interpolates over these voids to produce a SIM_4rlks.hgt (or similar) file that is used in the rest of the processing.

You should compare the SIM_4lks.hgt file to the date1-date2_4rlks.cor file to see if they look similar because those are the files that are matched by "synth_offset.pl"


Can Sky Telemetry Format be processed?

The Sky Telemetry Format (STF) data from ASF cannot be ingested with the programs released with ROI_pac v. 3.0. The data format is completely different, so it requires a different program to read the STF level 0 data. We hope to include the STF data reading program and associated scripts with the 3.0.1 release.


How to convert unwrapped phase to range change?

The unwrapped phase can be converted to range change by multiplying the phase (in radians) by the radar wavelength/4*pi with the length units of the wavelength.


How can I geocode the wrapped interferogram with geomap.trans?

If you already have the geomap(_4rlks).trans file from a successful run of process_2pass.pl, then you can geocode the wrapped interferogram (.int) file.

Unfortunately, the geocode.pl script only knows how to geocode the unwrapped interferograms. To geocode the wrapped interferogram, you need to edit the rect_lookup.in file to change the input file name to your date1-date2(_4rlks).int file (must have the same number of looks as the geomap.trans file) and the output file name to whatever you want to call the output. You also need to change the "file type" to CPX and the "Interpolation Method" to Sinc. Then run the rect_lookup" program with the edited input file rect_lookup rect_lookup.in.

-


Question about ROI_PAC test run

+offset.pl /export/software/roi_pac/bin/ampcor 930110-950523_ampcor_gross.in rdf > 930110-950523_ampcor_gross.out

The ampcor program can take a while to run, but it should finish in less than 10 minutes on a reasonably fast computer.


Radiometric correction/calibration on the *.amp files?

No, ROI_pac does not do any radiometric corrections or calibrations. All of the SAR amplitude images are completely uncalibrated. ROI_pac is only designed to accurately process the interferometric phase.


How can I use a DEM in UTM projection?

ROI_pac does not require the full zone code with the letter specifying the latitude band, just the zone number appended to "UTM". 28n057e-31n060e.srtm3-utm40-160m.dem.rsc is an example of a .dem.rsc file for UTM zone 40. Note that the Y_STEP is negative if your DEM goes from north to south in its scan lines, for UTM or LATLON projections.


Can't visualize date.slc file

Cannot open the filename: date.slc
STOP set number less than or equal to zero statement executed

It sounds like your MDX program was not compiled with the large file flags, so it does not know how to open a >2 GB SLC file.


Can ROI-PAC work with different client processing at the same time?

There should be no problem with running ROI_pac on different terminals at the same time, as long as you are processing different data. You can't process the same scene as part of two different pairs at the same time (unless you make a separate copy of the raw and slc directory for the date) because ROI_pac focuses the SLC optimized for each pair.

AskQuestion (last edited 2010-07-24 20:53:57 by AhmetAkoglu)