== Overview ==
This node belongs to the [[../|PTAM]] package of the [[../../ethzasl_ptam|ETHZASL_PTAM]] stack. It is a tool to display the 3D point cloud, keyframes and current camera pose and path in RViz and to save this information to a text file for later processing.

== Usage ==
The node displays the information right after its start. Use the [[dynamic_reconfigure]] GUI to manage the information to be displayed in RViz and to store the data in text files. Note that only the point cloud of the current map in PTAM is displayed. If you only keep a few KFs in the map but still want to display all previously acquired map points, set the marker decay time in RViz to a higher value.

== Node Information ==
{{{
#!clearsilver CS/NodeAPI
node.0{
  name = ptam_visualizer
  desc = node to save and display the [[../|PTAM]] information such as the 3D point cloud, keyframes and current camera pose and path in RViz
  sub{
  0.name = vslam/pose
  0.type = geometry_msgs/PoseWithCovarianceStamped
  0.desc = PoseWidthCovarianceStamped for the 6DoF pose calculated by PTAM
}
  pub{
  0.name = vslam/path_visualization
  0.type = visualization_msgs/Marker
  0.desc = line marker for RViz to display the 3D path of the camera
  1.name = vslam/kf_visualization_array
  1.type = visualization_msgs/MarkerArray
  1.desc = marker array for RViz to display KF tripods
  2.name = vslam/kfs
  2.type = visualization_msgs/MarkerArray
  2.desc = PoseWithCovarianceStamped array containing all KFs to store in a text file
  3.name = vslam/pc2
  3.type = sensor_msgs/PointCloud2
  3.desc = PointCloud2 containing the current 3D map points of PTAM
}
# Autogenerated param section. Do not hand edit.
param {
group.0 {
name=Dynamically Reconfigurable Parameters
desc=See the [[dynamic_reconfigure]] package for details on dynamically reconfigurable parameters.
0.name= ~ShowPC
0.default= True
0.type= bool
0.desc=Show point cloud 
1.name= ~ShowAllKFs
1.default= True
1.type= bool
1.desc=Show all keyframes ever made 
2.name= ~ShowKFs
2.default= True
2.type= bool
2.desc=Show keyframes 
3.name= ~KFLifetime
3.default= 1
3.type= int
3.desc=KF lifetime in sec Range: 1 to 60000
4.name= ~ShowPath
4.default= True
4.type= bool
4.desc=Show path 
5.name= ~PathLength
5.default= 1000
5.type= int
5.desc=Number of path anchor points Range: 1 to 60000
6.name= ~ExportPC
6.default= False
6.type= bool
6.desc=export point cloud to file 
7.name= ~ExportPrefix
7.default= 
7.type= str
7.desc=prefix for export to file 
8.name= ~SaveMap
8.default= False
8.type= bool
8.desc=save full map to file 
9.name= ~KFFlags
9.default= 0
9.type= int
9.desc=0:get all KFs, <0: get N newest KFs, 1: get new KFs only Range: -100 to 1
}
}
# End of autogenerated section. You may edit below.
}}}