| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | #!/usr/bin/python## Plots the results from the 2D pose graph optimization. It will draw a line# between consecutive vertices.  The commandline expects two optional filenames:##   ./plot_results.py --initial_poses optional --optimized_poses optional## The files have the following format:#   ID x y yaw_radiansimport matplotlib.pyplot as plotimport numpyimport sysfrom optparse import OptionParserparser = OptionParser()parser.add_option("--initial_poses", dest="initial_poses",                  default="", help="The filename that contains the original poses.")parser.add_option("--optimized_poses", dest="optimized_poses",                  default="", help="The filename that contains the optimized poses.")(options, args) = parser.parse_args()# Read the original and optimized poses files.poses_original = Noneif options.initial_poses != '':  poses_original = numpy.genfromtxt(options.initial_poses, usecols = (1, 2))poses_optimized = Noneif options.optimized_poses != '':  poses_optimized = numpy.genfromtxt(options.optimized_poses, usecols = (1, 2))# Plots the results for the specified poses.plot.figure()if poses_original is not None:  plot.plot(poses_original[:, 0], poses_original[:, 1], '-', label="Original",            alpha=0.5, color="green")if poses_optimized is not None:  plot.plot(poses_optimized[:, 0], poses_optimized[:, 1], '-', label="Optimized",            alpha=0.5, color="blue")plot.axis('equal')plot.legend()# Show the plot and wait for the user to close.plot.show()
 |