150 std::vector<uint32_t> indexesToRemove,
bool changeCoordsRef =
true);
182 const std::map<uint32_t, int64_t>* renameIndexes = NULL)
const;
185 template <
class MATRIX>
MRPT_FILL_ENUM_MEMBER(mrpt::slam, smMETRIC_MAP_MATCHING)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#define MRPT_ENUM_TYPE_END()
#define MRPT_ENUM_TYPE_BEGIN(_ENUM_TYPE_WITH_NS)
This class allows loading and storing values and vectors of different types from a configuration text...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
std::shared_ptr< CMultiMetricMap > Ptr
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be t...
A set of TMetricMapInitializer structures, passed to the constructor CMultiMetricMap::CMultiMetricMap...
This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric<double>".
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
std::shared_ptr< CSensoryFrame > Ptr
std::shared_ptr< CSetOfObjects > Ptr
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually).
The virtual base class which provides a unified interface for all persistent objects in MRPT.
Finds partitions in metric maps based on N-cut graph partition theory.
void updatePartitions(std::vector< std::vector< uint32_t >> &partitions)
Recalculate the map/graph partitions.
similarity_func_t m_sim_func
void setSimilarityMethod(similarity_method_t method)
Select the similarity method to use for newly inserted keyframes.
const mrpt::math::CMatrixDouble & getAdjacencyMatrix() const
Return a const ref to the internal adjacency matrix.
mrpt::math::CMatrixD m_A
Adjacency matrix.
TOptions options
Algorithm parameters.
const mrpt::maps::CSimpleMap * getSequenceOfFrames() const
Read-only access to the sequence of Sensory Frames.
void removeSetOfNodes(std::vector< uint32_t > indexesToRemove, bool changeCoordsRef=true)
Remove a list of keyframes, with indices as returned by addMapFrame()
mrpt::maps::CSimpleMap * getSequenceOfFrames()
Access to the sequence of Sensory Frames.
void setSimilarityMethod(similarity_func_t func)
Sets a custom function for the similarity of new keyframes.
void getAdjacencyMatrix(MATRIX &outMatrix) const
Return a copy of the adjacency matrix.
mrpt::maps::CSimpleMap m_individualFrames
size_t getNodesCount()
Get the total node count currently in the internal map/graph.
bool m_last_last_partition_are_new_ones
This will be true after adding new observations, and before an "updatePartitions" is invoked.
void changeCoordinatesOriginPoseIndex(unsigned int newOriginPose)
The new origin is given by the index of the pose that is to become the new origin.
void getAs3DScene(mrpt::opengl::CSetOfObjects::Ptr &objs, const std::map< uint32_t, int64_t > *renameIndexes=NULL) const
Return a 3D representation of the graph: poses & links between them.
uint32_t addMapFrame(const mrpt::obs::CSensoryFrame &frame, const mrpt::poses::CPose3DPDF &robotPose3D)
Insert a new keyframe to the graph.
std::deque< mrpt::maps::CMultiMetricMap::Ptr > m_individualMaps
void changeCoordinatesOrigin(const mrpt::poses::CPose3D &newOrigin)
CIncrementalMapPartitioner()
ctor
std::vector< std::vector< uint32_t > > m_last_partition
The last partition.
Versatile class for consistent logging and management of output messages.
COutputLogger()
Default class constructor.
GLsizei const GLchar ** string
GLsizei GLsizei GLchar * source
std::function< double(const map_keyframe_t &kf1, const map_keyframe_t &kf2, const mrpt::poses::CPose3D &relPose2wrt1)> similarity_func_t
Type of similarity evaluator for map keyframes.
similarity_method_t
For use in CIncrementalMapPartitioner <>
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
unsigned __int32 uint32_t
unsigned __int64 uint64_t
Parameters for CMetricMap::compute3DMatchingRatio()
Configuration parameters.
uint64_t maxKeyFrameDistanceToEval
Maximum distance, in KF identifier numbers, to check for similarity.
mrpt::maps::TSetOfMetricMapInitializers metricmap
Type and parameters of metric map(s) to build for each keyframe.
double partitionThreshold
!< N-cut partition threshold [0,2] (default=1)
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
void saveToConfigFile(mrpt::config::CConfigFileBase &target, const std::string §ion) const
This method saves the options to a ".ini"-like file or memory-stored string list.
mrpt::maps::TMatchingRatioParams mrp
These parameters are loaded/saved to config files with the prefix "mrp.{param_name}".
similarity_method_t simil_method
Defines the method for determining the adjacency matrix values.
uint64_t minimumNumberElementsEachCluster
If a partition leads to a cluster with less elements than this, it will be rejected even if had a goo...
Map keyframe, comprising raw observations and they as a metric map.
mrpt::maps::CMultiMetricMap::Ptr metric_map
mrpt::obs::CSensoryFrame::Ptr raw_observations