Struct TPixelLabelInfoBase
Defined in File TPixelLabelInfo.h
Inheritance Relationships
Derived Type
public mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >(Template Struct TPixelLabelInfo)
Struct Documentation
-
struct TPixelLabelInfoBase
Virtual interface to all pixel-label semantic information structs.
See CObservation3DRangeScan::pixelLabels
Subclassed by mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >
Public Types
-
using Ptr = std::shared_ptr<TPixelLabelInfoBase>
-
using TMapLabelID2Name = std::map<uint32_t, std::string>
Public Functions
-
inline TPixelLabelInfoBase(unsigned int BITFIELD_BYTES_)
-
virtual ~TPixelLabelInfoBase()
-
inline const std::string &getLabelName(unsigned int label_idx) const
-
inline void setLabelName(unsigned int label_idx, const std::string &name)
-
inline int checkLabelNameExistence(const std::string &name) const
Check the existence of a label by returning its associated index. -1 if it does not exist.
-
virtual void setSize(const int NROWS, const int NCOLS) = 0
Resizes the matrix pixelLabels to the given size, setting all bitfields to zero (that is, all pixels are assigned NONE category).
-
virtual void setLabel(const int row, const int col, uint8_t label_idx) = 0
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
-
virtual void getLabels(const int row, const int col, uint8_t &labels) = 0
-
virtual void unsetLabel(const int row, const int col, uint8_t label_idx) = 0
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”
-
virtual void unsetAll(const int row, const int col, uint8_t label_idx) = 0
Removes all categories for pixel(row,col)
See also
-
virtual bool checkLabel(const int row, const int col, uint8_t label_idx) const = 0
Checks whether pixel(row,col) has been classified into category label_idx, which may be in the range 0 to 7
See also
Public Members
-
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
-
const uint8_t BITFIELD_BYTES
Minimum number of bytes required to hold MAX_NUM_DIFFERENT_LABELS bits.
Public Static Functions
-
static TPixelLabelInfoBase *readAndBuildFromStream(mrpt::serialization::CArchive &in)
Protected Functions
-
virtual void Print(std::ostream&) const = 0
Friends
-
inline friend std::ostream &operator<<(std::ostream &out, const TPixelLabelInfoBase &obj)
std stream interface
-
using Ptr = std::shared_ptr<TPixelLabelInfoBase>