code: def from_3d_numpy_to_multi_index_adp(obj, store=None):
      res = from_3d_numpy_to_multi_index(X=obj)
      if (
          isinstance(store, dict)
          and "columns" in store.keys()
          and len(store["columns"]) == obj.shape[1]
      ):
          res.columns = store["columns"]
  
      if isinstance(store, dict) and "index_names" in store.keys():
          res.index.names = store["index_names"]
  
      return res
  
imports: import numpy
  import pandas
  from sktime.datatypes._convert_utils._coerce import _coerce_df_dtypes
  from sktime.datatypes._convert_utils._convert import _extend_conversions
  from sktime.datatypes._panel._registry import MTYPE_LIST_PANEL
  from sktime.utils.pandas import df_map
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 30 for calling a global function with example usage: from_3d_numpy_to_multi_index_adp(obj, store) and returns: res