Synthetic Data GeneratorΒΆ

The built in synthetic data generator allows for the creation of images containing objects with known velocities to test the image processing and tracking algorithms as well as deduce the limits of the techniques.

_images/synthetic.gif

There are three methods of producing these images that can be selected from the particle generator drop-down list:

  1. gaussian - Seeds the centers of the object with colored pixels, then perfroms a gaussian blur using scipy.ndimage.filter.gaussian_filter
  2. circle - Uses cv2.circle to draw circles at the object locations.
  3. template - copies and blends selected *png files with transparency at the object locations.

A number of other parameters can be changed including:

  1. The particle count can be changed using the Particle Count spinner.
  2. The particle radius in pixels can be changed by changing the from and to spinner values. The actual radius is randomly chosen from that range.
  3. The particle intensity (the actual pixel values of the particle, 0-255) can be selected by changing the from and to spinner values. The actual intensity is randomly chosen from that range.
  4. The particle velocities can be selected by changing the x from, x to, y from, and y to spinner values. As with the other ranges, the actual velocities will be randomly chosen from that range.
  5. The number of frames can be selected by entering a value in the Frames spinner.
  6. The width and height, in pixels, can be changed by entering values in the width and height spinneres.
  7. The level of random noise can be changed by entering a value in the noise spinner. Noise it added to the frame (\(g(i,j) = f(i,j)+n(i,j)\)). Any resulting values greater than 255 are truncated to 255.
  8. Finally, the wall interaction between the particle and the wall can be changed using the Walls spinner.

After the images have been tracked, when displaying the histogram on the post tab, both the measured and true synthetic distributions are plotted.

_images/synth_compare.png