Hi,
1. MLS is for post-processing only and it is not a graph optimization approach. It is used to smooth the point cloud as in this PCL tutorial:
http://pointclouds.org/documentation/tutorials/resampling.php. Graph optimization approaches are TORO, g2o or GTSAM.
2. I've updated the introduction text for the
map_optimizer node. "RGBD/ToroIterations" (now "RGBD/OptimizeIterations") set to 0 deactivates graph optimization inside rtabmap node to save computation power as the graph is optimized in map_optimizer instead. Setting "publish_tf" to false is to avoid rtabmap and map_optimizer publishing both /map->/odom TF (only one node should publish this TF).
3. If there are no loop closures, there will be no difference. Well, rtabmapviz can subscribe to "/rtabmap/mapData_optimized" instead of "/rtabmap/mapData" too.
However, I don't really recommend the usage of map_optimizer node as its computation is not bounded:the more nodes added to graph, the more time will be required to optimize. Keeping optimization done inside rtabmap node is preferred (default) to keep online processing.
cheers