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.
There are three methods of producing these images that can be selected from the particle generator drop-down list:
- gaussian - Seeds the centers of the object with colored pixels, then perfroms a gaussian blur using scipy.ndimage.filter.gaussian_filter
- circle - Uses cv2.circle to draw circles at the object locations.
- template - copies and blends selected
*png
files with transparency at the object locations.
A number of other parameters can be changed including:
- The particle count can be changed using the
Particle Count
spinner. - The particle radius in pixels can be changed by changing the
from
andto
spinner values. The actual radius is randomly chosen from that range. - The particle intensity (the actual pixel values of the particle, 0-255) can
be selected by changing the
from
andto
spinner values. The actual intensity is randomly chosen from that range. - The particle velocities can be selected by changing the
x from
,x to
,y from
, andy to
spinner values. As with the other ranges, the actual velocities will be randomly chosen from that range. - The number of frames can be selected by entering a value in the
Frames
spinner. - The width and height, in pixels, can be changed by entering values in the
width
andheight
spinneres. - 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. - 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.