code: def metadata_from_fname(self, fname):
          
          MetaData = namedtuple('MetaData', self.split_order)
          base_name = os.path.basename(fname)              # e.g. 'test_S1_C2_Z3_T4.tif'
          name, suffix = base_name.split('.')              # e.g. 'test_S1_C2_Z3_T4', 'tif'
          data = name.split('_')[-len(self.split_order):]  # e.g. ['S1', 'C2', 'Z3', 'T4']
          args = [ int(x[1:]) for x in data ]               # e.g. [1, 2, 3, 4]
          return MetaData(*args)
docs: Return meta data extracted from file name.
          
          :param fname: metadata file name
          :returns: dynamically created :class:`collections.namedtuple`