code: def select(cls, dataset, selection_mask=None, **selection):
      if selection_mask is None:
          selection_mask = cls.select_mask(dataset, selection)
      indexed = cls.indexed(dataset, selection)
      data = np.atleast_2d(dataset.data[selection_mask, :])
      if len(data) == 1 and indexed and len(dataset.vdims) == 1:
          data = data[0, dataset.ndims]
      return data
  
imports: import numpy
  from ..None import util
  from ..dimension import dimension_name
  from ..element import Element
  from ..ndmapping import NdMapping, item_check, sorted_context
  from .interface import DataError, Interface
label_desc: Use image node_id 13 for calling the ArrayInterface obj's underlying member method code with example usage: obj.select(cls, dataset, selection_mask) and returns: data