MRPT
2.0.4
|
Pixel-wise semantic label struct.
See CObservation3DRangeScan::pixelLabels
Definition at line 116 of file TPixelLabelInfo.h.
#include <mrpt/obs/TPixelLabelInfo.h>
Public Types | |
using | Ptr = std::shared_ptr< TPixelLabelInfo > |
using | bitmask_t = typename mrpt::uint_select_by_bytecount< BYTES_REQUIRED >::type |
Automatically-determined integer type of the proper size such that all labels fit as one bit (max: 64) More... | |
using | TPixelLabelMatrix = mrpt::math::CMatrixDynamic< bitmask_t > |
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... | |
using | TMapLabelID2Name = std::map< uint32_t, std::string > |
Public Member Functions | |
void | setSize (const int NROWS, const int NCOLS) 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) 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) override |
void | unsetLabel (const int row, const int col, uint8_t label_idx) 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, [[maybe_unused]] uint8_t label_idx) override |
bool | checkLabel (const int row, const int col, uint8_t label_idx) const 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::string & | getLabelName (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... | |
virtual void | unsetAll (const int row, const int col, uint8_t label_idx)=0 |
Removes all categories for pixel(row,col) More... | |
void | writeToStream (mrpt::serialization::CArchive &out) const |
Static Public Member Functions | |
static TPixelLabelInfoBase * | readAndBuildFromStream (mrpt::serialization::CArchive &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... | |
Static Public Attributes | |
static constexpr unsigned int | BYTES_REQUIRED = BYTES_REQUIRED_ |
Protected Member Functions | |
void | internal_readFromStream (mrpt::serialization::CArchive &in) override |
void | internal_writeToStream (mrpt::serialization::CArchive &out) const override |
void | Print (std::ostream &out) const override |
using mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::bitmask_t = typename mrpt::uint_select_by_bytecount<BYTES_REQUIRED>::type |
Automatically-determined integer type of the proper size such that all labels fit as one bit (max: 64)
Definition at line 124 of file TPixelLabelInfo.h.
using mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::Ptr = std::shared_ptr<TPixelLabelInfo> |
Definition at line 118 of file TPixelLabelInfo.h.
|
inherited |
Definition at line 34 of file TPixelLabelInfo.h.
using mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::TPixelLabelMatrix = mrpt::math::CMatrixDynamic<bitmask_t> |
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.
Definition at line 134 of file TPixelLabelInfo.h.
|
inline |
Definition at line 168 of file TPixelLabelInfo.h.
|
inlineoverridevirtual |
Checks whether pixel(row,col) has been clasified into category label_idx, which may be in the range 0 to 7.
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 160 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels.
|
inlineinherited |
Check the existence of a label by returning its associated index.
-1 if it does not exist.
Definition at line 54 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfoBase::pixelLabelNames.
|
inlineinherited |
Definition at line 41 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfoBase::pixelLabelNames.
|
inlineoverridevirtual |
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 145 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels.
|
overrideprotectedvirtual |
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 34 of file TPixelLabelInfo.cpp.
|
overrideprotectedvirtual |
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 47 of file TPixelLabelInfo.cpp.
References out.
|
overrideprotectedvirtual |
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 115 of file TPixelLabelInfo.cpp.
References out.
|
staticinherited |
Definition at line 61 of file TPixelLabelInfo.cpp.
References mrpt::obs::TPixelLabelInfoBase::internal_readFromStream(), and MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.
|
inlineoverridevirtual |
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".
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 141 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels.
|
inlineinherited |
Definition at line 48 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfoBase::pixelLabelNames.
|
inlineoverridevirtual |
Resizes the matrix pixelLabels to the given size, setting all bitfields to zero (that is, all pixels are assigned NONE category).
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 137 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels, and mrpt::math::MatrixVectorBase< Scalar, Derived >::Zero().
|
pure virtualinherited |
Removes all categories for pixel(row,col)
|
inlineoverride |
Definition at line 154 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels.
|
inlineoverridevirtual |
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".
Implements mrpt::obs::TPixelLabelInfoBase.
Definition at line 150 of file TPixelLabelInfo.h.
References mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels.
|
inherited |
Definition at line 22 of file TPixelLabelInfo.cpp.
References out.
|
inherited |
Minimum number of bytes required to hold MAX_NUM_DIFFERENT_LABELS bits.
Definition at line 101 of file TPixelLabelInfo.h.
|
static |
Definition at line 119 of file TPixelLabelInfo.h.
|
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 39 of file TPixelLabelInfo.h.
Referenced by mrpt::obs::TPixelLabelInfoBase::checkLabelNameExistence(), mrpt::obs::TPixelLabelInfoBase::getLabelName(), and mrpt::obs::TPixelLabelInfoBase::setLabelName().
TPixelLabelMatrix mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::pixelLabels |
Definition at line 135 of file TPixelLabelInfo.h.
Referenced by mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::checkLabel(), mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::getLabels(), mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::setLabel(), mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::setSize(), mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::unsetAll(), and mrpt::obs::TPixelLabelInfo< BYTES_REQUIRED_ >::unsetLabel().
Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020 |