docs: def tsv(self, path, features, filtered=True, override=False):
          """Export the data of the current instance to a .tsv file
  
          Parameters
          ----------
          path: str
              Path to a .tsv file. The ending .tsv is added automatically.
          features: list of str
              The features in the resulting .tsv file. These are strings
              that are defined in `dclab.definitions.scalar_feature_names`,
              e.g. "area_cvx", "deform", "frame", "fl1_max", "aspect".
          filtered: bool
              If set to `True`, only the filtered data (index in ds._filter)
              are used.
          override: bool
              If set to `True`, an existing file ``path`` will be overridden.
              If set to `False`, raises `OSError` if ``path`` exists.
          """
          features = [c.lower() for c in features]
          path = pathlib.Path(path)
          ds = self.rtdc_ds
          # Make sure that path ends with .tsv
          if path.suffix != ".tsv":
              path = path.with_name(path.name + ".tsv")
          # Check if file already exist
          if not override and path.exists():
              raise OSError("File already exists: {}\n".format(
                  str(path).encode("ascii", "ignore")) +
                  "Please use the `override=True` option.")
          # Check that features are in dfn.scalar_feature_names
          for c in features:
              if c not in dfn.scalar_feature_names:
                  raise ValueError("Unknown feature name {}".format(c))
  
          # Open file
          with path.open("w") as fd:
              # write header
              header1 = "\t".join([c for c in features])
              fd.write("# "+header1+"\n")
              header2 = "\t".join([dfn.feature_name2label[c] for c in features])
              fd.write("# "+header2+"\n")
  
          with path.open("ab") as fd:
              # write data
              if filtered:
                  data = [ds[c][ds._filter] for c in features]
              else:
                  data = [ds[c] for c in features]
  
              np.savetxt(fd,
                         np.array(data).transpose(),
                         fmt=str("%.10e"),
                         delimiter="\t")