MRPT
1.9.9
|
CRandomFieldGridMap3D represents a 3D regular grid where each voxel is associated one real-valued property which is to be estimated by this class.
This class implements a Gaussian Markov Random Field (GMRF) estimator, with each voxel being connected to its 6 immediate neighbors (Up, down, left, right, front, back).
Note that this class does not derive from mrpt::maps::CMetricMap since the estimated values do not have sensor-especific semantics, i.e. the grid can be used to estimate temperature, gas concentration, etc.
Usage:
setSize()
.initialize()
. This resets the contents of the map, so previously-added observations will be lost.insertIndividualReading()
Custom connectivity patterns can be defined with setVoxelsConnectivity().
Definition at line 76 of file CRandomFieldGridMap3D.h.
#include <mrpt/maps/CRandomFieldGridMap3D.h>
Classes | |
struct | ConnectivityDescriptor |
Base class for user-supplied objects capable of describing voxels connectivity, used to build prior factors of the MRF graph. More... | |
struct | TInsertionOptions |
Parameters common to any derived class. More... | |
struct | TObservationGMRF |
struct | TPriorFactorGMRF |
Public Types | |
enum | TVoxelInterpolationMethod { gimNearest = 0, gimBilinear } |
Public Member Functions | |
void * | operator new (size_t size) |
void * | operator new[] (size_t size) |
void | operator delete (void *ptr) noexcept |
void | operator delete[] (void *ptr) noexcept |
void | operator delete (void *memory, void *ptr) noexcept |
void * | operator new (size_t size, const std::nothrow_t &) noexcept |
void | operator delete (void *ptr, const std::nothrow_t &) noexcept |
CRandomFieldGridMap3D (double x_min=-2, double x_max=2, double y_min=-2, double y_max=2, double z_min=-2, double z_max=2, double voxel_size=0.5, bool call_initialize_now=true) | |
Constructor. More... | |
void | clear () override |
Erases all added observations and start again with an empty gridmap. More... | |
bool | saveAsCSV (const std::string &filName_mean, const std::string &filName_stddev=std::string()) const |
Save the current estimated mean values to a CSV file (compatible with Paraview) with fields x y z mean_value . More... | |
bool | saveAsVtkStructuredGrid (const std::string &fil) const |
Save the current estimated grid to a VTK file (.vts) as a "structured
grid". More... | |
virtual void | resize (double new_x_min, double new_x_max, double new_y_min, double new_y_max, double new_z_min, double new_z_max, const TRandomFieldVoxel &defaultValueNewvoxels, double additionalMarginMeters=2.0) override |
Changes the size of the grid, maintaining previous contents. More... | |
virtual void | setSize (const double x_min, const double x_max, const double y_min, const double y_max, const double z_min, const double z_max, const double resolution_xy, const double resolution_z=-1.0, const TRandomFieldVoxel *fill_value=nullptr) override |
Changes the size of the grid, erasing previous contents.If resolution_z <0, the same resolution will be used for all dimensions x,y,z as given in resolution_xy More... | |
void | setVoxelsConnectivity (const ConnectivityDescriptor::Ptr &new_connectivity_descriptor) |
Sets a custom object to define the connectivity between voxels. More... | |
bool | insertIndividualReading (const double sensorReading, const double sensorVariance, const mrpt::math::TPoint3D &point, const TVoxelInterpolationMethod method, const bool update_map) |
Direct update of the map with a reading in a given position of the map. More... | |
void | updateMapEstimation () |
Run the method-specific procedure required to ensure that the mean & variances are up-to-date with all inserted observations, using parameters in insertionOptions. More... | |
void | getAsVtkStructuredGrid (vtkStructuredGrid *output, const std::string &label_mean=std::string("mean"), const std::string &label_stddev=std::string("stddev")) const |
Returns the 3D grid contents as an VTK grid. More... | |
virtual void | resize (double new_x_min, double new_x_max, double new_y_min, double new_y_max, double new_z_min, double new_z_max, const TRandomFieldVoxel &defaultValueNewCells, double additionalMarginMeters=2.0) |
Changes the size of the grid, maintaining previous contents. More... | |
virtual void | setSize (const double x_min, const double x_max, const double y_min, const double y_max, const double z_min, const double z_max, const double resolution_xy, const double resolution_z_=-1.0, const TRandomFieldVoxel *fill_value=nullptr) |
Changes the size of the grid, ERASING all previous contents. More... | |
void | fill (const TRandomFieldVoxel &value) |
Fills all the cells with the same value. More... | |
size_t | cellAbsIndexFromCXCYCZ (const int cx, const int cy, const int cz) const |
Gets the absolute index of a voxel in the linear container m_map[] from its cx,cy,cz indices, or -1 if out of map bounds (in any dimension). More... | |
TRandomFieldVoxel * | cellByPos (double x, double y, double z) |
Returns a pointer to the contents of a voxel given by its coordinates, or nullptr if it is out of the map extensions. More... | |
const TRandomFieldVoxel * | cellByPos (double x, double y, double z) const |
TRandomFieldVoxel * | cellByIndex (unsigned int cx, unsigned int cy, unsigned int cz) |
Returns a pointer to the contents of a voxel given by its voxel indexes, or nullptr if it is out of the map extensions. More... | |
const TRandomFieldVoxel * | cellByIndex (unsigned int cx, unsigned int cy, unsigned int cz) const |
Returns a pointer to the contents of a voxel given by its voxel indexes, or nullptr if it is out of the map extensions. More... | |
size_t | getSizeX () const |
size_t | getSizeY () const |
size_t | getSizeZ () const |
size_t | getVoxelCount () const |
double | getXMin () const |
double | getXMax () const |
double | getYMin () const |
double | getYMax () const |
double | getZMin () const |
double | getZMax () const |
double | getResolutionXY () const |
double | getResolutionZ () const |
int | x2idx (double x) const |
Transform a coordinate values into voxel indexes. More... | |
int | y2idx (double y) const |
int | z2idx (double z) const |
double | idx2x (int cx) const |
Transform a voxel index into a coordinate value of the voxel central point. More... | |
double | idx2y (int cy) const |
double | idx2z (int cz) const |
virtual mxArray * | writeToMatlab () const |
Introduces a pure virtual method responsible for writing to a mxArray Matlab object, typically a MATLAB struct whose contents are documented in each derived class. More... | |
RTTI classes and functions for polymorphic hierarchies | |
mrpt::rtti::CObject::Ptr | duplicateGetSmartPtr () const |
Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). More... | |
Static Public Member Functions | |
static void * | operator new (size_t size, void *ptr) |
static std::array< mrpt::system::TConsoleColor, NUMBER_OF_VERBOSITY_LEVELS > & | logging_levels_to_colors () |
Map from VerbosityLevels to their corresponding mrpt::system::TConsoleColor. More... | |
static std::array< std::string, NUMBER_OF_VERBOSITY_LEVELS > & | logging_levels_to_names () |
Map from VerbosityLevels to their corresponding names. More... | |
Public Attributes | |
TInsertionOptions | insertionOptions |
Static Public Attributes | |
static bool | ENABLE_GMRF_PROFILER |
[default:false] Enables a profiler to show a performance report at application end. More... | |
static const size_t | INVALID_VOXEL_IDX |
Protected Member Functions | |
void | internal_initialize (bool erase_prev_contents=true) |
Internal: called called after each change of resolution, size, etc. More... | |
std::vector< TRandomFieldVoxel > & | m_map_castaway_const () const |
Used only from logically const method that really need to modify the object. More... | |
void | dyngridcommon_writeToStream (ARCHIVE &out) const |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class) More... | |
void | dyngridcommon_readFromStream (ARCHIVE &in) |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class) More... | |
CSerializable virtual methods | |
uint8_t | serializeGetVersion () const override |
Must return the current versioning number of the object. More... | |
void | serializeTo (mrpt::serialization::CArchive &out) const override |
Pure virtual method for writing (serializing) to an abstract archive. More... | |
void | serializeFrom (mrpt::serialization::CArchive &in, uint8_t serial_version) override |
Pure virtual method for reading (deserializing) from an abstract archive. More... | |
Protected Attributes | |
ConnectivityDescriptor::Ptr | m_gmrf_connectivity |
Empty: default. More... | |
mrpt::graphs::ScalarFactorGraph | m_gmrf |
std::vector< std::deque< TObservationGMRF > > | m_mrf_factors_activeObs |
Vector with the active observations and their respective Information, for each map cell. More... | |
std::deque< TPriorFactorGMRF > | m_mrf_factors_priors |
Vector with the precomputed priors for each GMRF model. More... | |
std::vector< TRandomFieldVoxel > | m_map |
The cells. More... | |
double | m_x_min |
double | m_x_max |
double | m_y_min |
double | m_y_max |
double | m_z_min |
double | m_z_max |
double | m_resolution_xy |
double | m_resolution_z |
size_t | m_size_x |
size_t | m_size_y |
size_t | m_size_z |
size_t | m_size_x_times_y |
VerbosityLevel | m_min_verbosity_level |
Provided messages with VerbosityLevel smaller than this value shall be ignored. More... | |
Private Types | |
using | BASE = mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel > |
RTTI stuff | |
using | Ptr = std::shared_ptr< CRandomFieldGridMap3D > |
using | ConstPtr = std::shared_ptr< const CRandomFieldGridMap3D > |
using | UniquePtr = std::unique_ptr< CRandomFieldGridMap3D > |
using | ConstUniquePtr = std::unique_ptr< const CRandomFieldGridMap3D > |
static mrpt::rtti::CLASSINIT | _init_CRandomFieldGridMap3D |
static const mrpt::rtti::TRuntimeClassId | runtimeClassId |
static constexpr const char * | className = "CRandomFieldGridMap3D" |
static const mrpt::rtti::TRuntimeClassId * | _GetBaseClass () |
static constexpr auto | getClassName () |
static const mrpt::rtti::TRuntimeClassId & | GetRuntimeClassIdStatic () |
static mrpt::rtti::CObject * | CreateObject () |
template<typename... Args> | |
static Ptr | Create (Args &&... args) |
template<typename... Args> | |
static UniquePtr | CreateUnique (Args &&... args) |
virtual const mrpt::rtti::TRuntimeClassId * | GetRuntimeClass () const override |
Returns information about the class of an object in runtime. More... | |
virtual mrpt::rtti::CObject * | clone () const override |
Returns a deep copy (clone) of the object, indepently of its class. More... | |
Logging methods | |
bool | logging_enable_console_output |
[Default=true] Set it to false in case you don't want the logged messages to be dumped to the output automatically. More... | |
bool | logging_enable_keep_record |
[Default=false] Enables storing all messages into an internal list. More... | |
void | logStr (const VerbosityLevel level, const std::string &msg_str) const |
Main method to add the specified message string to the logger. More... | |
void | logFmt (const VerbosityLevel level, const char *fmt,...) const MRPT_printf_format_check(3 |
Alternative logging method, which mimics the printf behavior. More... | |
void void | logCond (const VerbosityLevel level, bool cond, const std::string &msg_str) const |
Log the given message only if the condition is satisfied. More... | |
void | setLoggerName (const std::string &name) |
Set the name of the COutputLogger instance. More... | |
std::string | getLoggerName () const |
Return the name of the COutputLogger instance. More... | |
void | setMinLoggingLevel (const VerbosityLevel level) |
Set the minimum logging level for which the incoming logs are going to be taken into account. More... | |
void | setVerbosityLevel (const VerbosityLevel level) |
alias of setMinLoggingLevel() More... | |
VerbosityLevel | getMinLoggingLevel () const |
bool | isLoggingLevelVisible (VerbosityLevel level) const |
void | getLogAsString (std::string &log_contents) const |
Fill the provided string with the contents of the logger's history in std::string representation. More... | |
std::string | getLogAsString () const |
Get the history of COutputLogger instance in a string representation. More... | |
void | writeLogToFile (const std::string *fname_in=NULL) const |
Write the contents of the COutputLogger instance to an external file. More... | |
void | dumpLogToConsole () const |
Dump the current contents of the COutputLogger instance in the terminal window. More... | |
std::string | getLoggerLastMsg () const |
Return the last Tmsg instance registered in the logger history. More... | |
void | getLoggerLastMsg (std::string &msg_str) const |
Fill inputtted string with the contents of the last message in history. More... | |
void | loggerReset () |
Reset the contents of the logger instance. More... | |
void | logRegisterCallback (output_logger_callback_t userFunc) |
bool | logDeregisterCallback (output_logger_callback_t userFunc) |
|
private |
Definition at line 81 of file CRandomFieldGridMap3D.h.
Definition at line 83 of file CRandomFieldGridMap3D.h.
using mrpt::maps::CRandomFieldGridMap3D::ConstUniquePtr = std::unique_ptr<const CRandomFieldGridMap3D > |
Definition at line 83 of file CRandomFieldGridMap3D.h.
A type for the associated smart pointer
Definition at line 83 of file CRandomFieldGridMap3D.h.
using mrpt::maps::CRandomFieldGridMap3D::UniquePtr = std::unique_ptr< CRandomFieldGridMap3D > |
Definition at line 83 of file CRandomFieldGridMap3D.h.
Enumerator | |
---|---|
gimNearest | |
gimBilinear |
Definition at line 200 of file CRandomFieldGridMap3D.h.
CRandomFieldGridMap3D::CRandomFieldGridMap3D | ( | double | x_min = -2 , |
double | x_max = 2 , |
||
double | y_min = -2 , |
||
double | y_max = 2 , |
||
double | z_min = -2 , |
||
double | z_max = 2 , |
||
double | voxel_size = 0.5 , |
||
bool | call_initialize_now = true |
||
) |
Constructor.
If you set call_initialize_now to false, the object will be initialized immediately (without the heavy initialization of the GMRF), but you then must call setSize()
or clear()
later to properly initialize the object before using it to insert observations.
Definition at line 39 of file CRandomFieldGridMap3D.cpp.
|
staticprotected |
|
inlineinherited |
Gets the absolute index of a voxel in the linear container m_map[] from its cx,cy,cz indices, or -1 if out of map bounds (in any dimension).
Definition at line 230 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, mrpt::containers::CDynamicGrid3D< T >::m_size_x, mrpt::containers::CDynamicGrid3D< T >::m_size_x_times_y, mrpt::containers::CDynamicGrid3D< T >::m_size_y, and mrpt::containers::CDynamicGrid3D< T >::m_size_z.
Referenced by insertIndividualReading().
|
inlineinherited |
Returns a pointer to the contents of a voxel given by its voxel indexes, or nullptr if it is out of the map extensions.
Definition at line 264 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::containers::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, and mrpt::containers::CDynamicGrid3D< T >::m_map.
|
inlineinherited |
Returns a pointer to the contents of a voxel given by its voxel indexes, or nullptr if it is out of the map extensions.
Definition at line 274 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::containers::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, and mrpt::containers::CDynamicGrid3D< T >::m_map.
|
inlineinherited |
Returns a pointer to the contents of a voxel given by its coordinates, or nullptr if it is out of the map extensions.
Definition at line 245 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::containers::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, mrpt::containers::CDynamicGrid3D< T >::m_map, mrpt::containers::CDynamicGrid3D< T >::x2idx(), mrpt::containers::CDynamicGrid3D< T >::y2idx(), and mrpt::containers::CDynamicGrid3D< T >::z2idx().
|
inlineinherited |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 253 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::containers::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, mrpt::containers::CDynamicGrid3D< T >::m_map, mrpt::containers::CDynamicGrid3D< T >::x2idx(), mrpt::containers::CDynamicGrid3D< T >::y2idx(), and mrpt::containers::CDynamicGrid3D< T >::z2idx().
|
overridevirtual |
Erases all added observations and start again with an empty gridmap.
Reimplemented from mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >.
Definition at line 83 of file CRandomFieldGridMap3D.cpp.
References mrpt::containers::CDynamicGrid3D< T >::clear().
|
overridevirtual |
Returns a deep copy (clone) of the object, indepently of its class.
Implements mrpt::rtti::CObject.
|
inlinestatic |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
static |
|
inlinestatic |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inherited |
Dump the current contents of the COutputLogger instance in the terminal window.
Definition at line 190 of file COutputLogger.cpp.
|
inlineinherited |
Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).
Definition at line 168 of file CObject.h.
References mrpt::rtti::CObject::clone().
Referenced by mrpt::obs::CRawlog::addActions(), and mrpt::obs::CRawlog::addObservations().
|
inlineprotectedinherited |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class)
Definition at line 336 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_map, mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, mrpt::containers::CDynamicGrid3D< T >::m_resolution_z, mrpt::containers::CDynamicGrid3D< T >::m_size_x, mrpt::containers::CDynamicGrid3D< T >::m_size_y, mrpt::containers::CDynamicGrid3D< T >::m_size_z, mrpt::containers::CDynamicGrid3D< T >::m_x_max, mrpt::containers::CDynamicGrid3D< T >::m_x_min, mrpt::containers::CDynamicGrid3D< T >::m_y_max, mrpt::containers::CDynamicGrid3D< T >::m_y_min, mrpt::containers::CDynamicGrid3D< T >::m_z_max, and mrpt::containers::CDynamicGrid3D< T >::m_z_min.
Referenced by serializeFrom().
|
inlineprotectedinherited |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class)
Definition at line 325 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, mrpt::containers::CDynamicGrid3D< T >::m_resolution_z, mrpt::containers::CDynamicGrid3D< T >::m_size_x, mrpt::containers::CDynamicGrid3D< T >::m_size_y, mrpt::containers::CDynamicGrid3D< T >::m_size_z, mrpt::containers::CDynamicGrid3D< T >::m_x_max, mrpt::containers::CDynamicGrid3D< T >::m_x_min, mrpt::containers::CDynamicGrid3D< T >::m_y_max, mrpt::containers::CDynamicGrid3D< T >::m_y_min, mrpt::containers::CDynamicGrid3D< T >::m_z_max, and mrpt::containers::CDynamicGrid3D< T >::m_z_min.
Referenced by serializeTo().
|
inlineinherited |
Fills all the cells with the same value.
Definition at line 218 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_map.
void CRandomFieldGridMap3D::getAsVtkStructuredGrid | ( | vtkStructuredGrid * | output, |
const std::string & | label_mean = std::string("mean") , |
||
const std::string & | label_stddev = std::string("stddev") |
||
) | const |
Returns the 3D grid contents as an VTK grid.
Definition at line 443 of file CRandomFieldGridMap3D.cpp.
References ASSERT_, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::getSizeX(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::getSizeY(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::getSizeZ(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::idx2x(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::idx2y(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::idx2z(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_map, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_size_x, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_size_y, MRPT_END, MRPT_START, and THROW_EXCEPTION.
Referenced by saveAsVtkStructuredGrid().
|
inlinestatic |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inherited |
Fill the provided string with the contents of the logger's history in std::string representation.
Definition at line 154 of file COutputLogger.cpp.
|
inherited |
Get the history of COutputLogger instance in a string representation.
Definition at line 159 of file COutputLogger.cpp.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::getDescriptiveReport().
|
inherited |
Return the last Tmsg instance registered in the logger history.
Definition at line 195 of file COutputLogger.cpp.
References mrpt::system::COutputLogger::TMsg::getAsString().
|
inherited |
Fill inputtted string with the contents of the last message in history.
Definition at line 201 of file COutputLogger.cpp.
|
inherited |
Return the name of the COutputLogger instance.
Definition at line 143 of file COutputLogger.cpp.
|
inlineinherited |
Definition at line 200 of file system/COutputLogger.h.
References mrpt::system::COutputLogger::m_min_verbosity_level.
Referenced by mrpt::maps::CRandomFieldGridMap2D::isEnabledVerbose(), and mrpt::slam::CMetricMapBuilderRBPF::processActionObservation().
|
inlineinherited |
Definition at line 292 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy.
|
inlineinherited |
Definition at line 293 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_z.
|
overridevirtual |
Returns information about the class of an object in runtime.
Reimplemented from mrpt::serialization::CSerializable.
|
static |
|
inlineinherited |
Definition at line 282 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_size_x.
Referenced by getAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 283 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_size_y.
Referenced by getAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 284 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_size_z.
Referenced by getAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 285 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_size_x_times_y, and mrpt::containers::CDynamicGrid3D< T >::m_size_z.
|
inlineinherited |
Definition at line 287 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_x_max.
|
inlineinherited |
Definition at line 286 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_x_min.
|
inlineinherited |
Definition at line 289 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_y_max.
|
inlineinherited |
Definition at line 288 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_y_min.
|
inlineinherited |
Definition at line 291 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_z_max.
|
inlineinherited |
Definition at line 290 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_z_min.
|
inlineinherited |
Transform a voxel index into a coordinate value of the voxel central point.
Definition at line 310 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::containers::CDynamicGrid3D< T >::m_x_min.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
inlineinherited |
Definition at line 311 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::containers::CDynamicGrid3D< T >::m_y_min.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
inlineinherited |
Definition at line 312 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_z, and mrpt::containers::CDynamicGrid3D< T >::m_z_min.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
bool CRandomFieldGridMap3D::insertIndividualReading | ( | const double | sensorReading, |
const double | sensorVariance, | ||
const mrpt::math::TPoint3D & | point, | ||
const TVoxelInterpolationMethod | method, | ||
const bool | update_map | ||
) |
Direct update of the map with a reading in a given position of the map.
[in] | sensorReading | The value observed in the (x,y,z) position |
[in] | sensorVariance | The variance of the sensor observation |
[in] | point | The (x,y,z) location |
[in] | method | Voxel interpolation method: how many voxels will be affected by the reading |
[in] | update_map | Run a global map update after inserting this observation (algorithm-dependant) |
Definition at line 340 of file CRandomFieldGridMap3D.cpp.
References mrpt::graphs::ScalarFactorGraph::addConstraint(), ASSERT_ABOVE_, ASSERTMSG_, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::cellAbsIndexFromCXCYCZ(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::INVALID_VOXEL_IDX, mrpt::maps::CRandomFieldGridMap3D::TObservationGMRF::Lambda, m_gmrf, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_map, m_mrf_factors_activeObs, MRPT_END, MRPT_START, mrpt::graphs::ScalarFactorGraph::UnaryFactorVirtualBase::node_id, mrpt::maps::CRandomFieldGridMap3D::TObservationGMRF::obsValue, updateMapEstimation(), mrpt::math::TPoint3D::x, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::x2idx(), mrpt::math::TPoint3D::y, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::y2idx(), mrpt::math::TPoint3D::z, and mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::z2idx().
Referenced by TEST().
|
protected |
Internal: called called after each change of resolution, size, etc.
to build the prior factor information
Definition at line 89 of file CRandomFieldGridMap3D.cpp.
References ASSERT_, ASSERT_EQUAL_, dir, fill(), mrpt::maps::CRandomFieldGridMap3D::ConnectivityDescriptor::getEdgeInformation(), mrpt::maps::CRandomFieldGridMap3D::TPriorFactorGMRF::Lambda, MRPT_LOG_DEBUG_STREAM, mrpt::graphs::ScalarFactorGraph::BinaryFactorVirtualBase::node_id_i, mrpt::graphs::ScalarFactorGraph::BinaryFactorVirtualBase::node_id_j, mrpt::system::CTicTac::Tac(), and mrpt::system::CTicTac::Tic().
|
inlineinherited |
Definition at line 201 of file system/COutputLogger.h.
References mrpt::system::COutputLogger::m_min_verbosity_level.
Referenced by mrpt::slam::CMetricMapBuilderRBPF::processActionObservation(), and mrpt::system::COutputLoggerStreamWrapper::~COutputLoggerStreamWrapper().
|
inherited |
Log the given message only if the condition is satisfied.
Definition at line 131 of file COutputLogger.cpp.
|
inherited |
Definition at line 290 of file COutputLogger.cpp.
References getAddress(), and mrpt::system::COutputLogger::m_listCallbacks.
|
inherited |
Alternative logging method, which mimics the printf behavior.
Handy for not having to first use mrpt::format to pass a std::string message to logStr
Definition at line 91 of file COutputLogger.cpp.
Referenced by mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::CICPCriteriaNRD(), mrpt::hmtslam::CTopLCDetector_GridMatching::computeTopologicalObservationModel(), CGraphSlamHandler< GRAPH_T >::execute(), mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute(), CGraphSlamHandler< GRAPH_T >::initOutputDir(), CGraphSlamHandler< GRAPH_T >::initVisualization(), mrpt::nav::CNavigatorManualSequence::navigationStep(), mrpt::nav::CAbstractNavigator::performNavigationStepNavigating(), CGraphSlamHandler< GRAPH_T >::readConfigFname(), CGraphSlamHandler< GRAPH_T >::saveResults(), CGraphSlamHandler< GRAPH_T >::setResultsDirName(), mrpt::nav::CReactiveNavigationSystem::STEP1_InitPTGs(), and CGraphSlamHandler< GRAPH_T >::~CGraphSlamHandler().
|
inherited |
Reset the contents of the logger instance.
Called upon construction.
Definition at line 206 of file COutputLogger.cpp.
References mrpt::system::LVL_INFO.
|
staticinherited |
Map from VerbosityLevels to their corresponding mrpt::system::TConsoleColor.
Handy for coloring the input based on the verbosity of the message
Definition at line 47 of file COutputLogger.cpp.
References logging_levels_to_colors.
Referenced by mrpt::system::COutputLogger::TMsg::dumpToConsole().
|
staticinherited |
Map from VerbosityLevels to their corresponding names.
Handy for printing the current message VerbosityLevel along with the actual content
Definition at line 60 of file COutputLogger.cpp.
References logging_levels_to_names.
Referenced by mrpt::system::COutputLogger::TMsg::getAsString().
|
inherited |
Definition at line 277 of file COutputLogger.cpp.
References mrpt::system::COutputLogger::m_listCallbacks.
|
inherited |
Main method to add the specified message string to the logger.
Definition at line 72 of file COutputLogger.cpp.
References mrpt::system::COutputLogger::TMsg::body, mrpt::system::COutputLogger::TMsg::dumpToConsole(), mrpt::system::COutputLogger::TMsg::level, mrpt::system::COutputLogger::TMsg::name, and mrpt::system::COutputLogger::TMsg::timestamp.
Referenced by mrpt::slam::PF_implementation< mrpt::math::TPose3D, CMonteCarloLocalization3D, mrpt::bayes::particle_storage_mode::VALUE >::PF_SLAM_implementation_pfAuxiliaryPFStandardAndOptimal(), mrpt::nav::CReactiveNavigationSystem::STEP1_InitPTGs(), and mrpt::system::COutputLoggerStreamWrapper::~COutputLoggerStreamWrapper().
|
inlineprotectedinherited |
Used only from logically const method that really need to modify the object.
Definition at line 318 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_map.
|
inlinenoexcept |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inlinenoexcept |
Definition at line 83 of file CRandomFieldGridMap3D.h.
Definition at line 83 of file CRandomFieldGridMap3D.h.
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inlinestatic |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inline |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inlinenoexcept |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inline |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
inlinevirtualinherited |
Changes the size of the grid, maintaining previous contents.
Definition at line 43 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_map, mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, mrpt::containers::CDynamicGrid3D< T >::m_resolution_z, mrpt::containers::CDynamicGrid3D< T >::m_size_x, mrpt::containers::CDynamicGrid3D< T >::m_size_x_times_y, mrpt::containers::CDynamicGrid3D< T >::m_size_y, mrpt::containers::CDynamicGrid3D< T >::m_size_z, mrpt::containers::CDynamicGrid3D< T >::m_x_max, mrpt::containers::CDynamicGrid3D< T >::m_x_min, mrpt::containers::CDynamicGrid3D< T >::m_y_max, mrpt::containers::CDynamicGrid3D< T >::m_y_min, mrpt::containers::CDynamicGrid3D< T >::m_z_max, mrpt::containers::CDynamicGrid3D< T >::m_z_min, and mrpt::round().
Referenced by resize().
|
overridevirtual |
Changes the size of the grid, maintaining previous contents.
Definition at line 67 of file CRandomFieldGridMap3D.cpp.
References MRPT_END, MRPT_START, and mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::resize().
Referenced by TEST().
bool mrpt::maps::CRandomFieldGridMap3D::saveAsCSV | ( | const std::string & | filName_mean, |
const std::string & | filName_stddev = std::string() |
||
) | const |
Save the current estimated mean values to a CSV file (compatible with Paraview) with fields x y z mean_value
.
Optionally, std deviations can be also saved to another file with fields x y z stddev_value
, if filName_stddev
is provided.
Definition at line 254 of file CRandomFieldGridMap3D.cpp.
References mrpt::format(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::idx2x(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::idx2y(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::idx2z(), mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_map, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_size_x, and mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_size_y.
Referenced by TEST().
bool CRandomFieldGridMap3D::saveAsVtkStructuredGrid | ( | const std::string & | fil | ) | const |
Save the current estimated grid to a VTK file (.vts) as a "structured grid".
Definition at line 223 of file CRandomFieldGridMap3D.cpp.
References getAsVtkStructuredGrid(), MRPT_END, MRPT_START, and THROW_EXCEPTION.
Referenced by TEST().
|
overrideprotectedvirtual |
Pure virtual method for reading (deserializing) from an abstract archive.
Users don't call this method directly. Instead, use stream >> object;
.
in | The input binary stream where the object data must read from. |
version | The version of the object stored in the stream: use this version number in your code to know how to read the incoming data. |
std::exception | On any I/O error |
Implements mrpt::serialization::CSerializable.
Definition at line 408 of file CRandomFieldGridMap3D.cpp.
References ASSERT_EQUAL_, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::dyngridcommon_readFromStream(), mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_lambdaPrior, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_skip_variance, insertionOptions, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_map, and MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.
|
overrideprotectedvirtual |
Must return the current versioning number of the object.
Start in zero for new classes, and increments each time there is a change in the stored format.
Implements mrpt::serialization::CSerializable.
Definition at line 381 of file CRandomFieldGridMap3D.cpp.
|
overrideprotectedvirtual |
Pure virtual method for writing (serializing) to an abstract archive.
Users don't call this method directly. Instead, use stream << object;
.
std::exception | On any I/O error |
Implements mrpt::serialization::CSerializable.
Definition at line 382 of file CRandomFieldGridMap3D.cpp.
References mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::dyngridcommon_writeToStream(), mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_lambdaPrior, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_skip_variance, insertionOptions, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_map, and mrpt::serialization::CArchive::WriteBuffer().
|
inherited |
Set the name of the COutputLogger instance.
Definition at line 138 of file COutputLogger.cpp.
Referenced by mrpt::slam::CMetricMapBuilderICP::CMetricMapBuilderICP(), mrpt::slam::CMetricMapBuilderRBPF::CMetricMapBuilderRBPF(), mrpt::slam::CMonteCarloLocalization2D::CMonteCarloLocalization2D(), mrpt::slam::CMonteCarloLocalization3D::CMonteCarloLocalization3D(), and mrpt::graphslam::CWindowManager::initCWindowManager().
|
inherited |
Set the minimum logging level for which the incoming logs are going to be taken into account.
String messages with specified VerbosityLevel smaller than the min, will not be outputted to the screen and neither will a record of them be stored in by the COutputLogger instance
Definition at line 144 of file COutputLogger.cpp.
Referenced by mrpt::maps::CRandomFieldGridMap2D::enableVerbose(), mrpt::math::CLevenbergMarquardtTempl< VECTORTYPE, USERPARAM >::execute(), mrpt::hwdrivers::CHokuyoURG::initialize(), and mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::loadParams().
|
overridevirtual |
Changes the size of the grid, erasing previous contents.If resolution_z
<0, the same resolution will be used for all dimensions x,y,z as given in resolution_xy
Changes the size of the grid, erasing previous contents.
Definition at line 51 of file CRandomFieldGridMap3D.cpp.
References MRPT_END, MRPT_START, and setSize().
Referenced by TEST().
|
inlinevirtualinherited |
Changes the size of the grid, ERASING all previous contents.
If fill_value is left as nullptr, the contents of cells may be undefined (some will remain with their old values, the new ones will have the default voxel value, but the location of old values may change wrt their old places). If fill_value is not nullptr, it is assured that all cells will have a copy of that value after resizing. If resolution_z
<0, the same resolution will be used for all dimensions x,y,z as given in resolution_xy
Definition at line 170 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_map, mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, mrpt::containers::CDynamicGrid3D< T >::m_resolution_z, mrpt::containers::CDynamicGrid3D< T >::m_size_x, mrpt::containers::CDynamicGrid3D< T >::m_size_x_times_y, mrpt::containers::CDynamicGrid3D< T >::m_size_y, mrpt::containers::CDynamicGrid3D< T >::m_size_z, mrpt::containers::CDynamicGrid3D< T >::m_x_max, mrpt::containers::CDynamicGrid3D< T >::m_x_min, mrpt::containers::CDynamicGrid3D< T >::m_y_max, mrpt::containers::CDynamicGrid3D< T >::m_y_min, mrpt::containers::CDynamicGrid3D< T >::m_z_max, mrpt::containers::CDynamicGrid3D< T >::m_z_min, and mrpt::round().
|
inherited |
alias of setMinLoggingLevel()
Definition at line 149 of file COutputLogger.cpp.
Referenced by mrpt::nav::CAbstractNavigator::CAbstractNavigator(), mrpt::slam::CMetricMapBuilderRBPF::CMetricMapBuilderRBPF(), mrpt::comms::CServerTCPSocket::CServerTCPSocket(), mrpt::slam::CMetricMapBuilderRBPF::processActionObservation(), and mrpt::math::ransac_detect_2D_lines().
void mrpt::maps::CRandomFieldGridMap3D::setVoxelsConnectivity | ( | const ConnectivityDescriptor::Ptr & | new_connectivity_descriptor | ) |
Sets a custom object to define the connectivity between voxels.
Must call clear() or setSize() afterwards for the changes to take place.
Definition at line 334 of file CRandomFieldGridMap3D.cpp.
References m_gmrf_connectivity.
void CRandomFieldGridMap3D::updateMapEstimation | ( | ) |
Run the method-specific procedure required to ensure that the mean & variances are up-to-date with all inserted observations, using parameters in insertionOptions.
Definition at line 310 of file CRandomFieldGridMap3D.cpp.
References ASSERT_, ASSERTMSG_, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_skip_variance, insertionOptions, m_gmrf, mrpt::containers::CDynamicGrid3D< TRandomFieldVoxel >::m_map, m_mrf_factors_activeObs, and mrpt::graphs::ScalarFactorGraph::updateEstimation().
Referenced by insertIndividualReading(), and TEST().
|
inherited |
Write the contents of the COutputLogger instance to an external file.
Upon call to this method, COutputLogger dumps the contents of all the logged commands so far to the specified external file. By default the filename is set to ${LOGGERNAME}.log except if the fname parameter is provided
Definition at line 165 of file COutputLogger.cpp.
References ASSERTMSG_, and mrpt::format().
|
inlinevirtualinherited |
Introduces a pure virtual method responsible for writing to a mxArray
Matlab object, typically a MATLAB struct
whose contents are documented in each derived class.
mxArray
(caller is responsible of memory freeing) or nullptr is class does not support conversion to MATLAB. Definition at line 68 of file CSerializable.h.
|
inlineinherited |
Transform a coordinate values into voxel indexes.
Definition at line 295 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::containers::CDynamicGrid3D< T >::m_x_min.
Referenced by insertIndividualReading().
|
inlineinherited |
Definition at line 299 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::containers::CDynamicGrid3D< T >::m_y_min.
Referenced by insertIndividualReading().
|
inlineinherited |
Definition at line 303 of file CDynamicGrid3D.h.
References mrpt::containers::CDynamicGrid3D< T >::m_resolution_z, and mrpt::containers::CDynamicGrid3D< T >::m_z_min.
Referenced by insertIndividualReading().
|
staticprotected |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
static |
Definition at line 83 of file CRandomFieldGridMap3D.h.
|
static |
[default:false] Enables a profiler to show a performance report at application end.
Definition at line 87 of file CRandomFieldGridMap3D.h.
TInsertionOptions mrpt::maps::CRandomFieldGridMap3D::insertionOptions |
Definition at line 150 of file CRandomFieldGridMap3D.h.
Referenced by serializeFrom(), serializeTo(), TEST(), and updateMapEstimation().
|
staticinherited |
Definition at line 225 of file CDynamicGrid3D.h.
Referenced by insertIndividualReading().
|
inherited |
[Default=true] Set it to false in case you don't want the logged messages to be dumped to the output automatically.
Definition at line 239 of file system/COutputLogger.h.
|
inherited |
[Default=false] Enables storing all messages into an internal list.
Definition at line 242 of file system/COutputLogger.h.
|
protected |
Definition at line 242 of file CRandomFieldGridMap3D.h.
Referenced by insertIndividualReading(), and updateMapEstimation().
|
protected |
Empty: default.
Definition at line 240 of file CRandomFieldGridMap3D.h.
Referenced by setVoxelsConnectivity().
|
mutableprotectedinherited |
The cells.
Definition at line 315 of file CDynamicGrid3D.h.
Referenced by getAsVtkStructuredGrid(), insertIndividualReading(), saveAsCSV(), serializeFrom(), serializeTo(), and updateMapEstimation().
|
protectedinherited |
Provided messages with VerbosityLevel smaller than this value shall be ignored.
Definition at line 252 of file system/COutputLogger.h.
Referenced by mrpt::system::COutputLogger::getMinLoggingLevel(), and mrpt::system::COutputLogger::isLoggingLevelVisible().
|
protected |
Vector with the active observations and their respective Information, for each map cell.
Definition at line 286 of file CRandomFieldGridMap3D.h.
Referenced by insertIndividualReading(), and updateMapEstimation().
|
protected |
Vector with the precomputed priors for each GMRF model.
Definition at line 288 of file CRandomFieldGridMap3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 321 of file CDynamicGrid3D.h.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
protectedinherited |
Definition at line 321 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 321 of file CDynamicGrid3D.h.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
protectedinherited |
Definition at line 321 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 319 of file CDynamicGrid3D.h.
|
staticprotected |
Definition at line 83 of file CRandomFieldGridMap3D.h.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020 |