Standard Object Types

Specifying an Object Type

The desired object type is specified in the [object] section of a configuration file using the object_type parameter, for example object_type = circle (see Configuration File).

2-Dimensional Objects

Current standard object types are:

circle, ellipse, rectangle, square, superquadric.

../../_images/object-types-2d.png

See Section Marks Details for details about the respective marks of the object types.

3-Dimensional Objects

Current standard object types are:

ellipsoid.

../../_images/object-types-3d.png

See Section Marks Details for details about the respective marks of the object types.

Marks Details

Note

The mark ranges in a configuration file are named with the name of the mark followed by the suffix “_rng”, for example radius_rng for the mark radius.

The desired mark ranges are specified in the [object ranges] section of a configuration file (see Configuration File). To specify a mark range, use one of the following statements

  • MARK_NAME_rng = (min_desired_value, max_desired_value)
  • MARK_NAME_rng = (min_desired_value, max_desired_value, value_precision)
  • Examples: radius_rng = (0, 10) and radius_rng = (0, 10, 2)

If no precision is given, then the detection algorithm will generate random mark values uniformly in the given interval at machine precision. Otherwise, the random values will be uniformly drawn among the values in the given interval that can be written min_desired_value + k * value_precision where k is an integer.

The following table describes the marks of the standard object types. Some values might be rounded. Yet, one can identify typical multiples or fractions of \(\pi\). Very large or tiny numbers will often correspond to limit values of the floating point representation used in the code.

Object Mark Type Valid Range Default Range Default Precision
           
2-Dimensional Objects
           
circle radius float ]0.0, 1.8e+308] None 0.5
           
ellipse semi_minor_axis float ]0.0, 1.8e+308] None 0.5
  major_minor_ratio float [1.0, 1.8e+308] (1.0, 2.0) None
  angle float [0.0, 3.14[ (0.0, 3.14) 0.0436
           
rectangle semi_minor_axis float ]0.0, 1.8e+308] None 0.5
  major_minor_ratio float [1.0, 1.8e+308] (1.0, 2.0) None
  angle float [0.0, 3.14[ (0.0, 3.14) 0.0436
           
square half_side float ]0.0, 1.8e+308] None 0.5
  angle float [0.0, 1.57[ (0.0, 1.57) 0.0218
           
superquadric semi_minor_axis float ]0.0, 1.8e+308] None 0.5
  major_minor_ratio float [1.0, 1.8e+308] (1.0, 2.0) None
  minor_exponent float ]0.0, 1.8e+308] None None
  major_exponent float ]0.0, 1.8e+308] None None
  angle float [0.0, 3.14[ (0.0, 3.14) 0.0436
           
3-Dimensional Objects
           
ellipsoid semi_minor_axis float ]0.0, 1.8e+308] None 0.5
  major_minor_ratio float [1.0, 1.8e+308] (1.0, 2.0) None
  third_minor_ratio float ]0.0, 1.8e+308] (1.0, 1.0) None
  rc_angle float [0.0, 3.14[ (0.0, 3.14) 0.0436
  rd_angle float [0.0, 6.28[ (0.0, 6.28) 0.0873