Content-type: text/html Manpage of CHEOPS

CHEOPS

Section: PSLAM stereo pipeline (1)
Updated: 26th Decemebr 2000
Index Return to Main Contents
 

NAME

cheops - The great pyramid of cheops: Pyramidical processing harness for area based stereomatchers.

 

SYNOPSIS

cheops [ -nice cardinal ][ -version ][ -verbose ][ -usage ][ -growth_protection retries ][ -slots ][ -slotinfo ][ -argf argument file ][ -help ][ -test ][ -restart tier ][ -parallel ][ -image_names ref image name, nref image name ][ -tcf PDL script_file_name ][ -topdown ][ -bottomup ][ -matcher ACM stereo matcher ][ -blunderer (inter tier) blunder eliminator ][ -reducer image reducers (used to generate image pyramid) ] < <ASCII seed point file> > <ASCII list of stereo points>

   

DESCRIPTION

cheops provides a harness for pyramidical stereo matching using an area texture based stereo matcher such as the Otto-Chau or PRISM algorithms. Cheops simplifies the task of pyramidical processing by automatically generating a sutiable shell script to stereo match using either bottom up, or top down seeded pyramidical processing. The match pyramid is specified via a simple command language which specifies the operations which will be carried out at each tier of the computation. The final match points produced by the pyramidical matching scheme is sent to a specified file. The cheops harness expects seed and matcher output data to be in the same format as the pslam(1) algorithm.

   

OPTIONS


  -help invokes the on-line context help system for this application. This "man" page is displayed. The process then exits.

-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.

 

LIBRARIES

cheops(1) uses the pups(3) libraries.

 

SUPPORT FUNCTIONS

cheops(1) requires the filters xxtee(1) and fsw(1) in order to function correctly

 

SIGNALS

SIGUSR2 is used to support PSRP event handling SIGTERM is caught (to clear temporary files on exit)

 

PSRP INTERACTIVITY

Supports interactive querying while running using Process Status Request Protocol [PSRP], see psrp(1).
 

REFERENCES

Denos M.I, and M.A. O'Neill, An automated system for coarse to fine area correlation matching, Image and Vision Computing, Submitted, 1992

 

COPYRIGHT

Program: (C) 1990-2000 Digital Vision.

Libraries: (C) 1985-2000 Digital Vision.

 

PROGRAMMERS

M.A. O'Neill, M.I. Denos.
   

SEE ALSO

pslam(1),Otto-Chau(1),nsh(1),xxtee(1),fsw(1), blunder(1),pups(3)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
LIBRARIES
SUPPORT FUNCTIONS
SIGNALS
PSRP INTERACTIVITY
REFERENCES
COPYRIGHT
PROGRAMMERS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 10:23:07 GMT, May 07, 2001