TwiceAsNice  2019-02-18
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Laos::LaosLutCreator Class Reference

#include <LaosLutCreator.h>

Collaboration diagram for Laos::LaosLutCreator:
Collaboration graph

Public Member Functions

void createLut (const Nice::JointPtr &_config)
 
void createLutFromMask (const Nice::JointPtr &_config, const Nice::SeqDynamicBitset &_mask)
 
const Nice::SeqIntgetSlopeLut ()
 
const Nice::SeqIntgetDisplayLut ()
 
const Nice::SeqIntgetBcuLut ()
 
const Nice::SeqDynamicBitsetgetPupilMask ()
 
Nice::SeqDynamicBitset createMask (float _radius, const Nice::SeqPoint &_pupilCenter)
 
Nice::SeqDynamicBitset createMaskForFullImage (float _radius, const Nice::SeqPoint &_pupilCenter)
 
void createLut (const Nice::JointPtr &_config)
 
void createLutFromMask (const Nice::JointPtr &_config, const Nice::SeqDynamicBitset &_mask)
 
const Nice::SeqIntgetSlopeLut ()
 
const Nice::SeqIntgetDisplayLut ()
 
const Nice::SeqIntgetBcuLut ()
 
const Nice::SeqDynamicBitsetgetPupilMask ()
 
Nice::SeqDynamicBitset createMask (float _radius, const Nice::SeqPoint &_pupilCenter)
 
Nice::SeqDynamicBitset createMaskForFullImage (float _radius, const Nice::SeqPoint &_pupilCenter)
 
void createLut (const Nice::JointPtr &_config)
 
void createLutFromMask (const Nice::JointPtr &_config, const Nice::SeqDynamicBitset &_mask)
 
const Nice::SeqIntgetSlopeLut ()
 
const Nice::SeqIntgetDisplayLut ()
 
const Nice::SeqIntgetBcuLut ()
 
const Nice::SeqDynamicBitsetgetPupilMask ()
 
Nice::SeqDynamicBitset createMask (float _radius, const Nice::SeqPoint &_pupilCenter)
 
Nice::SeqDynamicBitset createMaskForFullImage (float _radius, const Nice::SeqPoint &_pupilCenter)
 

Static Public Member Functions

static LaosLutCreatorinstance (const Nice::JointPtr &_config)
 
static LaosLutCreatorinstance ()
 
static LaosLutCreatortempInstance (const Nice::JointPtr &_config)
 
static LaosLutCreatorinstance (const Nice::JointPtr &_config)
 
static LaosLutCreatorinstance ()
 
static LaosLutCreatortempInstance (const Nice::JointPtr &_config)
 
static LaosLutCreatorinstance (const Nice::JointPtr &_config)
 
static LaosLutCreatorinstance ()
 
static LaosLutCreatortempInstance (const Nice::JointPtr &_config)
 

Private Member Functions

 LaosLutCreator (const Nice::JointPtr &_config)
 
void echanger (Nice::SeqInt &table, const int i, const int j)
 
Nice::SeqInt triABulle (Nice::SeqInt tableau)
 bubble sort of an integer vector. More...
 
Nice::SeqInt triABulle (const int *tableau, const int size)
 
Nice::SeqInt setPixelReadOrder (const Nice::SeqSize &_readOrder, Nice::Size _channels)
 
void fillPixelType (const Nice::SeqPoint &_pupilCenter)
 
Nice::SeqInt reorderPixel ()
 
Nice::SeqInt createBcuLut ()
 
Nice::SeqInt createDisplayTable ()
 
Nice::SeqInt createSlopeTable ()
 
void checkIfPupilsInsideOfQuadrant (float _radius, const Nice::SeqPoint &_pupilCenter)
 Test whether the 4 squares of the size defined by this quadrant fit within a circle. More...
 
 LaosLutCreator (const Nice::JointPtr &_config)
 
void echanger (Nice::SeqInt &table, const int i, const int j)
 
Nice::SeqInt triABulle (Nice::SeqInt tableau)
 
Nice::SeqInt triABulle (const int *tableau, const int size)
 
Nice::SeqInt setPixelReadOrder (const Nice::SeqSize &_readOrder, Nice::Size _channels)
 
void fillPixelType (const Nice::SeqPoint &_pupilCenter)
 
Nice::SeqInt reorderPixel ()
 
Nice::SeqInt createBcuLut ()
 
Nice::SeqInt createDisplayTable ()
 
Nice::SeqInt createSlopeTable ()
 
void checkIfPupilsInsideOfQuadrant (float _radius, const Nice::SeqPoint &_pupilCenter)
 
 LaosLutCreator (const Nice::JointPtr &_config)
 
void echanger (Nice::SeqInt &table, const int i, const int j)
 
Nice::SeqInt triABulle (Nice::SeqInt tableau)
 
Nice::SeqInt triABulle (const int *tableau, const int size)
 
Nice::SeqInt setPixelReadOrder (const Nice::SeqSize &_readOrder, Nice::Size _channels)
 
void fillPixelType (const Nice::SeqPoint &_pupilCenter)
 
Nice::SeqInt reorderPixel ()
 
Nice::SeqInt createBcuLut ()
 
Nice::SeqInt createDisplayTable ()
 
Nice::SeqInt createSlopeTable ()
 
void checkIfPupilsInsideOfQuadrant (float _radius, const Nice::SeqPoint &_pupilCenter)
 

Private Attributes

Nice::Size m_Size
 
Nice::Size m_Channnels
 
Nice::U16 m_nPixelSlopes
 
Nice::U16 m_nPixels
 
std::vector< std::vector< std::pair< int, int > > > m_readOrder
 
Nice::SeqInt m_nRead
 
Nice::SeqInt m_pixelType
 
Nice::SeqInt m_pixelOrder
 
Nice::SeqInt m_order
 
Nice::SeqInt m_nSspp
 
Nice::SeqInt m_ess
 
Nice::SeqInt m_LUT
 
Nice::SeqInt m_slopeTable
 
Nice::SeqInt m_displayTable
 
Nice::SeqInt m_bcuLut
 
Nice::SeqDynamicBitset m_mask
 
Nice::SeqPoint m_unused
 

Static Private Attributes

static LaosLutCreatorm_instance =0
 

Constructor & Destructor Documentation

◆ LaosLutCreator() [1/3]

Laos::LaosLutCreator::LaosLutCreator ( const Nice::JointPtr _config)
inlineprivate

◆ LaosLutCreator() [2/3]

Laos::LaosLutCreator::LaosLutCreator ( const Nice::JointPtr _config)
inlineprivate

◆ LaosLutCreator() [3/3]

Laos::LaosLutCreator::LaosLutCreator ( const Nice::JointPtr _config)
inlineprivate

Member Function Documentation

◆ checkIfPupilsInsideOfQuadrant() [1/3]

void Laos::LaosLutCreator::checkIfPupilsInsideOfQuadrant ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)
private

Test whether the 4 squares of the size defined by this quadrant fit within a circle.


Parameters
_radiusPupil radius
_pupilCenterCartesian coordinates of pupil center.
Exceptions
Ifthe quadrant is too large to fit 4 times in the circle, throw an out-of-range exception.

◆ checkIfPupilsInsideOfQuadrant() [2/3]

void Laos::LaosLutCreator::checkIfPupilsInsideOfQuadrant ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)
private

◆ checkIfPupilsInsideOfQuadrant() [3/3]

void Laos::LaosLutCreator::checkIfPupilsInsideOfQuadrant ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)
private

◆ createBcuLut() [1/3]

Nice::SeqInt Laos::LaosLutCreator::createBcuLut ( )
private

◆ createBcuLut() [2/3]

Nice::SeqInt Laos::LaosLutCreator::createBcuLut ( )
private

Returns

◆ createBcuLut() [3/3]

Nice::SeqInt Laos::LaosLutCreator::createBcuLut ( )
private

◆ createDisplayTable() [1/3]

Nice::SeqInt Laos::LaosLutCreator::createDisplayTable ( )
private

Returns

◆ createDisplayTable() [2/3]

Nice::SeqInt Laos::LaosLutCreator::createDisplayTable ( )
private

◆ createDisplayTable() [3/3]

Nice::SeqInt Laos::LaosLutCreator::createDisplayTable ( )
private

◆ createLut() [1/3]

void Laos::LaosLutCreator::createLut ( const Nice::JointPtr _config)

Parameters
_config
Exceptions
Ifthe quadrant is too large to fit 4 times in the circle, throw an out-of-range exception.

◆ createLut() [2/3]

void Laos::LaosLutCreator::createLut ( const Nice::JointPtr _config)

◆ createLut() [3/3]

void Laos::LaosLutCreator::createLut ( const Nice::JointPtr _config)

◆ createLutFromMask() [1/3]

void Laos::LaosLutCreator::createLutFromMask ( const Nice::JointPtr _config,
const Nice::SeqDynamicBitset _mask 
)

Parameters
_config
_mask

◆ createLutFromMask() [2/3]

void Laos::LaosLutCreator::createLutFromMask ( const Nice::JointPtr _config,
const Nice::SeqDynamicBitset _mask 
)

◆ createLutFromMask() [3/3]

void Laos::LaosLutCreator::createLutFromMask ( const Nice::JointPtr _config,
const Nice::SeqDynamicBitset _mask 
)

◆ createMask() [1/3]

Nice::SeqDynamicBitset Laos::LaosLutCreator::createMask ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)

Parameters
_radius
_pupilCenter

◆ createMask() [2/3]

Nice::SeqDynamicBitset Laos::LaosLutCreator::createMask ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)

◆ createMask() [3/3]

Nice::SeqDynamicBitset Laos::LaosLutCreator::createMask ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)

◆ createMaskForFullImage() [1/3]

Nice::SeqDynamicBitset Laos::LaosLutCreator::createMaskForFullImage ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)

◆ createMaskForFullImage() [2/3]

Nice::SeqDynamicBitset Laos::LaosLutCreator::createMaskForFullImage ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)

Parameters
_radius
_pupilCenter

◆ createMaskForFullImage() [3/3]

Nice::SeqDynamicBitset Laos::LaosLutCreator::createMaskForFullImage ( float  _radius,
const Nice::SeqPoint _pupilCenter 
)

◆ createSlopeTable() [1/3]

Nice::SeqInt Laos::LaosLutCreator::createSlopeTable ( )
private

◆ createSlopeTable() [2/3]

Nice::SeqInt Laos::LaosLutCreator::createSlopeTable ( )
private

◆ createSlopeTable() [3/3]

Nice::SeqInt Laos::LaosLutCreator::createSlopeTable ( )
private

Returns

std::cout <<"0x"<<setw(4)<<setfill('0')<< hex << linSlpOrder[i] << std::endl;

◆ echanger() [1/3]

void Laos::LaosLutCreator::echanger ( Nice::SeqInt table,
const int  i,
const int  j 
)
private

◆ echanger() [2/3]

void Laos::LaosLutCreator::echanger ( Nice::SeqInt table,
const int  i,
const int  j 
)
private

◆ echanger() [3/3]

void Laos::LaosLutCreator::echanger ( Nice::SeqInt table,
const int  i,
const int  j 
)
private

◆ fillPixelType() [1/3]

void Laos::LaosLutCreator::fillPixelType ( const Nice::SeqPoint _pupilCenter)
private

◆ fillPixelType() [2/3]

void Laos::LaosLutCreator::fillPixelType ( const Nice::SeqPoint _pupilCenter)
private

Parameters
_pupilCenter

◆ fillPixelType() [3/3]

void Laos::LaosLutCreator::fillPixelType ( const Nice::SeqPoint _pupilCenter)
private

◆ getBcuLut() [1/3]

const Nice::SeqInt& Laos::LaosLutCreator::getBcuLut ( )
inline

◆ getBcuLut() [2/3]

const Nice::SeqInt& Laos::LaosLutCreator::getBcuLut ( )
inline

◆ getBcuLut() [3/3]

const Nice::SeqInt& Laos::LaosLutCreator::getBcuLut ( )
inline

◆ getDisplayLut() [1/3]

const Nice::SeqInt& Laos::LaosLutCreator::getDisplayLut ( )
inline

◆ getDisplayLut() [2/3]

const Nice::SeqInt& Laos::LaosLutCreator::getDisplayLut ( )
inline

◆ getDisplayLut() [3/3]

const Nice::SeqInt& Laos::LaosLutCreator::getDisplayLut ( )
inline

◆ getPupilMask() [1/3]

const Nice::SeqDynamicBitset& Laos::LaosLutCreator::getPupilMask ( )
inline

◆ getPupilMask() [2/3]

const Nice::SeqDynamicBitset& Laos::LaosLutCreator::getPupilMask ( )
inline

◆ getPupilMask() [3/3]

const Nice::SeqDynamicBitset& Laos::LaosLutCreator::getPupilMask ( )
inline

◆ getSlopeLut() [1/3]

const Nice::SeqInt& Laos::LaosLutCreator::getSlopeLut ( )
inline

◆ getSlopeLut() [2/3]

const Nice::SeqInt& Laos::LaosLutCreator::getSlopeLut ( )
inline

◆ getSlopeLut() [3/3]

const Nice::SeqInt& Laos::LaosLutCreator::getSlopeLut ( )
inline

◆ instance() [1/6]

static LaosLutCreator* Laos::LaosLutCreator::instance ( const Nice::JointPtr _config)
inlinestatic

◆ instance() [2/6]

static LaosLutCreator* Laos::LaosLutCreator::instance ( const Nice::JointPtr _config)
inlinestatic

◆ instance() [3/6]

static LaosLutCreator* Laos::LaosLutCreator::instance ( const Nice::JointPtr _config)
inlinestatic

◆ instance() [4/6]

static LaosLutCreator* Laos::LaosLutCreator::instance ( )
inlinestatic

◆ instance() [5/6]

static LaosLutCreator* Laos::LaosLutCreator::instance ( )
inlinestatic

◆ instance() [6/6]

static LaosLutCreator* Laos::LaosLutCreator::instance ( )
inlinestatic

◆ reorderPixel() [1/3]

Nice::SeqInt Laos::LaosLutCreator::reorderPixel ( )
private

Returns

◆ reorderPixel() [2/3]

Nice::SeqInt Laos::LaosLutCreator::reorderPixel ( )
private

◆ reorderPixel() [3/3]

Nice::SeqInt Laos::LaosLutCreator::reorderPixel ( )
private

◆ setPixelReadOrder() [1/3]

Nice::SeqInt Laos::LaosLutCreator::setPixelReadOrder ( const Nice::SeqSize _readOrder,
Nice::Size  _channels 
)
private

◆ setPixelReadOrder() [2/3]

Nice::SeqInt Laos::LaosLutCreator::setPixelReadOrder ( const Nice::SeqSize _readOrder,
Nice::Size  _channels 
)
private

◆ setPixelReadOrder() [3/3]

Nice::SeqInt Laos::LaosLutCreator::setPixelReadOrder ( const Nice::SeqSize _readOrder,
Nice::Size  _channels 
)
private

Parameters
_readOrder
_channels
Returns

◆ tempInstance() [1/3]

static LaosLutCreator* Laos::LaosLutCreator::tempInstance ( const Nice::JointPtr _config)
inlinestatic

◆ tempInstance() [2/3]

static LaosLutCreator* Laos::LaosLutCreator::tempInstance ( const Nice::JointPtr _config)
inlinestatic

◆ tempInstance() [3/3]

static LaosLutCreator* Laos::LaosLutCreator::tempInstance ( const Nice::JointPtr _config)
inlinestatic

◆ triABulle() [1/6]

Nice::SeqInt Laos::LaosLutCreator::triABulle ( Nice::SeqInt  tableau)
private

bubble sort of an integer vector.


Parameters
[in,out]tableauThe vector of integers. On return the values are sorted in ascending order.
Returns
The vector of indices into the integer vector keeping track of the sorting. This is a permutation of the integers [0.,...,size(tableeau)-1].

◆ triABulle() [2/6]

Nice::SeqInt Laos::LaosLutCreator::triABulle ( Nice::SeqInt  tableau)
private

◆ triABulle() [3/6]

Nice::SeqInt Laos::LaosLutCreator::triABulle ( Nice::SeqInt  tableau)
private

◆ triABulle() [4/6]

Nice::SeqInt Laos::LaosLutCreator::triABulle ( const int *  tableau,
const int  size 
)
private

Parameters
[in]tableauThe integer vector to be copied.
[in]sizeNumber of values in tableau
Returns
The permutation vector of indices needed to sort the integer vector.

◆ triABulle() [5/6]

Nice::SeqInt Laos::LaosLutCreator::triABulle ( const int *  tableau,
const int  size 
)
private

◆ triABulle() [6/6]

Nice::SeqInt Laos::LaosLutCreator::triABulle ( const int *  tableau,
const int  size 
)
private

Member Data Documentation

◆ m_bcuLut

Nice::SeqInt Laos::LaosLutCreator::m_bcuLut
private

◆ m_Channnels

Nice::Size Laos::LaosLutCreator::m_Channnels
private

◆ m_displayTable

Nice::SeqInt Laos::LaosLutCreator::m_displayTable
private

◆ m_ess

Nice::SeqInt Laos::LaosLutCreator::m_ess
private

◆ m_instance

static LaosLutCreator * Laos::LaosLutCreator::m_instance =0
staticprivate

◆ m_LUT

Nice::SeqInt Laos::LaosLutCreator::m_LUT
private

◆ m_mask

Nice::SeqDynamicBitset Laos::LaosLutCreator::m_mask
private

◆ m_nPixels

Nice::U16 Laos::LaosLutCreator::m_nPixels
private

◆ m_nPixelSlopes

Nice::U16 Laos::LaosLutCreator::m_nPixelSlopes
private

◆ m_nRead

Nice::SeqInt Laos::LaosLutCreator::m_nRead
private

◆ m_nSspp

Nice::SeqInt Laos::LaosLutCreator::m_nSspp
private

◆ m_order

Nice::SeqInt Laos::LaosLutCreator::m_order
private

◆ m_pixelOrder

Nice::SeqInt Laos::LaosLutCreator::m_pixelOrder
private

◆ m_pixelType

Nice::SeqInt Laos::LaosLutCreator::m_pixelType
private

◆ m_readOrder

std::vector< std::vector< std::pair< int, int > > > Laos::LaosLutCreator::m_readOrder
private

◆ m_Size

Nice::Size Laos::LaosLutCreator::m_Size
private

◆ m_slopeTable

Nice::SeqInt Laos::LaosLutCreator::m_slopeTable
private

◆ m_unused

Nice::SeqPoint Laos::LaosLutCreator::m_unused
private

The documentation for this class was generated from the following files: