Content-type: text/html
-growth_protection
retrys
causes the system to retry an
sbrk(2)
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(2)
fails.
-argf
argument_file
tells the filter 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]
-nice
cardinal
determimes the
niceness
at which the filter is scheduled. In keeping with all UNIX user processes, nice
must be a cardinal between 0 and 20. The default niceness for
cheops
is 19.
-verbose
causes cheops to tell the user exactly what it is doing. The program log is
written to
stderr.
-test
specifies test mode. The shellscript equivalent of the input script is sent
to standard error. In order to use this mode the environmental variable
IMAGE_SIZE must be set to the target image size.
-restart
restarts cheops on the specified
tier
after a system failure. This is only of use if each tier is being matched
sequentially.
-parallel
specifies that each tier is matched in parallel. This option is intended
for use when the harness is run distributively on a network, or within an
appropriate MIMD environment. In this case the
nsh(1)
transparent network shell is used to map the components of the stereo
matching job optimally onto the network.
-image_names
ref image name,
nref image name
specifies the stereo pair which is to be matched via the cheops
harness. These images must be a HIPS PFBYTE format image.
-topdown
selects top down processing. In this case the seedpoints identified in a
low resolution stereopair which have been
reduced
to the
coarse
resolution at the
apex
of the pyramid. This mode is intended for use with the
cascade(1)
autoseeding program for area based stereomatchers
-bottomup
selects bottom up processing. In this case the seedpoints are identified in
the high resolution stereopair which corresponds to the base of the pyramid.
-matcher
ACM stereo matcher
tells
cheops(1)
the name of the ACM stereo matcher which is used to stereo match the imagery at
each tier of the pyramid.
-blunderer
blunder elimination filter
specifies the name of a blunder elimination filter which is (optionally) used to
remove blunder at the end of each tier matching operation within the image pyramid.
-reducer
reducer name
specifies the name of the reduction filter which is used to generate the image
pyramid.
-usage
displays program shortform usage.
-version
displays program version number.
-slots
displays the
pups(3)
dependencies for the application in short format giving version, source language,
programmer and copyright.
-slotinfo
displays the
pups(3)
dependencies for the application in long format giving version, source language,
programmer and copyright.
-tcf
PDL_file_name
identifies the
PDL_file
which is to be used by
cheops.
The
PDL_file
consists of a simple structured language [PDL] which is used to describe the
geometry of the pyramid. A typical script is shown below:
apex 8 # Apex - how many tiers in pyramid
Laplacian 1.8 # Type of pyramid and scaling factor
[laplacian|scale <list of scaling parameters starting from apex>]
tier localhost # Repeated block of commands. If local, the
# command block is run on the local host running
# cheops, otherwise the command block is run on
# the nominated host. For example:
# tier exechost hyperion would run the command block
# on a machine whose hostname is hyperion
pslam -argf arg.agf # Area matcher to be used in this tier
emd # End of matcher descriptions
xtee # Image processing section to xtee and
reduce # reduce images
etier # End of command block
tier 1
pslam -argf arg.agf
emd
etier
end # End of cheops script
The following is a typical example cheops script [to stereo match SIR-B imagery of mount shasta]:
apex 7
laplacian 2
tier localhost
pslam -grid 1 -pthresh 0.85 -patchrad 2
emd
reduce
xtee
etier
tier localhost
pslam -grid 1 -pthresh 0.85 -patchrad 4
emd
reduce
xtee
etier
tier localhost
pslam -grid 1 -pthresh 0.85 -patchrad 6
emd
reduce
xtee
eteir
teir localhost
pslam -grid 1 -pthresh 0.85 -patchrad 8
emd
reduce
xtee
eteir
teir localhost
pslam -grid 1 -pthresh 0.85 -patchrad 8
emd
reduce
xtee
eteir
teir localhost
pslam -grid 1 -pthresh 150 -patchrad 10
emd
reduce
xtee
eteir
teir localhost
pslam -grid 1 -pthresh 150 -patchrad 10
emd
eteir
end
The
apex
statment tells
cheops
how many teirs to expect in the pyramid.
The laplacian/scale statements tell the harness the class of pyramidal
hierachy required. If the laplacian keyword is specified a Laplacian
pyramid of user defined scaling factor is selected. If the scale
keyword is given, the user must supply a list of scaling parameters for
each tier within the pyramid. The two keywords
teir
and
eteir
enclose a body of command tokens which describe the processing operations
which are to applied to a teir. The first entry in the teir-body is always
the stereomatching command to applied to this teir. The other commands which
appear in the body are image processing commands which are to be applied to
the input image stereopair for this teir in the pyramid. Generally, any HIPL
filter may be applied in this part of the teir body. These commands will then
be used to generate a HIPL command pipeline [for both the left and right
image]. The order of commands in this pipeline reflect the order in which the
corresponding command tokens are given in the teir-body. The HIPL filter
reduce
must appear in the teir body of every teir except the base teir. The standard
UNIX filter
xtee
is used by
cheops
as a mechanism for producing intermediate output. If xtee is specified,
compressed image files and stereo-matcher output will be produced for each
teir in the pyramid. The image data will be found in files of the form:
tindex.<teir>.<pid>.Z
where <teir> is the teir level, and <pid> is the process identifier for cheops.
The intermediate stereomatcher output will be found in files of the form:
grout.<teir>.<pid>.Z
where <teir> and <pid> have the same meaning as above.
The example script given above 'compiles' into the following shellscript sequence:
cheops version 1.54 (c) M.I. Denos [IBM], M.A. O'Neill, 1992
test mode
teir command file is shasta.pyr
Processing mode: bottom up
Expansion of pyramid
====================
expanding teir statement 1
0: nice csh -c 'reduce 64 <dummy.left | xtee image.look268.0.t0 >red.left.268; compress image.look268.0.t0 ; reduce 64 <dummy.right | xtee image.look268.0.t0 >red.right.268; compress image.look268.0.t0 ; pslam -grid 0 16 1 0 16 1 -pthresh 0.85 -patchrad 2 -image_names red.left.268 red.right.268 <match.in.268| xtee grout.268.t0 >match.out.268; compress grout.268.t0'
expanding teir statement 2
1: nice csh -c 'reduce 32 <dummy.left | xtee image.look268.1.t0 >red.left.268; compress image.look268.1.t0 ; reduce 32 <dummy.right | xtee image.look268.1.t0 >red.right.268; compress image.look268.1.t0 ; pslam -grid 0 32 1 0 32 1 -sthresh 0.2 -pthresh 50 -patchrad 4 -image_names red.left.268 red.right.268 <match.in.268| xtee grout.268.t1 >match.out.268; compress grout.268.t1'
expanding teir statement 3
2: nice csh -c 'reduce 16 <dummy.left | xtee image.look268.2.t0 >red.left.268; compress image.look268.2.t0 ; reduce 16 <dummy.right | xtee image.look268.2.t0 >red.right.268; compress image.look268.2.t0 ; pslam -grid 0 64 1 0 64 1 -pthresh 0.85 -patchrad 6 -image_names red.left.268 red.right.268 <match.in.268| xtee grout.268.t2 >match.out.268; compress grout.268.t2'
expanding teir statement 4
3: nice csh -c 'reduce 8 <dummy.left | xtee image.look268.3.t0 >red.left.268; compress image.look268.3.t0 ; reduce 8 <dummy.right | xtee image.look268.3.t0 >red.right.268; compress image.look268.3.t0 ; pslam -grid 0 128 1 0 128 1 -pthresh 0.85 -patchrad 8 -image_names red.left.268 red.right.268 <match.in.268| xtee grout.268.t3 >match.out.268; compress grout.268.t3'
expanding teir statement 5
4: nice csh -c 'reduce 4 <dummy.left | xtee image.look268.4.t0 >red.left.268; compress image.look268.4.t0 ; reduce 4 <dummy.right | xtee image.look268.4.t0 >red.right.268; compress image.look268.4.t0 ; pslam -grid 0 256 1 0 16 1 -pthresh 0.85 -patchrad 8 -image_names red.left.268 red.right.268 <match.in.268| xtee grout.268.t4 >match.out.268; compress grout.268.t4'
expanding teir statement 6
5: nice csh -c 'reduce 2 <dummy.left | xtee image.look268.5.t0 >red.left.268; compress image.look268.5.t0 ; reduce 2 <dummy.right | xtee image.look268.5.t0 >red.right.268; compress image.look268.5.t0 ; pslam -grid 0 512 1 0 512 1 -pthresh 0.85 -patchrad 10 -image_names red.left.268 red.right.268 <match.in.268| xtee grout.268.t5 >match.out.268; compress grout.268.t5'
expanding teir statement 7
6: nice csh -c 'pslam -grid 0 1024 1 0 1024 1 -pthresh 0.85 -patchrad 10 -image_names dummy.left dummy.right <match.in.268 >dummy.out'
end of dummy run
The tier keyword may be postfixed by the following verbs:
localhost: indicates that the next tier is to be run on the current host.
exechost <hostname>: indicates that the next tier is to be run on the
specified host.
besthost: indicates that
vsh(1)
is to be invoked to run the next tier on the host which is currently least
loaded.
The following are examples of valid syntax for a verb qualified tier
statement:
teir localhost
Process tier on local host [running cheops].
tier exechost hyperion
Select host hyperion to proecess next tier.
tier besthost
Invoke
nsh(1)
to process the next tier on the least loaded host.
Denos M.I, and M.A. O'Neill,
An automated system for coarse to fine area correlation matching,
Image and Vision Computing, Submitted, 1992
Libraries: (C) 1985-2000 Digital Vision.
pslam(1),Otto-Chau(1),nsh(1),xxtee(1),fsw(1),
blunder(1),pups(3)