1 (edited by James_Hollingsworth 2008-11-12 19:15:51)

Topic: Problem generating "Exterior Orientation" file with COSI-Corr+ENVI 4.5

(This may or may not be a problem relating to a bug in COSI-Corr when running with Envi 4.5?)

The problem I am having is with generating my "Exterior Orientation" file, which I need to orthorectify my "post-event" aerial photo relative to a 15m Landsat 7 (band8) image and 30m ASTER DEM.

Firstly, I entered the relevent information for the Fiducial Points (collected using the Map>Build RCPS option, since the "Fiducial Point Selection Tool" does not work in COSI-Corr under Envi 4.5). For the "Interior Orientation Setup" I entered the fiducial point information and camera calibration information (from the calibration report which came with the aerial photos). The radial distortion info is given as a table, and nothing was entered for the "Lense Tangential" option, as the correction coefficients were not supplied with the report. Here is the output "Interior Orientation" file:


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;Interior orientation file generated the :Wed Nov 12 17:55:54 2008
;Camera Calibration Report Available :
yes

;Focal of the camera (in meters)
0.1517660000000

;Principal Point location in millimeter (x, y):
0.0110000000000     0.0010000000000

;Fiducial Points
;Fiducial (x,y) (millimeter), Image (x,y)(pixel)
;Note: If Camera Calibration not available, fiducial (x,y) are useless
-106.0020000000000   106.0010000000000   970.1000000000000 16074.0000000000000
105.9920000000000   105.9990000000000 15098.9000000000000 16017.4000000000000
106.0030000000000  -106.0040000000000 15045.4000000000000  1890.0999999999999
-105.9920000000000  -105.9950000000000   917.5000000000000  1945.9000000000001

;Coefficients for affine transformation
;from Camera to Image
;x(pix) = a0 + a1*x(mm) + a2*y(mm)
;y(pix) = b0 + b1*x(mm) + a2*y(mm)
8008.6916227843749
66.6448959445536
0.2535372931169
8981.8971489266842
-0.2633722912405
66.6402384162903

;Coefficients for affine transformation
;from Image to Camera
;x(mm) = a0 + a1*x(pix) + a2*y(pix)
;y(mm) = b0 + b1*x(pix) + a2*y(pix)
-119.6550670935384
0.0150046743971
-0.0000570862753
-135.2547827936304
0.0000593007633
0.0150057230708

;Distortions measured with radial distance
;- yes : radial distance in millimeters
;- no : field angle in decimal degree
yes

;Radial distortion values
20.0000000000000    -4.0000000000000
40.0000000000000    -4.0000000000000
60.0000000000000     1.0000000000000
80.0000000000000     4.0000000000000
100.0000000000000     4.0000000000000
120.0000000000000     1.0000000000000
140.0000000000000     4.0000000000000

;Radial distortion coefficients - lenses correction
-0.0000456182424     0.0000000120863    -0.0000000000004

;Tangential distortion coefficients - lenses correction
0.0000000000000     0.0000000000000     0.0000000000000

;Atmospheric distortion correction
no
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


I then collected a number of Tie Points between the aerial photo and Band 8 (15m) of a Landsat 7 image, which are concentrated along one side of the aerial photo. These Tie Points were then saved tot he following file:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; ENVI Image to Image GCP File
; base file: D:\james\work\landsat
; warp file: D:\james\work\L4497.tif
; Base Image (x,y), Warp Image (x,y)
;
       1713.500000       1707.000000      11731.000000      10517.000000
       1757.000000       1777.000000      12976.000000      12377.000000
       1769.500000       1839.500000      13560.000000      14131.000000
       1622.500000       1823.000000       9431.000000      13916.000000
       1588.000000       1894.000000       8563.000000      15971.000000
       1617.500000       1517.500000       8859.690000       5338.440000
       1695.000000       1617.000000      11166.000000       8038.000000
       1733.000000       1509.000000      12050.000000       4958.000000
       1703.000000       1502.500000      11261.000000       4919.000000
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

I then converted these Tie Points to Ground Control Points using the "Convert Tied Points to GCPS" tool (with the following input files: Tie Point file, the Landsat 7 image, and a 30 m ASTER DEM) which outputted the following GCPS file:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;File generated the : Wed Nov 12 18:39:15 2008
;GCPS generated from :
;- Tied point file : D:\james\work\L4497_tps.pts
;- GeoReferenced image : D:\james\work\landsat
;- DEM : D:\james\work\aster_dem
;Values : Easting, Northing, Altitude, X, Y, Weight, Opti, dE, dN, dA
;Note : Opti, dE, dN, and dA, are only used in GCPS Optimization
-16.6824943795     65.7903632878     409.8104   11730   10516   1.00000   1     0.0000     0.0000     0.0000
-16.6685303217     65.7815642916     409.3474   12975   12376   1.00000   1     0.0000     0.0000     0.0000
-16.6639656505     65.7735572815     508.4042   13559   14130   1.00000   1     0.0000     0.0000     0.0000
-16.7098375766     65.7752252474     517.5709    9430   13915   1.00000   1     0.0000     0.0000     0.0000
-16.7201209389     65.7660299034     564.9533    8562   15970   1.00000   1     0.0000     0.0000     0.0000
-16.7139826758     65.8141842908     435.1637    8859    5337   1.00000   1     0.0000     0.0000     0.0000
-16.6891622422     65.8017995115     426.7768   11165    8037   1.00000   1     0.0000     0.0000     0.0000
-16.6782271796     65.8157313970     388.3317   12049    4957   1.00000   1     0.0000     0.0000     0.0000
-16.6876250334     65.8163954013     398.6958   11260    4918   1.00000   1     0.0000     0.0000     0.0000
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

So, both the output GCP file and the "Interior Orientation" file look "sensible". However, If I now use these two files to generate my "Exterior Orientation" file, the output is bad:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;File generated the : Wed Nov 12 18:40:13 2008
;Exterior Orientation parameters
;Obtain from :
;GCPS File : D:\james\work\L4497_gcps.pts
;IO File : D:\james\work\L4497_interior_orientation.txt
;Result : delta x, delta y for each GCPS for the EO with GCPS: X, Y, Z, x, y
;Result : Standard Deviation of errors
;97.8486302    92.4940069
;79.2763280    64.5110392
;70.6154022    38.1584152
;**********    41.6269962
;**********    10.8449232
;**********    **********
;**********    **********
;92.7464825    **********
;**********
;Longitude(degree), Latitude(degree), Altitude(meter), Omega(radian), Phi(radian), Kappa(radian)
126.7560096721486   -14.1421451952859****************************************-65054.7256647937540********************
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

What are the "**********"'s all about?! Basically, I cannot figure out if I have entered the Interior Orientation information incorrectly, if I've collected Tie Points incorrectly, if there was a problem extracting the elevation values from a reference DEM, or if it is a bug in COSI-Corr under ENVI 4.5?... Due to my lack of expertise in orthorectifying images and using ENVI, I suspect it is me rather than a bug, but you never know?... help!

2

Re: Problem generating "Exterior Orientation" file with COSI-Corr+ENVI 4.5

Hello James,

the data were entered correctly. The problem comes from the coordinates system used in the calibration report. COSI-Corr uses a ground coordinates system with X oriented Eastward, Y Northward, and Z away from the ground, and assumes the camera coordinates system Z axe to be parallel and in the same direction than the ground coordinates Z axe. This assumption is not verified with the camera coordinates system used in the calibration report, and therefore causes the error. We'll try to correct this in the future COSI-Corr release.

Right now, to correct this problem, you'll need to express the fiducial coordinates in a coordinates system in accordance to the ground's one. Practically, you simply need to invert the sign of Y. This means that your fiducial points coordinates will look like this:
-106.0020000000000  -106.0010000000000   970.1000000000000 16074.0000000000000
105.9920000000000   -105.9990000000000 15098.9000000000000 16017.4000000000000
106.0030000000000    106.0040000000000 15045.4000000000000  1890.0999999999999
-105.9920000000000   105.9950000000000   917.5000000000000  1945.9000000000001

Re-generate the Interior Orientation and you should obtained a proper Exterior Orientation. Note that the Exterior Orientation angles will be given with respect to the new coordinates system.

Let us know if it worked or not...

Francois

3

Re: Problem generating "Exterior Orientation" file with COSI-Corr+ENVI 4.5

Fantastic, it worked perfectly. Thank you Francois...