Class ConfigHammingMarker

All Implemented Interfaces:
Configuration, Serializable

public class ConfigHammingMarker extends Object implements Configuration
Defines the dictionary and how they are encoded in a Hamming distance marker.

Values for each pre-defined dictionary comes from ArUco marker 3 source code. [1]

[1] ArUco 3

See Also:
  • Field Details

    • borderWidthFraction

      public double borderWidthFraction
      How wide the border is relative to the total fiducial width. Typically, the width of one square.
    • gridWidth

      public int gridWidth
      Number of cells along each side in the binary grid
    • minimumHamming

      public int minimumHamming
      The minimum hamming distance separating two markers
    • encoding

      How each marker is encoded
    • dictionary

      public HammingDictionary dictionary
      Which dictionary is this based off of. Typically, this will be pre-defined.
    • targetWidth

      public double targetWidth
      Length of a targets size in world units.
  • Constructor Details

    • ConfigHammingMarker

      public ConfigHammingMarker()
  • Method Details

    • checkValidity

      public void checkValidity()
      Description copied from interface: Configuration
      Checks to see if the configuration is valid. If it is invalid, throw an exception explaining what is incorrect.
      Specified by:
      checkValidity in interface Configuration
    • serializeInitialize

      public void serializeInitialize()
      Description copied from interface: Configuration
      Optional function which is called after deserialization and performs initialization
      Specified by:
      serializeInitialize in interface Configuration
    • serializeActiveFields

      public List<String> serializeActiveFields()
      Description copied from interface: Configuration
      Optional functions that tells a serializer which fields are being used and not ignored. a field is ignored when there a "type" and only members of the type are used. If empty then it's assumed all fields are active.
      Specified by:
      serializeActiveFields in interface Configuration
    • setTo

    • bitsPerGrid

      public int bitsPerGrid()
    • addMarker

      public void addMarker(long encoding)
      Adds a new marker with the specified encoding number
    • decodeDictionaryString

      public static ConfigHammingMarker decodeDictionaryString(String text)
      Decodes a string that defined a dictionary in standard format
    • loadPredefined

      public static ConfigHammingMarker loadPredefined(String name)
      Loads a predefined dictionary stored in the the resources
    • loadDictionary

      public static ConfigHammingMarker loadDictionary(HammingDictionary dictionary)
      Creates a predefined dictionary
      dictionary - Which dictionary it should create
      The specified dictionary