Content-type: text/html
-help
invokes the on-line context help system for the geometrical camera modeller. This
"man" page is displayed. The program then exits.
-version
displays the program version number.
-growth_protection
<retrys>
causes the system to retry an
sbrk(3)
call up to
retrys
times. This option permits the program to wait until the core that it requires
is available rather than simply exiting if
sbrk(3)
fails.
-usage
displays the commands tail options which are accepted by this program.
-slots
displays the
pups(3)
library dependancies for this program in short format.
-slotinfo
displays the
pups(3)
library dependancies for this program in long format.
-nice
scheduling_level
determines the
niceness
at which the program is scheduled. In keeping with all UNIX uiser processes. The
scheduling_level
must be a cardinal number between 0 and 20, the default niceness for
spot1m
is 4.
-argf
argument_file
tells the program to take its command line arguments from the specified
argument_file.
The data format of the argument file is:
# ... optional comment line ...
-argflag [1]
argument_parameter [1,1]
argument_parameter [1,2]
argument_parameter [1,n]
# ... optional comment line ...
-argflag [2]
argument_parameter [1,1]
argument_parameter [1,2]
argument_parameter [1,n]
-verbose
Tells the program to provide a running commentry on what it is doing. Setting
the verbose flag is useful when the user is uncertain of the parameters being
used with the model, or when feedback is required on the progress of the model
[for an error log for example]. The information produced by setting the
verbose flag is sent to standard error.
-toground
Transforms data from a stereo SPOT-1 image multiplet to geocentric object
space. The SPOT-1 permits up to 32 images in the stereo multiplet. The data
format expected at standard input and produced on standard output are given
below:
Where
ft_code is an integer feature code,
[X1,Y1], [X2,Y2], [Xi,Yi] are the co-ordinates of corresponding pixels in the
images which comprise the stereo multiplet.
[X, Y, Z] is the position of the corresponding point in world space,
expressed in
geocentric
co-ordinates.
-toimage
look
tells the program to transfer data from ground space to the image space of the
selected
look.
-gvector
tells
spot1m(1)
to output ground vector data (x,y,z) when in ground to image transformation mode.
This data is required by the inverse warping program
praw(1)
when generating orthoimages.
-nscenes
number of scenes in strip
tells the camera model how many scenes are expected per image-strip. This value is
assumed to be the same for each image-strip in the stereo multiplet.
-hfiles
header_file_list
reads in the list of header files associated with the stereo multiplet. The
first header file read in is associated with the
leftmost
image of the stereo multiplet. The number of header files specified must agree
exactly with the number of scenes specified via the
n_scenes
parameter. The header files are in the format produced by the Laserscan
readcct
program when operating in
hdr
mode.
-relax_tol
tolerance
Sets the tolerance for the Powell direction set minimiser. A value of 0.00001
is recommended.
-max_iter
max iterations for Powell Direction Set optimiser
Sets the upper iteration limit for the Powell Direction Set optimiser. At present this defaults to 200.
For practical purposes an upper limit of 40-50 is recommended.
-wr_attitude
attitude_file
tells the program to write attitude and orbital segement data to
attitude_file
in standard sensor modelling system format. This attitude data may be used
if the model is needed at a later data. It may also be imported by other
sensor models supported by the system, for example
glsm(1)
for simulation purposes
-rd_attitude
attitude_file
tells the program to read in attitude and orbital segment data from the file
attitude_data.
This attitude and orbital segment data is then used to form the camera model.
Note that if rd_attitude is specified no header data is required, therefore
under these conditions, a
-hfiles
flag is not parsed and will cause an error.
-test
places the camera model in test mode. In this mode the camera model produces
diagnostic information in the files <test_result>.rchk, and
<test_result>.pchk. The output of the file <test_result>.rchk
is of the form:
minimiser_iteration checkpoint_ARMS_residual checkpoint_RRMS_residual
The first column gives the iteration number of the relaxer. The second column
gives the absolute RMS error and the third column the relative [ray-ray]
skewness error of the camera model relative to a set of
independent
check
points,
which given in the file <check_pt_file>. The format of this file is given
below:
ft_code X Y Z
where ft_code is a feature code associated with a given check point. X, Y and
Z is the
geocentric
position
of the check point in object space. The performance of the relaxer may be
assessed by using a suitable plotting program, for example the UNIRAS based
filter megagraph to display the absolute and relative RMS errors as a function
of the relaxer iteration number:
For a good PAN model, the checkpoint_ARMS residual should be less than about
15 metres.
For a good XS model, the checkpoint_ARMS residual should be less than about
50 metres.
The second file <test_result>.gchk, contains the vector error at each of the independent check points. If N checkpoints are used, <test_results>.gchk will contain N lines, each of the form:
ft_code X Y Z X' Y' Z'
ft_code is the feature code associated with a given check-point. X,Y and Z
is the
measured
geocentric
position of the feature in object space. X', Y', Z' is the corresponding
geocentric
position of the feature code generated by the camera model. This may be
turned into an explicit vector error in a given
local
co-ordinate
system
by using one of the co-ordinate conversion filters such as
gcutm(1),
gcgeo(1),
or
gclz3(1)
in
test
mode.
This vector error may be assessed using a suitable vector display program,
for example the UNIRAS based
vector_plot
program:
The Third file <test_result>.ichk, contains the vector error at each of the independent check points in image space. If N checkpoints are used, <test_results>.ichk wil contain N lines, each of the form:
ft_code X Y X' Y'
where X and Y are the line and sample positions of a given pixel in the image
which has been
measured
by a photogrammetric operative.
X' and Y' are the corresponding points in image space
predicted
by the camera model back-transform.
A full set of error plots may be generated for a particular camera model run
by running the camera model in test mode and then using the shell scripts
SPOTefg and SPOTefp to generate a set of vector plot files. These scripts are
intended to be interactive, and their usage should be self explanatory.
In the statistics file generated with the plot files, the following values
would indicate a
good
PAN camera model:
IRMSE: 0.0-1.5 pixels,
ARMSE: 0.0-15.0 metres [in both plan and height],
RRMSE: 0.0-10.0 metres [in both plan and height].
-gcpf
gcp_point_file
specifies the GCP point file. The control points given within this file are used
to orient the camera to ground. The format of the
gcp_point_file
is identical to the
check_point_file
described above.
-scpf
corner_point_file
tells the program to read in a file of scene corner points which have been
extracted from the SPOT-1 header and converted to geocentric co-ordinates.
There is good reason to believe that inclusion of scene corner will produce
zero GCP model with an absolute RMS plan error of less than 100 metres. The
format of the corner point file is:
ft_code l s X Y Z l' s' X' Y' Z'
where:
[l,s], [l',s'] are the pixel positions of a given corner point in the logical
left and logical right images respectively and [X,Y,Z], [X',Y',Z'] are the
corresponding positions of the scene corner points in the geocentric
co-ordinate system.
The inclusion of scene corner points in the absolute orientation is only
possible with the
-gcp_cost_function
rather than
-rrs_cost_fucntion
flagged.
-prune
limit
shift
prunes
the control and checkpoint datasets using the given
limit
in metres [from the average deviation] as a cut-off. Any point which lies
more than
limit
metres from the average deviation will be rejected.
The use of shift pruning is not recommended unless there
is a reasonable statistical sample [5+] griound control points and/or
checkpoints.
If the shift pruning option is selected with the camera model in
verbose
mode, the individual deviation of each of the shift vectors from the mean is
recorded on
stderr.
This may then be used as an additional tool for dealing with erronious check/
GCP datasets supplied to the camera model.
-max_sh_adev
maximum pruning average deviation
tells
spot1m(1)
the maximum tolerable average deviation for the shift vectors computed during the pruning
operation. If the avergae deviation is greater than this value the orientation/checkpoint
dataset is marked as suspect and further processing by
spot1m(1)
is aborted. This option may be specified only if the
-prune
option is specified. If it is specified with shift pruning disabled a comamnd line parse
error will be generated.
-rrs_cost_function
uses a relaxation cost function which minimises the RMS distance
between the ray-ray space intersections and the supplied ground control points
when performing an absolute orientation.
-cost_ratio
is used to define the weights
absolute
and
skew
which are used by the ray-ray skewness cost function. If unset by the user
these weights default to unity for both components of the cost function.
This command line option will only be recognised if the previous flag is also
present on the command line
-gcpd_cost_function
uses a relaxation cost function which minimises the perpendicular
distance between a given ray and the nearest supplied GCP. This effectively
orients each of the sensor looks in a given SPOT stereo model seperately.
The tests which were conducted under the aegis of the RAE/LSL subcontract
appear to indicate that this option yeilds absolute RMS errors which are
between 2 and 3 metres better than the RRSKEW option described above. Note
-gcpd_cost_function and
-rrs_cost_function
are
mutually
exclusive
options.
-orbit_correction
use an uncorrellated linear orbit shift as input to the cost function used
to determine the absolute orientation.
-la_correction
use linear rotations about the sensor X [along track] and Y [cross track]
reference axes as input to the cost function used to determine the relative
orientation.
-ltsize
set the blocking factor in the line dimension of the sensor. The default value
for this should not, generally be changed. Defaults to 100.
-stsize
set the blocking factor in the sample dimension of the sensor. The default value
for this should not, generally be changed. Defaults to 600.0
-startscene
tells the sensor model which scene is to be considered as the
starting
scene
[the central line of which is line zero] in the case of a
strip
of stereo scenes.
-strpchk
enables strip checking if flagged. The strip checking facility uses the SPOT-1
header files to ensure that headers supplied for a strip are contiguous. If
an out of sequence header is found, an error is generated, and processing
is abandoned.
Note that in the case of strips, the relative overlap between
any
images which preport to be in a strip are calculated from the SPOT-1 headers
irrespective of whether the images are contiguous.
-restricted_ip
tells the camera model in back transform mode to ignore any image space points
which fall outside the default image plane [6000 x 6000 PAN, 3000 x 3000 XS]
of the SPOT-1 camera model.
-shifted_image
line shift in pixels
sample shift in pixels
tells
spot1m(1)
the shifts (in pixels) to be applied to stereo matched data before it is projected into world space.
This option is useful for generating DTM's from data which has been subsampled from SPOT stereo
imagery. Defaults to [0,0] the origin of the SPOT image(s).
-scaled)image
image scaling factor
tells
spot1m(1)
the scaling factor which is to be applied to stereo matched data before it is transformed into
world space. Defaults to 1.0.
The following example shows typical use of the
spot1m
filter to transform a set of
Gruen
stereo matched points from image space to ground space:
cat -n gruen_in | awk '{print $1,$3,$2,$5,$4,$11,$12}' | spot1m -argf
spot1.agf | gclz3 |
compress >ground_dat.Z&
The file spot1.agf contains a
canned
command
tail
for the SPOT-1 filter. A typical example would be:
# example control file for spot1m
# 12th Feburary 1990
# verbose switch on - give a log of all that happens
-verbose
# iteration limit for Powell
-max_iter 100
# use header data to set up model
-hfiles hdr.left hdr.right
# tolerance for fast back-transform
-bt_tol 2.0e-16
# prune input ground control and checkpoint datasets
-prune 4.0
# cost function parameters
-rrs_cost_function
-orbit_correction
-la_correction
# test file parameters
-test check.itir itir.chk
# ground control point file
-gcpf itir.orn
utilib: portable utilities library,
casino: portable random number generator library,
nfolib: portable numerical functions library,
veclib: portable vector/matrix arithmetic library.
mtdlib: multi threaded DLL and process status request protocol library
M.A. O'Neill,
A Kinematic Numerical Model of the SPOT-1 Sensor,
Ph.D. Thesis, University College London, August 1992.