Content-type: text/html
left_y, left_x, right_y, right_x
It should be noted that the conjugate point co-ordinates now conform to the line and sample convention used by the O'Neill-Dowman SPOT-1 camera model spot1m(1) The earlier gruens(1) algorithm uses a reversed co-ordinate set:
left_x, left_y, right_x right_y
The output produced by the stereo matcher is a list of conjugate points. The
form of the output line is
left_y, left_x, right_y, right_x, s11, s12, s21, s22, iters, rg, prec
left_y
and
left_x
are the co-ordinates of the conjugate point in the left [reference] image.
right_Y
and
right_x
are the co-ordinates of the conjugate point in the right [non-reference] image
if the matcher is working in absolute mode. In disparity mode, they are the
x and y disparities between the two images. The next four fields,
s11,
s12,
s21,
s22
give the local shaping information, that is a measure of the right image
distortion about the conjugate point.
iter
gives the number of iterations to convergence,
rg
gives the radiometric gain between the two images and
prec
gives the Kendall-tau precision associatd with the match.
-verbose
Be verbose and tell the user what is happening. Log output goes to
stdout
-usage prints a usage string and then exits. ,br
-slots
prints
pups(3)
library dependencies in short format for this program and then exits.
-slotinfo
prints
pups(3)
library dependencies in long format for this program and then exits.
-version
prints current program version number then then exits.
-argf
<argument file>
reads the command tail from and argument file. The data format for the argument
file is:
# ... optional comment ...
-argflag <parameter list>
# ... optional comment ...
-argflag <parameter list>
-nice
<nice level>
sets the scheduling level of the program. As this code is CPU intensive nice 10
to nice 19 is recommended to avoid falling foul of the system administrator or
be heckled by other users!
-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.
-min_match_rate
match_rate
tells
pslam(1)
to impose a minimum match rate. If no theshold is specified a default minimum match
rate of 50 points per second is used. Otherwise, a match rate of
match_rate
points per second is used. If the current patch radius exceed the nominal radius and
the match rate falls below
match_rate
points per second, the queue focus is switched to the next priority queue. If all queues
are empty, or have match rates below the user enforced limit,
pslam(1)
exits. Note if the host running
pslam(1)
supports a
/proc
filesystem,
match_rate
is scaled to take load average into account when computing the minimum match rate threshold.
-no_patch_shuffling
disables
patch shuffling
which is used by both
Kendall-tau
and
cross corrleation
correlators to estimate the degree of random correlation between patches.
Defaults to TRUE, but certain forms of imagery (e.g. SAR amplitude imagery) may
be processed faster if patch shuffling is disabled.
-blimit_ratio
fail_percent
tells
pslam(1)
the percentage of pixels within a pair patches to be matched which can have the
no_data
value and matching still occur. This option is intended to stop spurious matching
off the edge of large scale objects captured in vision cells. Defaults to 10%.
-ncc
specifies that
cross corellation
and opposed to
Kendall-tau
correlation should be used to compare image patches.
-geometry_feedback
precision_limit
tells
pslam(1)
to use skewness (misclosure) data (from the camera model) to compute precision. This is used to set
up the following precion measure: if (skewness > prec_limit) then prec = 1.0;
if (skewness < prec_limit) then prec = skewness/prec_limit.
-conjugate_point | -disparity_mode
selects whether the matcher operates in absolute or disparity mode. In absolute
mode
right_y
and
right_x
are the co-ordinates of the conjugate point in the right hand image. In
disparity mode they are the y and x disparities relative to the left hand
image.
-auto_patch
Enables automatic patch dilation. With this option enabled the size of the patch correlated is
adaptively adjusted using the precision parameter. This permits the algorithm to cope with areas
of the imagery to be matched containing noise.
-precstat_limits
tells
pslam(1)
to use the cumulative mean precision and its average deviation to control patch resizing. If
the current precision is greater than the cumulative mean by two average deviations the size of the
patch is incremented; if it is less than the cumulative mean by two standard deviations, the patch size
is decremented. This option and the
-ld_limit
and
-ud_limit
options are mutually exclusive.
-ld_limit
Sets the precision value below which the correlation patch size is reduced (dilated down).
Defaults to (0.35). Note this command option is only accepted if
-auto_patch
is selected.
-ud_limit
Sets the precision above which the correlation patch is increased in size (dilated up).
Defaults to 0.60. Note this command option is only accepted if
-auto_patch
is selected.
-auto_foveate
Tells the alogrithm to automatically foveate (stretch) the correlated image patches. The magnitude
of the stretch is a function of the predicted precsions measure. This option is used in conjunction with the
-auto_patch
option to enhance the performance of the algorithm in noisy regions of the imagery.
-trust_seeds
tells
pslam(1)
to trust seed points. If the seed points are trusted, the stereo matcher will
insert them into the priority queue without testing whether they match first.
The default is not to trust seed points.
-grid
<start_x>
<nx>
<step x>
<start_y>
<ny>
<step_y>
determines the size, position and density of the conjugate point sheet
generated.
start_x
and
start_y
are the co-ordinates of the start of the match grid,
nx
and
ny
are the [maximum] number of conjugates in the match grid and
step_x
and
step_y
are the number of pixels between successive conjugate points in the match
grid. It is recommended that
nx
and
ny
of 4 or 8 is used with this version of the algorithm. The values assigned to
the other parameters is left to the discretion of the programmer.
-initial_distortion
<s11>
<s12>
<s21>
<s22>
is used to assign an intial values to the matrix elements of the shaping matrix.
This may be useful if the mean distortion expected between the left and right
images is known. The inbuilt defaults are s11=1.0, s12=0.0, s21=0.0, s22=1.0.
It is recommended that these defaults are not changed.
-maxiter <iterations> set the maximum number of iterations. Points taking more iterations than this to relax are assumed to be in error and are discarded. Current default value is 20.
-termination remapping
<dx>
<dy>
<ds11>
<ds12>
<ds21>
<ds22>
is used to set the termination value associated with each of the distortion
parameters. The defaults are 0.1, 0.1, 0.01, 0.01, 0.01, 0.01 respectively.
If
all
distortion parameters fall under these thresholds then the conjugate point
is assumed to be located.
-pthresh
<precision threshold>
sets the precision threshold parameter. This uses the Kendall tau measure and
therefore lies between 0.0 [no matches accepted] to 1.0 [every match accepted].
The default value for this parameter is 0.75. A value of precision threshold
between 0.6 and 0.8 is recommended.
-compressed_images
uses the
pups(3)
utilities to transparently de-compress a HIPS files compressed using
compress(1)
before they are loaded.
-write_rejected_seeds <file name> saves rejected seeds to the file file_name for subsequent analysis.
-seed_scale
<seedpoint scaling factor>
tells
pslam(1)
to scale input seeds using the seedpoint scaling factor given. This option is intended to
be used by stereomatching harnesses such as the
cascade(1)/cheops(1)
autoseeder and the
itg(1)
automated stereo DTM production harness. Defaults to 1 (do not scale input
seeds).
-show_match_count
tells
pslam(1)
to output the number of points matched. This option is intended to be used in
conjunction with automatic stereomatching harnesses such as the
cascade(1)/cheops(1)
autoseeder and the
itg(1)
automated stereo DTM production harness. Defaults to FALSE (do not print number of
points matched).
-clean_queue
tells the algorithm to invoke a queue cleaning thread. This searches the priority queue for points
which are surrounded by 4 neighbours (and therefore cannot be grown from) and deletes them releasing
queue memory for points which can be grown from.
-shortest_cleaned_queue
queuesize
specifies the queue size above which the queue cleaner thread become active. Note this option is only
accepted if the
-clean_queue
option is selected. Defaults to 500.
-gdc
gd radius
sets the size of the neighbourhood for computing the local disparity constraint. Default to 2
(neighbourhood contains 25 disparities).
-gd_m_thresh
global disparity magnitude theshold
specifies by how many percent a disparity vector can vary in length from that of its neighbours within
a region of radius
gdc radius
and still be considered to be a correct match.
-B -gd_a_thresh
global disparity angular threshold
specifies the maximum amount (in degrees) the direction of a disparity vector can vary from that of its
neighbours within a region of radius
gdc radius
and still be considered to be a correct match.
-d_mag_thresh
disparity magnitude threshold
specifies how much the magnitude of the disprity vector of a relaxed point can differ from that of
its predictor point and still be considered to be a correct match. Default range 0.5 - 2.0.
This option only takes effect if global disparity constraint is disabled
-d_angle_thresh
disparity angular threshold
specifies how much the angle of the disparity vector of a relaxed point can differ from that of its
predictor and still be considered a correct match. Defaults to 2.5 degrees.
This option only takes effect if global disparity constraint is disabled
-cache_mode
lines in MVM image cache
specifies the number of lines which are cached into the process address space when operating in MVM paged
mode. This option has been added to permit the stereomatching of large images on small memory machines.
Defaults to FALSE (no caching).
-done_cache_mode
tells
pslam(1)
to cache the done array (which records points which are matched). This option is intended to facilitate
efficient memory management when matching very large images.
-prior_q_limit
maximum seeds
specifies the maximum number of seeds to be inserted onto each of the priority queues. Defaults to 50.
-n_priority_queues
number of priority queues
specifies the number of priority queues to be used. Uising multiple priority queues improves the
throughput of the algorithm when memory resources are limited. For a 32Mb machine matching SPOT-1 PA
images on a 4 pixel grid, 8-16 priority queues gives an adequate throughput when the algorithm is being
operated in MVM cached mode. Defaults to 1.
-queue_focus_migratory
Permits the correlation focus to wander over multiple queues as dictated by the best first sheet growing
strategy. Note this option is mutually exclusive to
-queue_focus_sedentary.
-queue_focus_sedentary
Keeps the correlation focus within the current queue until the queue has emptied. This should limit the
memory resources required for matching even further. Formally this is very similar to the geometric
parallelism introduced by Holden et al at UCL in their Transputer implementation of the UCL prototypical
stereo-matcher. Note this option is mutually exclusive to
-queue_focus_migratory.
-sl
sets sample and line mode for output conjugate data (as the UCL
gruens(1)
algorithm. Defaults to line and sample (as
spot1m(1).
-gdc
global disparity radius in match grid units
global disparity limit in degrees
tells
pslam(1)
to checked matched points using a simple global disparity contraint which contrains
the directions nad magnitudes of all disparity vectors in the contraint tile (of radius
global disparity radius
to be within
global disparity limit
degrees of each other. At present this contraint makes use of the fact that the first
entries in the global disparity checking array are liable to be correct (because of the
best first nature of the sheet growing process). This may still allow some blunder to
be propagated to the camera model and hence to the Kriger.
The disparity angular constraint is set via the
-gd_a_thresh
angle threshold
(in degrees) flag, and the (percent magnitude) threshold via the
-gd_s_thresh
magnitude threshold
(percent) flag. These default to 5 degrees and 50% respectively, and are only valid
command tail options if the
-gdc
flag has been previously set.
-output_scale
scale factor
tells
pslam(1)
to scale output stereo points by the factor
scale factor.
Defaults to 1.0.
-ref_output_offset
X offset,
Y offset
tells
pslam(1)
to offset the X and Y co-ordinates (in the reference image) by
X offset
and
Y offset
respectively. Defaults to [0.0] (no offset).
-nref_output_offset
X offset,
Y offset
tells
pslam(1)
to offset the X and Y co-ordinates (in the non reference image) by
X offset
and
Y offset
respectively. Defaults to [0.0] (no offset).
-image_names
ref_image, nref_image
specifies the images which are to be matched.
-statefile
statefile name
tells
pslam(1)
to checkpoint itself. The state of the computation is written to the file
statefile name.
Checkpointing enables a computation to be recovered if the machine on which it
is running crashes. It may also be used if the computation is migrated to a
machine with more resources.
-checkperiod matches tells pslam(1) how many matches to process before the statefile is updated. Defaults to 8192 matches. This option has no effect unless the -statefile option has been specified.
-restart
statefile name
tells
pslam(1)
to restart a computation whose state is stored in
statefile.
-DUSE_GEOMTRY_FEEDBACK
tells compiler to use precision measure which is based on skewness (misclosure)
read from camera model
-DDEBUG
tell compiler to switch on debugging code.
-DDUMP_PATCHES
tell compiler to enable patch dumping code. This dumps the patches associated
with each image to HIPS byte files for subsequent analysis
-DNO_NET
tell compiler not to compile network [TCP/IP] specific code from
pups(3)
libraries.
Libraries: (C) 1985-2000 M.A. O'Neill