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 dtype(cls, dataset, dimension):
      idx = dataset.get_dimension_index(dimension)
      if idx in [0, 1]:
          return np.dtype("float")
      else:
          return dataset.data.dtype
  
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 4 for calling the ImageInterface obj's underlying member method code with example usage: obj.dtype(cls, dataset, dimension) and returns: np, dataset