4 from jsk_topic_tools 
import ConnectionBasedTransport
 
    6 from pcl_msgs.msg 
import ModelCoefficients
 
    9 from dynamic_reconfigure.server 
import Server
 
   10 from jsk_pcl_ros.cfg 
import ExtractTopPolygonLikelihoodConfig
 
   14         super(ExtractTopPolygonLikelihood, self).
__init__()
 
   16         self.
_pub = self.advertise(
"~output", PolygonArray, queue_size=1)
 
   17         self.
_pub_coef = self.advertise(
"~output/coefficients", ModelCoefficientsArray, queue_size=1)
 
   27         self.
_sub.sub.unregister()
 
   30         if len(msg.polygons) > 0:
 
   32             max_index = max(list(range(len(msg.polygons))), key=
lambda i: msg.likelihood[i])
 
   34             res.header = msg.header
 
   35             res.polygons = [msg.polygons[max_index]]
 
   36             res.likelihood = [msg.likelihood[max_index]]
 
   38                 rospy.loginfo(
"Ignore result because of too small likelihood: {0} < {1}".format(
 
   39                     msg.likelihood[max_index],
 
   42             self.
_pub.publish(res)
 
   43             res_coef = ModelCoefficientsArray()
 
   44             res_coef.header = msg.header
 
   45             res_coef.coefficients = [msg_coef.coefficients[max_index]]
 
   49 if __name__ == 
"__main__":
 
   50     rospy.init_node(
"extract_top_polygon_likelihood")