Version 6 (modified by knpa, 8 years ago) (diff)

--

CaliGeo Processing

This is intended to be a guide on processing images in CaliGeo. Any fields not mentioned should be left as default. Note you are strongly advised to save an option file before any run where you changed any settings, because CaliGeo does occasionally crash without warning (usually when one of the input settings isn't quite what it expected) and it's very annoying to have to re-enter everything (even assuming you remember all the values you entered).

Fields need to be filled out as follows:

Raw image file: Raw data file from the sensor (.raw)
Calibration file: .cal file for relevant sensor/time
Dark data file: Same as raw file (assuming autodark was used so there are dark frames on the file)
Band configuration file: Look in the sensor header file for the binning entry, note down the first number (spectral binning). Then go to ~arsf/calibration/specim_band_files/<sensor> and pick one of the band files with the appropriate binning. If you get this wrong CaliGeo will either tell you and refuse to run or crash - if this happens, change your band file to one of the other ones with an appropriate binning.
Raw GPS/INS file: .nav file for relevant flightline (Eagle flightlines generally have only one for the whole flight, Hawk has one per flightline).

Process all lines: Ticked. You can untick it and use a subset of the lines if you want, but this doesn't seem to work every time.

Use DEM: Ticked or unticked as appropriate. Use only DEMs that are in 16-bit unsigned integer format - on the current version of CaliGeo (4.9.5) other formats, particularly floating point, take a very, very long time to run and then give a wrong result. Note processing takes significantly longer with a DEM. Do not use DEMs when auto boresighting (see below)

Average ground elevation from WGS-84 reference surface: Average height of ground above spheroid. Only really matters if you're not using a DEM. Little Riss is 273m.

Unrectified intermediate file: Level 1 file - *.dat, needs to be created first (use touch filename.dat in a terminal)
Georectify unrectified to: Level 3 file - - *.dat, needs to be created first (use touch filename.dat in a terminal)

Use external nav file: Can be used to take an ASCII nav file (eg from Applanix - use "Output" program in PosPac then convert with sbet2cali.sh (attached to this page)). Never been able to see a difference between using one and not using one though.

Advanced Options (required)

These fields are reached by clicking the "Advanced Options" tab. They might be advanced but they're still essential.

Focal length: 18.3 for Eagle, 22.8 for Hawk
Realized detector pixel size: 12 for Eagle, 30 for Hawk. Note these are spatial binning 1 - if on spatial binning 2, double them.
GPS antenna position: Lever arm offset (neglecting vertical offset) - use x/y offsets same as azgcorr (but be careful of axes)

Roll/Pitch/Yaw correction: Boresight offset values. Axes positive forward/starboard/up.

Flip spatial image: Ticked for Hawk, unticked for Eagle

Output pixel size: As desired, but note that presently this box doesn't seem to work - you need to save the options to a file, edit it in the file and then read it back into Caligeo.

Option file settings (also required)

These settings cannot be set from the GUI at all, but are still required. You need to set everything above, save the settings to an options file, adjust these in a text editor then read the options back into Caligeo. You can do the same with any of the options above, but note the angles marked "Boresight" in the options file aren't actually the boresight values as we think of them (they're the sensor co-registration angles). You need the "Roll_Correction" (etc) angles instead.

OUTPUT_PIXELSIZE: whatever is appropriate, doesn't work in the GUI


Finding timing offsets

To find a timing offset manually:

  1. Process the line using "Use autosynch". In the Caligeo output window, find the line that says "This synch message <time> is close enough to GPS start time <time>. The difference is <time>" and write down the difference value.
  2. Select "Use synchhtime" (sic), which will activate the "GPS/INS data time synch offset" box. Put the difference written down in there.
  3. In order to alter the timing offset, add or subtract the appropriate offset from the difference value in the synch offset field.
  4. Trial and error as for Azgcorr.

Early results suggest the usual offset value may be: -1 * <azgcorr timing offset> - 0.02. Only run two lines so far for both - the 0.02 may be a magic number or it may be just coincidence.


Boresighting

To boresight lines using Caligeo:

  1. Process three (crossing) lines as above. Use 0 boresight values and NO DEM (forget this and do it over from scratch). Use the average elevation for the site (get from SRTM on the web or use 273m for Little Riss). The current version of Caligeo (4.9.5) has a bug whereby it will give (obviously) wrong results if using a DEM to boresight. Once they're working, save option files for each.
  2. In ENVI, with the three (georectified) lines open use Map > Registration > Select GCPs: Image to Image - it'll ask you which to use as the base and which as the warp image
  3. Find GCPs for the following combinations (if you do this wrong your results will be wrong). You need a minimum of 6 GCPs for each, a few more is good, try and avoid RMS errors that are too high (<0.7 is reasonable, the lower the better):
    1. Image 1 > Image 2
    2. Image 2 > Image 3
    3. Image 3 > Image 1
  4. In Caligeo, click "Boresight calibration" and when prompted enter the image option file locations and GCP file locations. MAKE SURE YOU GET THE ORDER RIGHT.

It'll run and hopefully give you sensible results - if any of the angles is up around 45 degrees you forgot to run without a DEM - start over from scratch.


Radiometric Correction using CaliGeo

  • Run through az programs up to azgcorr. This creates .bil, .bil.hdr and .hdf files in the lev1 directory for a particular line. You can delete the .bil and .bil.hdr as these will be replaced later with CaliGeo versions of the files.
  • Run ENVI and open CaliGeo via -> Specim -> CaliGeo.
    • Raw image file – Select the appropriate .raw file in the eagle or hawk directories located in the project directory.
    • Calibration file – Select the appropriate .cal file from the eagle or hawk directories located in /users/rsg/arsf/calibration/2007
    • Dark data file – Same as raw image file.
    • Band configuration file – Select the appropriate .bnd file from the eagle or hawk directories in /users/rsg/arsf/calibration/specim_band_files. To find out which file to use you have to know what binning was used for the flight line in question. Open the .hdr file (with a text editor) for your line in the same directory as the .raw file Find the field called 'binning'; the first number contained within the brackets is the one you are interested in. Alternatively, cd to the directory and run the command 'grep binning *hdr'.
    • Unrectified intermediate file – Create an empty file in the project's lev1 directory with the same name as the .hdf file created by az software earlier, but with the extension .dat. Select the newly created file.
    • Hit 'advanced options'. Hit 'Flip spatial image'.
    • Hit 'Full radiometric correction' and answer 'No' to the dialog question.
  • When completed hit Basic Tools (on the ENVI menu bar) -> Convert Data (BSQ, BIL, BIP).
    • Select the file .dat file you created earlier and hit ok.
    • Select BIL as the Output interleave.
    • Choose the lev1 directory where your .dat file is located. Enter the output filename the same as your .dat file but with the extention .bil.
  • Run the az programs from azgcorr onwards which should create a lev3 file with the correct radiometric calibration.

Attachments (1)

  • sbet2cali.sh (1.3 KB) - added by benj 10 years ago. Bash script to convert ASCII SBET files (as output by PosPac's "Output" program) to Caligeo-readable format

Download all attachments as: .zip