code: def load(cls, filename, project=None, delim=' | '):
          r
          net = {}
  
          filename = cls._parse_filename(filename, ext='vtp')
          tree = ET.parse(filename)
          piece_node = tree.find('PolyData').find('Piece')
  
          # Extract connectivity
          conn_element = piece_node.find('Lines').find('DataArray')
          conns = VTK._element_to_array(conn_element, 2)
          # Extract coordinates
          coord_element = piece_node.find('Points').find('DataArray')
          coords = VTK._element_to_array(coord_element, 3)
  
          # Extract pore data
          for item in piece_node.find('PointData').iter('DataArray'):
              key = item.get('Name')
              array = VTK._element_to_array(item)
              net[key] = array
          # Extract throat data
          for item in piece_node.find('CellData').iter('DataArray'):
              key = item.get('Name')
              array = VTK._element_to_array(item)
              net[key] = array
  
          if project is None:
              project = ws.new_project()
          project = Dict.from_dict(dct=net, project=project, delim=delim)
  
          # Clean up data values, if necessary, like convert array's of
          # 1's and 0's into boolean.
          project = cls._convert_data(project)
  
          # Add coords and conns to network
          network = project.network
          network.update({'throat.conns': conns})
          network.update({'pore.coords': coords})
  
          return project
docs: r"""
          Read in pore and throat data from a saved VTK file.
  
          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 is supplied then one will be created and returned.