code: def launder(ds):
      if isinstance(ds, str):
          ds = dshape(ds)
      if isinstance(ds, DataShape):
          ds = ds.measure
      return getattr(ds, "ty", ds)
  
file_path: datashader/datashader/datashape/predicates.py
imports: import numpy
  from .util import collect, dshape
  from .internal_utils import remove
  from .coretypes import DataShape, Fixed, Var, Ellipsis, Record, Unit, date_, datetime_, TypeVar, to_numpy_dtype, Categorical
  from .typesets import floating, boolean
label_desc: Use image node_id 10 for calling a global function with example usage: launder(ds) and returns: getattr