SwisTrack/Components/SimulationParticles

Description
Reads particle information from an NMEA file and injects them as if they had been discovered on the image. This is useful for debugging and testing your own scripts/programs that use the information received from SwisTrack for further processing.

The particles are provided in world coordinates and are injected as if there was an overhead camera (with ideal characteristics) observing them. Particles that lie outside the (virtual) camera image are discarded, whereas particles inside the image are transformed to their respective position on the (virtual) camera image. Note that particles are not distorted in this process. (The pixel size, for example, does not have any influence on the precision of the results.)

Input
None.

Output
Particles.

Simulation file
Path to the file with the particle information. The file must contain NMEA records in the same way SwisTrack outputs them (and can therefore easily be created by dumping the output to a file). Such a file looks as follows:

$STEP_START $FRAMENUMBER, 1 $PARTICLE, 0, 309.617689, 4529.966548, 0.087278 $PARTICLE, 1, 1801.304351, 2320.237792, -2.251863 $STEP_STOP $STEP_START $FRAMENUMBER, 2 $PARTICLE, 0, 309.617689, 4529.966548, 0.087278 $PARTICLE, 1, 1801.304351, 2320.237792, -2.251863 $STEP_STOP ...

The coordinates are supposed to be world coordinates.

Camera origin
The position (world coordinates) of the upper left pixel of the camera.

Orientation
The rotation of the camera with respect to the world coordinate system. An angle of 0 means that the camera's X axis is the same as the world's X axis.

Pixel size
The size of a pixel in world coordinates. Pixels are assumed to be square.

Camera size
The size of the camera image in pixels. The effective size (in world coordinates) of the camera image are these values multiplied by the pixel size.