Main MRPT website > C++ reference for MRPT 1.5.6
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions
mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ > Struct Template Reference

Detailed Description

template<unsigned int BYTES_REQUIRED_>
struct mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >

Definition at line 426 of file obs/CObservation3DRangeScan.h.

#include <mrpt/obs/CObservation3DRangeScan.h>

Inheritance diagram for mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >:
Inheritance graph

Public Types

enum  { BYTES_REQUIRED = BYTES_REQUIRED_ }
 
typedef mrpt::utils::uint_select_by_bytecount< BYTES_REQUIRED >::type bitmask_t
 Automatically-determined integer type of the proper size such that all labels fit as one bit (max: 64) More...
 
typedef Eigen::Matrix< bitmask_t, Eigen::Dynamic, Eigen::Dynamic > TPixelLabelMatrix
 Each pixel may be assigned between 0 and MAX_NUM_LABELS-1 'labels' by setting to 1 the corresponding i'th bit [0,MAX_NUM_LABELS-1] in the byte in pixelLabels(r,c). More...
 
typedef std::map< uint32_t, std::stringTMapLabelID2Name
 

Public Member Functions

void setSize (const int NROWS, const int NCOLS) MRPT_OVERRIDE
 Resizes the matrix pixelLabels to the given size, setting all bitfields to zero (that is, all pixels are assigned NONE category). More...
 
void setLabel (const int row, const int col, uint8_t label_idx) MRPT_OVERRIDE
 Mark the pixel(row,col) as classified in the category label_idx, which may be in the range 0 to MAX_NUM_LABELS-1 Note that 0 is a valid label index, it does not mean "no label". More...
 
void getLabels (const int row, const int col, uint8_t &labels) MRPT_OVERRIDE
 
void unsetLabel (const int row, const int col, uint8_t label_idx) MRPT_OVERRIDE
 For the pixel(row,col), removes its classification into the category label_idx, which may be in the range 0 to 7 Note that 0 is a valid label index, it does not mean "no label". More...
 
void unsetAll (const int row, const int col, uint8_t label_idx) MRPT_OVERRIDE
 Removes all categories for pixel(row,col) More...
 
bool checkLabel (const int row, const int col, uint8_t label_idx) const MRPT_OVERRIDE
 Checks whether pixel(row,col) has been clasified into category label_idx, which may be in the range 0 to 7. More...
 
 TPixelLabelInfo ()
 
const std::stringgetLabelName (unsigned int label_idx) const
 
void setLabelName (unsigned int label_idx, const std::string &name)
 
int checkLabelNameExistence (const std::string &name) const
 Check the existence of a label by returning its associated index. More...
 
void writeToStream (mrpt::utils::CStream &out) const
 

Static Public Member Functions

static TPixelLabelInfoBasereadAndBuildFromStream (mrpt::utils::CStream &in)
 

Public Attributes

TPixelLabelMatrix pixelLabels
 
TMapLabelID2Name pixelLabelNames
 The 'semantic' or human-friendly name of the i'th bit in pixelLabels(r,c) can be found in pixelLabelNames[i] as a std::string. More...
 
const uint8_t BITFIELD_BYTES
 Minimum number of bytes required to hold MAX_NUM_DIFFERENT_LABELS bits. More...
 

Protected Member Functions

void internal_readFromStream (mrpt::utils::CStream &in) MRPT_OVERRIDE
 
void internal_writeToStream (mrpt::utils::CStream &out) const MRPT_OVERRIDE
 
void Print (std::ostream &out) const MRPT_OVERRIDE
 

Member Typedef Documentation

◆ bitmask_t

Automatically-determined integer type of the proper size such that all labels fit as one bit (max: 64)

Definition at line 433 of file obs/CObservation3DRangeScan.h.

◆ TMapLabelID2Name

Definition at line 364 of file obs/CObservation3DRangeScan.h.

◆ TPixelLabelMatrix

template<unsigned int BYTES_REQUIRED_>
typedef Eigen::Matrix<bitmask_t,Eigen::Dynamic,Eigen::Dynamic> mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::TPixelLabelMatrix

Each pixel may be assigned between 0 and MAX_NUM_LABELS-1 'labels' by setting to 1 the corresponding i'th bit [0,MAX_NUM_LABELS-1] in the byte in pixelLabels(r,c).

That is, each pixel is assigned an 8*BITFIELD_BYTES bit-wide bitfield of possible categories.

See also
hasPixelLabels

Definition at line 440 of file obs/CObservation3DRangeScan.h.

Member Enumeration Documentation

◆ anonymous enum

template<unsigned int BYTES_REQUIRED_>
anonymous enum
Enumerator
BYTES_REQUIRED 

Definition at line 428 of file obs/CObservation3DRangeScan.h.

Constructor & Destructor Documentation

◆ TPixelLabelInfo()

template<unsigned int BYTES_REQUIRED_>
mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::TPixelLabelInfo ( )
inline

Definition at line 465 of file obs/CObservation3DRangeScan.h.

Member Function Documentation

◆ checkLabel()

template<unsigned int BYTES_REQUIRED_>
bool mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::checkLabel ( const int  row,
const int  col,
uint8_t  label_idx 
) const
inlinevirtual

Checks whether pixel(row,col) has been clasified into category label_idx, which may be in the range 0 to 7.

See also
unsetLabel, unsetAll

Implements mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase.

Definition at line 460 of file obs/CObservation3DRangeScan.h.

◆ checkLabelNameExistence()

int mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase::checkLabelNameExistence ( const std::string name) const
inlineinherited

Check the existence of a label by returning its associated index.

-1 if it does not exist.

Definition at line 377 of file obs/CObservation3DRangeScan.h.

◆ getLabelName()

const std::string& mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase::getLabelName ( unsigned int  label_idx) const
inlineinherited

Definition at line 369 of file obs/CObservation3DRangeScan.h.

◆ getLabels()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::getLabels ( const int  row,
const int  col,
uint8_t labels 
)
inlinevirtual

◆ internal_readFromStream()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::internal_readFromStream ( mrpt::utils::CStream in)
inlineprotectedvirtual

◆ internal_writeToStream()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::internal_writeToStream ( mrpt::utils::CStream out) const
inlineprotectedvirtual

◆ Print()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::Print ( std::ostream &  out) const
inlineprotectedvirtual

◆ readAndBuildFromStream()

CObservation3DRangeScan::TPixelLabelInfoBase * CObservation3DRangeScan::TPixelLabelInfoBase::readAndBuildFromStream ( mrpt::utils::CStream in)
staticinherited

◆ setLabel()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::setLabel ( const int  row,
const int  col,
uint8_t  label_idx 
)
inlinevirtual

Mark the pixel(row,col) as classified in the category label_idx, which may be in the range 0 to MAX_NUM_LABELS-1 Note that 0 is a valid label index, it does not mean "no label".

See also
unsetLabel, unsetAll

Implements mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase.

Definition at line 446 of file obs/CObservation3DRangeScan.h.

◆ setLabelName()

void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase::setLabelName ( unsigned int  label_idx,
const std::string name 
)
inlineinherited

Definition at line 374 of file obs/CObservation3DRangeScan.h.

◆ setSize()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::setSize ( const int  NROWS,
const int  NCOLS 
)
inlinevirtual

Resizes the matrix pixelLabels to the given size, setting all bitfields to zero (that is, all pixels are assigned NONE category).

Implements mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase.

Definition at line 443 of file obs/CObservation3DRangeScan.h.

◆ unsetAll()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::unsetAll ( const int  row,
const int  col,
uint8_t  label_idx 
)
inlinevirtual

Removes all categories for pixel(row,col)

See also
setLabel, unsetLabel

Implements mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase.

Definition at line 457 of file obs/CObservation3DRangeScan.h.

◆ unsetLabel()

template<unsigned int BYTES_REQUIRED_>
void mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::unsetLabel ( const int  row,
const int  col,
uint8_t  label_idx 
)
inlinevirtual

For the pixel(row,col), removes its classification into the category label_idx, which may be in the range 0 to 7 Note that 0 is a valid label index, it does not mean "no label".

See also
setLabel, unsetAll

Implements mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase.

Definition at line 454 of file obs/CObservation3DRangeScan.h.

◆ writeToStream()

void CObservation3DRangeScan::TPixelLabelInfoBase::writeToStream ( mrpt::utils::CStream out) const
inherited

Member Data Documentation

◆ BITFIELD_BYTES

const uint8_t mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase::BITFIELD_BYTES
inherited

Minimum number of bytes required to hold MAX_NUM_DIFFERENT_LABELS bits.

Definition at line 416 of file obs/CObservation3DRangeScan.h.

Referenced by mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase::writeToStream().

◆ pixelLabelNames

TMapLabelID2Name mrpt::obs::CObservation3DRangeScan::TPixelLabelInfoBase::pixelLabelNames
inherited

The 'semantic' or human-friendly name of the i'th bit in pixelLabels(r,c) can be found in pixelLabelNames[i] as a std::string.

Definition at line 367 of file obs/CObservation3DRangeScan.h.

◆ pixelLabels

template<unsigned int BYTES_REQUIRED_>
TPixelLabelMatrix mrpt::obs::CObservation3DRangeScan::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels

Definition at line 441 of file obs/CObservation3DRangeScan.h.




Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019