docs: def _init_data_with_tdms(self, tdms_filename):
          """Initializes the current RT-DC dataset with a tdms file.
          """
          tdms_file = TdmsFile(str(tdms_filename))
          # time is always there
          table = "Cell Track"
          # Edit naming.dclab2tdms to add features
          for arg in naming.tdms2dclab:
              try:
                  data = tdms_file.object(table, arg).data
              except KeyError:
                  pass
              else:
                  if data is None or len(data) == 0:
                      # Ignore empty features. npTDMS treats empty
                      # features in the following way:
                      # - in nptdms 0.8.2, `data` is `None`
                      # - in nptdms 0.9.0, `data` is an array of length 0
                      continue
                  self._events[naming.tdms2dclab[arg]] = data
  
          # Set up configuration
          tdms_config = Configuration(
              files=[self.path.with_name(self._mid + "_para.ini"),
                     self.path.with_name(self._mid + "_camera.ini")],
          )
          dclab_config = Configuration()
          for section in naming.configmap:
              for pname in naming.configmap[section]:
                  meta = naming.configmap[section][pname]
                  typ = dfn.config_funcs[section][pname]
                  if isinstance(meta, tuple):
                      osec, opar = meta
                      if osec in tdms_config and opar in tdms_config[osec]:
                          val = tdms_config[osec].pop(opar)
                          dclab_config[section][pname] = typ(val)
                  else:
                      dclab_config[section][pname] = typ(meta)
  
          self.config = dclab_config
          self._complete_config_tdms(tdms_config)
  
          self._init_filters()