class_docstr: Interface for 2 or 3D arrays representing images
  of raw luminance values, RGB values or HSV values.
class_docstr_tok: ["Interface","for","2","or","3D","arrays","representing","images","of","raw","luminance","values",",","RGB","values","or","HSV","values","."]
code: def coords(
      cls, dataset, dim, ordered=False, expanded=False, edges=False
  ):
      dim = dataset.get_dimension(dim, strict=True)
      if expanded:
          data = util.expand_grid_coords(dataset, dim)
          if edges and data.shape == dataset.data.shape:
              data = cls._infer_interval_breaks(data, axis=1)
              data = cls._infer_interval_breaks(data, axis=0)
          return data
      values = cls.values(dataset, dim, expanded=False)
      if edges:
          return cls._infer_interval_breaks(values)
      else:
          return values
  
imports: import numpy
  from ..None import util
  from ..boundingregion import BoundingBox
  from ..dimension import dimension_name
  from ..element import Element
  from ..ndmapping import NdMapping, item_check
  from ..sheetcoords import SheetCoordinateSystem, Slice
  from .grid import GridInterface
  from .interface import DataError, Interface
  from .util import finite_range
label_desc: Use image node_id 9 for calling the ImageInterface obj's underlying member method code with example usage: obj.coords(cls, dataset, dim, ordered, expanded, edges) and returns: data, cls, values