osiv_synth

Langue: en

Version: 146890 (fedora - 04/07/09)

Section: 1 (Commandes utilisateur)

NAME

osiv_synth - generate synthetic PIV images

SYNOPSIS

osiv_synth [...] -f <formula> <file1.tif> <file2.tif>

DESCRIPTION

osiv_synth generates a pair of images for PIV analysis. The undisplayed image is saved as a TIFF file with the filename file1 and the displaced image is saved as a TIFF file with the filename file2.

Parameters can be passed to osiv_synth using two methods. In the first, parameters are passed using options on the command line. In the second, parameters are placed in a text file and the filename is passed using the -p option. These parameters control the methods used to perform the correlation and the nature of the output.

PARAMETER FILE

The parameter file is specified using the -p option. This is a text file which contains parameters in addition to those which are specified on the command line. The format of this file is simple. Each line specifies a single parameter, for example:


    width = 512
    height = 512
    radius = 1.5
    ...

The parameter name used in this file is very similar to that used on the command line (see PARAMETERS). The only difference being that `-' characters in the command line name are replaced with `_' characters in the parameter file. Additional white space is allowed. Blank lines and lines beginning with `#' are ignored.

Parameters from a parameter file are "weak" and may be overwritten by parameters that occur on the command line or that occur in later parameter files. Parsing of parameters occurs in the order which the arguments occur in the command line.

OPTIONS

-f --formula FILE
This is the name of a program used to generate the particle displacements. For more detail on the interface and input to this program see Section FORMULAE. The output of the program should usually have three columns with the x displacement in the first, the y displacement in the second, and the z displacement in the third. It must produce accurate values for all particle locations on the image and within the border around the image. As always, coordinate values are in pixels where the origin is located in the upper-right hand corner of the image.
-l --list
Reasonable default values are automatically chosen for all parameters based on the dimensions of the image and those parameters which are explicitly specified. This option causes osiv_synth to print out the chosen parameters and then exit without performing the correlation.
-w --width INTEGER
The width of the output images in pixels. Defaults to 640.
-h --height INTEGER
The height of the output images in pixels. Defaults to 480.
-d --bits INTEGER
The number of bits per pixel of the output image. This is limited to values between 1 and 16, inclusive. Defaults to 8.
-g --margin INTEGER
The area around the actual image must be seeded with particles so that when the particles are displaced there are no edge effects. This is the size of that border in pixels, it should be at least the size of the largest displacement of any of the border points. Optionally, different values for the x and y borders may be set with the options --x-margin and --y-margin. Defaults to 10.
--x-margin INTEGER
The size of the seeded margin on the left and right of the image. See --margin for more information. Defaults to 10.
--y-margin INTEGER
The size of the seeded margin on the top and bottom of the image. See --margin for more information. Defaults to 10.
--z-margin FLOAT
The thickness of the seeded area in the z-dimension of the image. This is similar to --x-margin and --y-margin, but this is not set affected by --margin. Defaults to 2.
-t --thick FLOAT
The thickness of the light sheet which illuminates the particles. More specifically, particles are illuminated with an intensity which has a Gaussian profile. The light sheet thickness is twice the standard deviation of this profile. Defaults to 1.0.
-n --density FLOAT
The average number of particles per cubic voxel. Defaults to 0.025.
-s --seed INTEGER
An integer used to seed the random number generator. Defaults to 110482.
-r --radius FLOAT
The mean particle radius in pixels. Each particle has a Gaussian profile, the radius is taken as twice the standard deviation of this profile. Defaults to 1.5.
--radius-dev FLOAT
The standard deviation of the particle radii. Defaults to 0.0.
--radius-min FLOAT
The minimum particle radius. Defaults to 0.0.
--radius-max FLOAT
The maximum particle radius. Defaults to the radii average plus two times the radii standard deviation.
-x --bright FLOAT
The mean particle brightness as a value between 0.0 and 1.0. Here 0.0 causes particles not to be drawn and 1.0 causes particles to have the maximum representable value. Defaults to 0.75.
--bright-dev FLOAT
The standard deviation of the particle brightness. Defaults to 0.0.
--bright-min FLOAT
The minimum particle brightness. Defaults to 0.0.
--bright-max FLOAT
The maximum particle brightness. Defaults to the brightness average plus two times the brightness standard deviation.
-m --spacing FLOAT
The particle locations are taken from a uniform distribution, but when a particle location is found to be within some fixed distance of another particle it is rejected and re-sampled. This distance should be specified in pixels. Defaults to 0.

FORMULAE

For several reasons, it would be very difficult to calcuate particle displacements within the program. It would require parsing of complex expressions, and would ultimately limit the versatility of this program. Instead osiv_synth passes the location of the particles to an external program specified by the user that is expected to read these locations and output displacements in a known format. This is simpler to implement and much more powerful.

The interface of the outside program is fixed with the following general form:
program [...] [input file] [output file]

The program should read from the input file if it exists and write to the output file if it exists. Otherwise, the program should read from the standard in and write to the standard out. The input to the program is always a whitespace-delimited text file, where each particle is given a separate line with the particle position represented in three columns. The first column is the x position, the second is the y position, and the third is the z position.

The output of the program should also be a whitespace-delimited text file; however, the user program may or may not include optional columns. The first two columns are mandatory and represent the x and y displacement of the particle. All following columns are optional. The third column is the z displacement of the particle. The fourth column is the size of the particle relative to the given average size (between 0 and 1). The fifth column is the intensity of the particle before displacement relative to the given average brightness (between 0 and 1). The sixth column is the intensity of the particle after the displacement relative to the given average brightness (between 0 and 1). Empty lines and lines beginning with "#" will be skipped. The symbol "*" may be used to skip over an optional column.

For example, to set a displacement of 1 pixel to the right, two pixels upward, and give the particle twice the average intensity you should print the following:


    1.0  -2.0  *  *  2

By default, the z displacement is be zero. The default relative particle size is 1.0. The default relative pre-displacement brightness is 1.0. The default relative post-displacement brightness is equal to the pre-displacement brightness.

MORE INFO

Additional documentation can be found online at www.osiv.org.

SEE ALSO

osiv_corr(1), osiv_dump(1), osiv_draw(1), osiv_tune(1),
readovd(3).

BUGS

No known bugs. Please report bugs as www.osiv.org. Copyright © 2003-2005 James Strother.