Into

Modules

Documentation

classPiiQuantizer

#include <PiiQuantizer.h>

A class that quantizes (floating point) values to integers.

Description

Each quantization level corresponds to a continuous range of values.

Constructors and destructor

( )

Create a new quantizer with quantization limits.

Create a new quantizer.

Public member functions

unsigned int
( )

Get the number of quantization levels.

PiiMatrix< T >
( )

Get the current limits.

unsigned int
( )

Get the maximum quantization index.

int
(
  • T value
)

Quantize a (floating-point) value to an integer (quantization level index).

void
( )

Set quantization limits.

Static public member functions

static PiiMatrix< T >
( )

Create limits based on a set of "training" data.

Function details

  • PiiQuantizer

    ( )
    [inline]

    Create a new quantizer with quantization limits.

    See setLimits() for details.

  • PiiQuantizer

    ()
    [inline]

    Create a new quantizer.

  • unsigned int levels

    ()
    [inline]

    Get the number of quantization levels.

  • PiiMatrix< T > limits

    ()
    [inline]

    Get the current limits.

  • unsigned int maxValue

    ()
    [inline]

    Get the maximum quantization index.

    This is a convenience function that returns levels()-1.

  • int quantize

    (
    • T value
    )

    Quantize a (floating-point) value to an integer (quantization level index).

  • void setLimits

    ( )
    [inline]

    Set quantization limits.

    Quantization limits are represented as a row matrix of monotonically increasing numbers.

     PiiQuantizer<float> q;
     PiiMatrix<float> limits(1,4, 0.0, 0.1, 0.5, 0.7);
     q.setLimits(limits);
     q.quantize(0.3); // returns 2
     q.quantize(-1.0); // returns 0
    
  • static PiiMatrix< T > divideEqually

    ( )
    [static]

    Create limits based on a set of "training" data.

    Quantization boundaries are derived from the training data so that each quantization range has an equal number of entries.

     PiiMatrix<int> data(1,9, 5, 2, 1, 1, 3, 4, 1, 5, 5);
     PiiMatrix<int> levels(PiiQuantizer<int>::divideEqually(data, levels));
     // returns (2, 5)
     PiiQuantizer<int> q(levels); // converts ints to ints
    

    Note that data may be modified. Best performance is attained if data is a contiguous matrix.

Notes (0)

Add a note

Not a single note added yet. Be the first, add yours.