Skip to main content

Module decoder

Module decoder 

Source
Expand description

Tag decoding traits and implementations. Tag decoding, homography computation, and bit sampling.

This module handles the final stage of the pipeline:

  1. Homography: Computing the projection from canonical tag space to image pixels.
  2. Bit Sampling: Bilinear interpolation of intensities at grid points.
  3. Error Correction: Correcting bit flips using tag-family specific Hamming distances.

Structs§

AprilTag16h5
Decoder for the AprilTag 16h5 family.
AprilTag36h11
Decoder for the AprilTag 36h11 family.
ArUco4x4_50
Decoder for the ArUco 4x4_50 family.
ArUco4x4_100
Decoder for the ArUco 4x4_100 family.
Homography
A 3x3 Homography matrix.
HomographyDda
A Digital Differential Analyzer (DDA) for incremental homography projection.

Traits§

TagDecoder
A trait for decoding binary payloads from extracted tags.

Functions§

compute_homographies_soa
Compute homographies for all active quads in the batch using a pure-function SoA approach.
decode_batch_soa
Decode all active candidates in the batch using the Structure of Arrays (SoA) layout.
family_to_decoder
Convert a TagFamily enum to a boxed decoder instance.
rotate90
Rotate a square bit grid 90 degrees clockwise. This is an O(1) bitwise operation but conceptually represents rotating the N x N pixel grid.
sample_grid
Sample the bit grid from the image (Legacy/Hard wrapper).
sample_grid_generic
Sample the bit grid from the image using the homography and decoder points.
sample_grid_soa
Sample the bit grid using Structure of Arrays (SoA) data.
sample_grid_soa_precomputed
Sample the bit grid using Structure of Arrays (SoA) data and a precomputed ROI cache.