def corners(self, order='C'):
        """Return the corner points as a single array.

        Parameters
        ----------
        order : {'C', 'F'}, optional
            Ordering of the axes in which the corners appear in
            the output. ``'C'`` means that the first axis varies slowest
            and the last one fastest, vice versa in ``'F'`` ordering.

        Returns
        -------
        corners : `numpy.ndarray`
            Array containing the corner coordinates. The size of the
            array is ``2^m x ndim``, where ``m`` is the number of
            non-degenerate axes, i.e. the corners are stored as rows.

        Examples
        --------
        >>> intv = IntervalProd([-1, 2, 0], [-0.5, 3, 0.5])
        >>> intv.corners()
        array([[-1. ,  2. ,  0. ],
               [-1. ,  2. ,  0.5],
               [-1. ,  3. ,  0. ],
               [-1. ,  3. ,  0.5],
               [-0.5,  2. ,  0. ],
               [-0.5,  2. ,  0.5],
               [-0.5,  3. ,  0. ],
               [-0.5,  3. ,  0.5]])
        >>> intv.corners(order='F')
        array([[-1. ,  2. ,  0. ],
               [-0.5,  2. ,  0. ],
               [-1. ,  3. ,  0. ],
               [-0.5,  3. ,  0. ],
               [-1. ,  2. ,  0.5],
               [-0.5,  2. ,  0.5],
               [-1. ,  3. ,  0.5],
               [-0.5,  3. ,  0.5]])
        """
        from odl.discr.grid import RectGrid

        minmax_vecs = [0] * self.ndim
        for axis in np.where(~self.nondegen_byaxis)[0]:
            minmax_vecs[axis] = self.min_pt[axis]
        for axis in np.where(self.nondegen_byaxis)[0]:
            minmax_vecs[axis] = (self.min_pt[axis], self.max_pt[axis])

        minmax_grid = RectGrid(*minmax_vecs)
        return minmax_grid.points(order=order)
Return the corner points as a single array.

        Parameters
        ----------
        order : {'C', 'F'}, optional
            Ordering of the axes in which the corners appear in
            the output. ``'C'`` means that the first axis varies slowest
            and the last one fastest, vice versa in ``'F'`` ordering.

        Returns
        -------
        corners : `numpy.ndarray`
            Array containing the corner coordinates. The size of the
            array is ``2^m x ndim``, where ``m`` is the number of
            non-degenerate axes, i.e. the corners are stored as rows.

        Examples
        --------
        >>> intv = IntervalProd([-1, 2, 0], [-0.5, 3, 0.5])
        >>> intv.corners()
        array([[-1. ,  2. ,  0. ],
               [-1. ,  2. ,  0.5],
               [-1. ,  3. ,  0. ],
               [-1. ,  3. ,  0.5],
               [-0.5,  2. ,  0. ],
               [-0.5,  2. ,  0.5],
               [-0.5,  3. ,  0. ],
               [-0.5,  3. ,  0.5]])
        >>> intv.corners(order='F')
        array([[-1. ,  2. ,  0. ],
               [-0.5,  2. ,  0. ],
               [-1. ,  3. ,  0. ],
               [-0.5,  3. ,  0. ],
               [-1. ,  2. ,  0.5],
               [-0.5,  2. ,  0.5],
               [-1. ,  3. ,  0.5],
               [-0.5,  3. ,  0.5]])