Documentation>C API
VlAIB Struct Reference

AIB algorithm data. More...

#include <aib.h>

Data Fields

vl_uintnodes
 
vl_uint nentries
 
double * beta
 
vl_uintbidx
 
vl_uintwhich
 
vl_uint nwhich
 
double * Pcx
 
double * Px
 
double * Pc
 
vl_uint nvalues
 
vl_uint nlabels
 
vl_uintparents
 
double * costs
 

Detailed Description

The implementation is quite straightforward, but the way feature values are handled in order to support efficient joins, deletions and re-arrangement needs to be explained. This is achieved by adding a layer of indirection:

  • Call each feature value (either original or obtained by a join operation) a node. Nodes are identified by numbers.
  • Call each element of the various arrays (such as VlAIB::Px) an entry.
  • Entries are dynamically associated to nodes as specified by VlAIB::nodes. For example, Px[i] refers to the node nodes[i].

Field Documentation

◆ beta

double* VlAIB::beta

Minimum distance to an entry

◆ bidx

vl_uint* VlAIB::bidx

Closest entry

◆ costs

double* VlAIB::costs

Cost of each merge

◆ nentries

vl_uint VlAIB::nentries

Total number of entries (= # active nodes)

◆ nlabels

vl_uint VlAIB::nlabels

Number of labels

◆ nodes

vl_uint* VlAIB::nodes

Entires to nodes

◆ nvalues

vl_uint VlAIB::nvalues

Number of feature values

◆ nwhich

vl_uint VlAIB::nwhich

Number of entries to update

◆ parents

vl_uint* VlAIB::parents

Array of parents

◆ Pc

double* VlAIB::Pc

Marginal.

◆ Pcx

double* VlAIB::Pcx

Joint probability table

◆ Px

double* VlAIB::Px

Marginal.

◆ which

vl_uint* VlAIB::which

List of entries to update


The documentation for this struct was generated from the following file: