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