code: def deconstruct_numpy(array, mask=None):
      """Given a numpy array, parse it and return the data as well as a numpy
      array of null indices.
  
      Args:
          array (:obj:`numpy.array`)
  
      Keyword Args:
          mask (:obj:`numpy.array`)
  
      Returns:
          (:obj:`dict`): `array` is the original array, and `mask` is an array of
              booleans where `True` represents a nan/None value.
      """
      if mask is None:
          mask = make_null_mask(array)
  
      if array.dtype == bool or array.dtype == "?":
          # bool => byte
          array = array.astype("b", copy=False)
      elif np.issubdtype(array.dtype, np.datetime64):
          # treat days/weeks/months/years as datetime objects - avoid idiosyncracy
          # with days of month, etc.
          if array.dtype in DATE_DTYPES:
              array = array.astype(datetime)
  
          # cast datetimes to millisecond timestamps
          # because datetime64("nat") is a double, cast to float64 here - C++
          # handles the rest
          if array.dtype == np.dtype("datetime64[us]"):
              array = array.astype(np.float64, copy=False) / 1000
          elif array.dtype == np.dtype("datetime64[ns]"):
              array = array.astype(np.float64, copy=False) / 1000000
          elif array.dtype == np.dtype("datetime64[ms]"):
              array = array.astype(np.float64, copy=False)
          elif array.dtype == np.dtype("datetime64[s]"):
              array = array.astype(np.float64, copy=False) * 1000
          elif array.dtype == np.dtype("datetime64[m]"):
              array = array.astype(np.float64, copy=False) * 60000
          elif array.dtype == np.dtype("datetime64[h]"):
              array = array.astype(np.float64, copy=False) * 3600000
      elif np.issubdtype(array.dtype, np.timedelta64):
          array = array.astype(np.float64, copy=False)
  
      return {"array": array, "mask": mask}
  
label_desc: Use image node_id 2 for calling a global function with example usage: deconstruct_numpy(array, mask) and returns: dict