def getBoardCorners(params):
    axes = [np.array(params[axis]) for axis in ['xaxis', 'yaxis', 'zaxis']]
    widths = [np.array(params[axis])/2.0 for axis in ['xwidth', 'ywidth', 'zwidth']]
    edges = [axes[i] * widths[i] for i in xrange(3)]
    origin = np.array(params['origin'])
    return [
            origin + edges[0] + edges[1] + edges[2],
            origin - edges[0] + edges[1] + edges[2],
            origin - edges[0] - edges[1] + edges[2],
            origin + edges[0] - edges[1] + edges[2],
            origin + edges[0] + edges[1] - edges[2],
            origin - edges[0] + edges[1] - edges[2],
            origin - edges[0] - edges[1] - edges[2],
            origin + edges[0] - edges[1] - edges[2],
           ]
dataset/ETHPy150Open RobotLocomotion/director/src/python/director/segmentation.py/getBoardCorners/original