6 #include <fast_methods/ndgridmap/fmcell.h>
7 #include <fast_methods/ndgridmap/ndgridmap.hpp>
9 #include <fast_methods/fm/fmm.hpp>
10 #include <fast_methods/fm/sfmm.hpp>
11 #include <fast_methods/fm/fmmstar.hpp>
12 #include <fast_methods/fm/sfmmstar.hpp>
13 #include <fast_methods/datastructures/fmfibheap.hpp>
14 #include <fast_methods/datastructures/fmpriorityqueue.hpp>
15 #include <fast_methods/fm/fim.hpp>
16 #include <fast_methods/fm/gmm.hpp>
17 #include <fast_methods/fm/ufmm.hpp>
18 #include <fast_methods/fm/fsm.hpp>
19 #include <fast_methods/fm/lsm.hpp>
20 #include <fast_methods/fm/ddqm.hpp>
22 #include <fast_methods/benchmark/benchmark.hpp>
25 using namespace std::chrono;
31 typedef array<unsigned int, 2> Coord2D;
34 Coord2D dimsize {300,300};
35 FMGrid2D grid (dimsize);
36 Coord2D init_point = {150, 150};
37 Coord2D goal_point = {250, 250};
42 benchmark.
setName(
"Testing_Benchmark");
47 unsigned int startIdx;
48 std::vector<unsigned int> startIndices;
49 grid.coord2idx(init_point, startIdx);
50 startIndices.push_back(startIdx);
54 grid.coord2idx(goal_point, goalIdx);
Implements Fast Sweeping Method.
Fast Marching Method using a untidy priority queue (UFMM).
Encapsulates the calls to FMM with heuristics enabled.
This class provides the utilities to benchmark Fast Marching Solvers (configuration, running and logging). It works for FMM (any heap and SFMM), FIM and UFMM. It has not been tested with FM2 solvers.
Implements the Simplified Fast Marching Method, encapsulating FMM with a priority queue...
void setEnvironment(grid_t *grid)
Sets the environment (grid map) the benchmark will be run on.
Templated class which represents a n-dimensional grid map. Its cells are assumed to be cubic...
void addSolver(Solver< grid_t > *solver)
Adds a new solver to be benchmarked.
Implements Double Dynamic Queue Method.
Implements Lock Sweeping Method.
Implements Fast Iterative Method.
void setNRuns(unsigned int n)
Set number of runs for each solver.
Templated class which computes Group Marching Method (GMM).
Implements the Fast Marching Method (FMM).
void setInitialAndGoalPoints(const std::vector< unsigned int > &init_points, unsigned int goal_idx)
Sets the initial and goal points (indices) for the solvers.
void setSaveLog(bool s)
Sets the flag to save the log to a file (true) or output in terminal (false).
void run()
Automatically runs all the solvers.
void setName(const std::string &n)
Sets the name of the benchmark.