docs: def _load(self, filename):
          """Import all filters from a text file"""
          filename = pathlib.Path(filename)
          with filename.open() as fd:
              data = fd.readlines()
  
          # Get the strings that correspond to self.fileid
          bool_head = [l.strip().startswith("[") for l in data]
  
          int_head = np.squeeze(np.where(bool_head))
          int_head = np.atleast_1d(int_head)
  
          start = int_head[self.fileid]+1
  
          if len(int_head) > self.fileid+1:
              end = int_head[self.fileid+1]
          else:
              end = len(data)
  
          subdata = data[start:end]
  
          # separate all elements and strip them
          subdata = [[it.strip() for it in l.split("=")] for l in subdata]
  
          points = []
  
          for var, val in subdata:
              if var.lower() == "x axis":
                  xaxis = val.lower()
              elif var.lower() == "y axis":
                  yaxis = val.lower()
              elif var.lower() == "name":
                  self.name = val
              elif var.lower() == "inverted":
                  if val == "True":
                      self.inverted = True
              elif var.lower().startswith("point"):
                  val = np.array(val.strip("[]").split(), dtype=float)
                  points.append([int(var[5:]), val])
              else:
                  raise KeyError("Unknown variable: {} = {}".
                                 format(var, val))
          self.axes = (xaxis, yaxis)
          # sort points
          points.sort()
          # get only coordinates from points
          self.points = np.array([p[1] for p in points])
  
          # overwrite unique id
          unique_id = int(data[start-1].strip().strip("Polygon []"))
          self._set_unique_id(unique_id)