code: def load(cls, filename, project=None):
          r
          filename = cls._parse_filename(filename=filename, ext='mat')
          data = spio.loadmat(filename)
          # Reinsert the '.' separator into the array names
          for item in list(data.keys()):
              if item in ['__header__', '__version__', '__globals__']:
                  data.pop(item)
                  continue
              elif '_pore_' in item:
                  path, prop = item.split('_pore_')
                  new_key = path + '|pore.' + prop
              elif '_throat_' in item:
                  path, prop = item.split('_throat_')
                  new_key = path + '|throat.' + prop
              data[new_key] = data.pop(item)
  
          if project is None:
              project = ws.new_project()
          project = Dict.from_dict(data, project=project, delim='|')
  
          project = cls._convert_data(project)
  
          return project
docs: r"""
          Loads data onto the given network from an appropriately formatted
          'mat' file (i.e. MatLAB output).
  
          Parameters
          ----------
          filename : string (optional)
              The name of the file containing the data to import.  The formatting
              of this file is outlined below.
  
          project : OpenPNM Project object
              A GenericNetwork is created and added to the specified Project.
              If no Project object is supplied then one will be created and
              returned.
  
          Returns
          -------
          If no project object is supplied then one will be created and returned.