def discrete_structure_estimation_cb(self, req): states = [{ns.node: ns.state for ns in s.node_states} for s in req.states] pvalparam = 0.05 # default value indegree = 1 # default value if req.pvalparam != 0.0: pvalparam = req.pvalparam if req.indegree != 0: indegree = req.indegree res = self.learner.discrete_constraint_estimatestruct( states, pvalparam=pvalparam, indegree=indegree) return DiscreteStructureEstimationResponse( U.graph_skeleton_to_ros(res))
def lg_structure_estimation_cb(self, req): states = [{ns.node: ns.state for ns in s.node_states} for s in req.states] rospy.logdebug(states) pvalparam = 0.05 # default value bins = 10 # default value indegree = 1 # default value if req.pvalparam != 0.0: pvalparam = req.pvalparam if req.bins != 0: bins = req.bins if req.indegree != 0: indegree = req.indegree rospy.logdebug("bins: %d, pvalparam: %f, indegree: %d" % (bins, pvalparam, indegree)) res = self.learner.lg_constraint_estimatestruct(states, pvalparam=pvalparam, bins=bins, indegree=indegree) rospy.logdebug("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") rospy.logdebug(res.V) rospy.logdebug(res.E) return LinearGaussianStructureEstimationResponse( U.graph_skeleton_to_ros(res))