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 78 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 | |
mrpt::utils::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) |
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 (mrpt::utils::CStream &out) const |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class) More... | |
void | dyngridcommon_readFromStream (mrpt::utils::CStream &in) |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class) More... | |
CSerializable virtual methods | |
void | writeToStream (mrpt::utils::CStream &out, int *getVersion) const override |
Introduces a pure virtual method responsible for writing to a CStream. More... | |
void | readFromStream (mrpt::utils::CStream &in, int version) override |
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori. 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 |
Private Types | |
typedef utils::CDynamicGrid3D< TRandomFieldVoxel > | BASE |
RTTI stuff | |
using | Ptr = std::shared_ptr< CRandomFieldGridMap3D > |
using | ConstPtr = std::shared_ptr< const CRandomFieldGridMap3D > |
static mrpt::utils::CLASSINIT | _init_CRandomFieldGridMap3D |
static const mrpt::utils::TRuntimeClassId | runtimeClassId |
static constexpr const char * | className = "CRandomFieldGridMap3D" |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
static const mrpt::utils::TRuntimeClassId & | GetRuntimeClassIdStatic () |
static mrpt::utils::CObject * | CreateObject () |
template<typename... Args> | |
static Ptr | Create (Args &&... args) |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const override |
Returns information about the class of an object in runtime. More... | |
virtual mrpt::utils::CObject * | clone () const override |
Returns a deep copy (clone) of the object, indepently of its class. More... | |
Definition at line 83 of file CRandomFieldGridMap3D.h.
using mrpt::maps::CRandomFieldGridMap3D::ConstPtr = std::shared_ptr<const CRandomFieldGridMap3D > |
Definition at line 85 of file CRandomFieldGridMap3D.h.
using mrpt::maps::CRandomFieldGridMap3D::Ptr = std::shared_ptr< CRandomFieldGridMap3D > |
A typedef for the associated smart pointer
Definition at line 85 of file CRandomFieldGridMap3D.h.
Enumerator | |
---|---|
gimNearest | |
gimBilinear |
Definition at line 202 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 40 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 233 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, mrpt::utils::CDynamicGrid3D< T >::m_size_x, mrpt::utils::CDynamicGrid3D< T >::m_size_x_times_y, mrpt::utils::CDynamicGrid3D< T >::m_size_y, and mrpt::utils::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 267 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::utils::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, and mrpt::utils::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 277 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::utils::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, and mrpt::utils::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 248 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::utils::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, mrpt::utils::CDynamicGrid3D< T >::m_map, mrpt::utils::CDynamicGrid3D< T >::x2idx(), mrpt::utils::CDynamicGrid3D< T >::y2idx(), and mrpt::utils::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 256 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::cellAbsIndexFromCXCYCZ(), mrpt::utils::CDynamicGrid3D< T >::INVALID_VOXEL_IDX, mrpt::utils::CDynamicGrid3D< T >::m_map, mrpt::utils::CDynamicGrid3D< T >::x2idx(), mrpt::utils::CDynamicGrid3D< T >::y2idx(), and mrpt::utils::CDynamicGrid3D< T >::z2idx().
|
overridevirtual |
Erases all added observations and start again with an empty gridmap.
Reimplemented from mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >.
Definition at line 84 of file CRandomFieldGridMap3D.cpp.
References mrpt::utils::CDynamicGrid3D< T >::clear().
|
overridevirtual |
Returns a deep copy (clone) of the object, indepently of its class.
Implements mrpt::utils::CObject.
|
inlinestatic |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
static |
|
inlineprotectedinherited |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class)
Definition at line 337 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_map, mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, mrpt::utils::CDynamicGrid3D< T >::m_resolution_z, mrpt::utils::CDynamicGrid3D< T >::m_size_x, mrpt::utils::CDynamicGrid3D< T >::m_size_y, mrpt::utils::CDynamicGrid3D< T >::m_size_z, mrpt::utils::CDynamicGrid3D< T >::m_x_max, mrpt::utils::CDynamicGrid3D< T >::m_x_min, mrpt::utils::CDynamicGrid3D< T >::m_y_max, mrpt::utils::CDynamicGrid3D< T >::m_y_min, mrpt::utils::CDynamicGrid3D< T >::m_z_max, and mrpt::utils::CDynamicGrid3D< T >::m_z_min.
Referenced by readFromStream().
|
inlineprotectedinherited |
Serialization of all parameters, except the contents of each voxel (responsability of the derived class)
Definition at line 327 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, mrpt::utils::CDynamicGrid3D< T >::m_resolution_z, mrpt::utils::CDynamicGrid3D< T >::m_size_x, mrpt::utils::CDynamicGrid3D< T >::m_size_y, mrpt::utils::CDynamicGrid3D< T >::m_size_z, mrpt::utils::CDynamicGrid3D< T >::m_x_max, mrpt::utils::CDynamicGrid3D< T >::m_x_min, mrpt::utils::CDynamicGrid3D< T >::m_y_max, mrpt::utils::CDynamicGrid3D< T >::m_y_min, mrpt::utils::CDynamicGrid3D< T >::m_z_max, and mrpt::utils::CDynamicGrid3D< T >::m_z_min.
Referenced by writeToStream().
|
inlineinherited |
Fills all the cells with the same value.
Definition at line 221 of file CDynamicGrid3D.h.
References mrpt::utils::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 447 of file CRandomFieldGridMap3D.cpp.
References ASSERT_, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::getSizeX(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::getSizeY(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::getSizeZ(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::idx2x(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::idx2y(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::idx2z(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_map, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_size_x, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_size_y, MRPT_END, MRPT_START, and THROW_EXCEPTION.
Referenced by saveAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 295 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy.
|
inlineinherited |
Definition at line 296 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_z.
|
overridevirtual |
Returns information about the class of an object in runtime.
Reimplemented from mrpt::utils::CSerializable.
|
static |
|
inlineinherited |
Definition at line 285 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_size_x.
Referenced by getAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 286 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_size_y.
Referenced by getAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 287 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_size_z.
Referenced by getAsVtkStructuredGrid().
|
inlineinherited |
Definition at line 288 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_size_x_times_y, and mrpt::utils::CDynamicGrid3D< T >::m_size_z.
|
inlineinherited |
Definition at line 290 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_x_max.
|
inlineinherited |
Definition at line 289 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_x_min.
|
inlineinherited |
Definition at line 292 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_y_max.
|
inlineinherited |
Definition at line 291 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_y_min.
|
inlineinherited |
Definition at line 294 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_z_max.
|
inlineinherited |
Definition at line 293 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_z_min.
|
inlineinherited |
Transform a voxel index into a coordinate value of the voxel central point.
Definition at line 313 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::utils::CDynamicGrid3D< T >::m_x_min.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
inlineinherited |
Definition at line 314 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::utils::CDynamicGrid3D< T >::m_y_min.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
inlineinherited |
Definition at line 315 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_z, and mrpt::utils::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 338 of file CRandomFieldGridMap3D.cpp.
References mrpt::graphs::ScalarFactorGraph::addConstraint(), ASSERT_ABOVE_, ASSERTMSG_, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::cellAbsIndexFromCXCYCZ(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::INVALID_VOXEL_IDX, mrpt::maps::CRandomFieldGridMap3D::TObservationGMRF::Lambda, m_gmrf, mrpt::utils::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::utils::CDynamicGrid3D< TRandomFieldVoxel >::x2idx(), mrpt::math::TPoint3D::y, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::y2idx(), mrpt::math::TPoint3D::z, and mrpt::utils::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 90 of file CRandomFieldGridMap3D.cpp.
References ASSERT_, ASSERT_EQUAL_, 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::utils::CTicTac::Tac(), and mrpt::utils::CTicTac::Tic().
|
inlineprotectedinherited |
Used only from logically const method that really need to modify the object.
Definition at line 321 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_map.
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
inlinenoexcept |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
inlinenoexcept |
Definition at line 85 of file CRandomFieldGridMap3D.h.
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
inlinenoexcept |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
inline |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
inlinestatic |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
inline |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
overrideprotectedvirtual |
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly be users, instead use "stream >> object;" for reading it from a stream or "stream >> object_ptr;" if the class is unknown apriori.
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 error, see CStream::ReadBuffer |
Implements mrpt::utils::CSerializable.
Definition at line 412 of file CRandomFieldGridMap3D.cpp.
References ASSERT_EQUAL_, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::dyngridcommon_readFromStream(), mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_lambdaPrior, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_skip_variance, insertionOptions, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_map, and MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION.
|
inlinevirtualinherited |
Changes the size of the grid, maintaining previous contents.
Definition at line 46 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_map, mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, mrpt::utils::CDynamicGrid3D< T >::m_resolution_z, mrpt::utils::CDynamicGrid3D< T >::m_size_x, mrpt::utils::CDynamicGrid3D< T >::m_size_x_times_y, mrpt::utils::CDynamicGrid3D< T >::m_size_y, mrpt::utils::CDynamicGrid3D< T >::m_size_z, mrpt::utils::CDynamicGrid3D< T >::m_x_max, mrpt::utils::CDynamicGrid3D< T >::m_x_min, mrpt::utils::CDynamicGrid3D< T >::m_y_max, mrpt::utils::CDynamicGrid3D< T >::m_y_min, mrpt::utils::CDynamicGrid3D< T >::m_z_max, mrpt::utils::CDynamicGrid3D< T >::m_z_min, and mrpt::utils::round().
|
overridevirtual |
Changes the size of the grid, maintaining previous contents.
Definition at line 68 of file CRandomFieldGridMap3D.cpp.
References MRPT_END, and MRPT_START.
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::utils::CDynamicGrid3D< TRandomFieldVoxel >::idx2x(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::idx2y(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::idx2z(), mrpt::utils::CFileOutputStream::is_open(), mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_map, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_size_x, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_size_y, mrpt::utils::CFileOutputStream::open(), and mrpt::utils::CStream::printf().
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().
|
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 52 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 173 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_map, mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, mrpt::utils::CDynamicGrid3D< T >::m_resolution_z, mrpt::utils::CDynamicGrid3D< T >::m_size_x, mrpt::utils::CDynamicGrid3D< T >::m_size_x_times_y, mrpt::utils::CDynamicGrid3D< T >::m_size_y, mrpt::utils::CDynamicGrid3D< T >::m_size_z, mrpt::utils::CDynamicGrid3D< T >::m_x_max, mrpt::utils::CDynamicGrid3D< T >::m_x_min, mrpt::utils::CDynamicGrid3D< T >::m_y_max, mrpt::utils::CDynamicGrid3D< T >::m_y_min, mrpt::utils::CDynamicGrid3D< T >::m_z_max, mrpt::utils::CDynamicGrid3D< T >::m_z_min, and mrpt::utils::round().
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 332 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 308 of file CRandomFieldGridMap3D.cpp.
References ASSERT_, ASSERTMSG_, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_skip_variance, insertionOptions, m_gmrf, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_map, m_mrf_factors_activeObs, and mrpt::graphs::ScalarFactorGraph::updateEstimation().
Referenced by insertIndividualReading(), and TEST().
|
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 89 of file CSerializable.h.
|
overrideprotectedvirtual |
Introduces a pure virtual method responsible for writing to a CStream.
This can not be used directly be users, instead use "stream << object;" for writing it to a stream.
out | The output binary stream where object must be dumped. |
getVersion | If nullptr, the object must be dumped. If not, only the version of the object dump must be returned in this pointer. This enables the versioning of objects dumping and backward compatibility with previously stored data. |
std::exception | On any error, see CStream::WriteBuffer |
Implements mrpt::utils::CSerializable.
Definition at line 379 of file CRandomFieldGridMap3D.cpp.
References mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::dyngridcommon_writeToStream(), mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_lambdaPrior, mrpt::maps::CRandomFieldGridMap3D::TInsertionOptions::GMRF_skip_variance, insertionOptions, mrpt::utils::CDynamicGrid3D< TRandomFieldVoxel >::m_map, and mrpt::utils::CStream::WriteBuffer().
|
inlineinherited |
Transform a coordinate values into voxel indexes.
Definition at line 298 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::utils::CDynamicGrid3D< T >::m_x_min.
Referenced by insertIndividualReading().
|
inlineinherited |
Definition at line 302 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_xy, and mrpt::utils::CDynamicGrid3D< T >::m_y_min.
Referenced by insertIndividualReading().
|
inlineinherited |
Definition at line 306 of file CDynamicGrid3D.h.
References mrpt::utils::CDynamicGrid3D< T >::m_resolution_z, and mrpt::utils::CDynamicGrid3D< T >::m_z_min.
Referenced by insertIndividualReading().
|
staticprotected |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
static |
Definition at line 85 of file CRandomFieldGridMap3D.h.
|
static |
[default:false] Enables a profiler to show a performance report at application end.
Definition at line 89 of file CRandomFieldGridMap3D.h.
TInsertionOptions mrpt::maps::CRandomFieldGridMap3D::insertionOptions |
Definition at line 152 of file CRandomFieldGridMap3D.h.
Referenced by readFromStream(), TEST(), updateMapEstimation(), and writeToStream().
|
staticinherited |
Definition at line 228 of file CDynamicGrid3D.h.
Referenced by insertIndividualReading().
|
protected |
Definition at line 244 of file CRandomFieldGridMap3D.h.
Referenced by insertIndividualReading(), and updateMapEstimation().
|
protected |
Empty: default.
Definition at line 242 of file CRandomFieldGridMap3D.h.
Referenced by setVoxelsConnectivity().
|
mutableprotectedinherited |
The cells.
Definition at line 318 of file CDynamicGrid3D.h.
Referenced by getAsVtkStructuredGrid(), insertIndividualReading(), readFromStream(), saveAsCSV(), updateMapEstimation(), and writeToStream().
|
protected |
Vector with the active observations and their respective Information, for each map cell.
Definition at line 288 of file CRandomFieldGridMap3D.h.
Referenced by insertIndividualReading(), and updateMapEstimation().
|
protected |
Vector with the precomputed priors for each GMRF model.
Definition at line 290 of file CRandomFieldGridMap3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 324 of file CDynamicGrid3D.h.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
protectedinherited |
Definition at line 324 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 324 of file CDynamicGrid3D.h.
Referenced by getAsVtkStructuredGrid(), and saveAsCSV().
|
protectedinherited |
Definition at line 324 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
protectedinherited |
Definition at line 322 of file CDynamicGrid3D.h.
|
staticprotected |
Definition at line 85 of file CRandomFieldGridMap3D.h.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |