def METHOD_NAME(self):
    import h5py
    hdf5_file = h5py.File(self.filename, 'r')
    keys = list(hdf5_file.keys())
    # map all unique data channels
    channel_map = {}
    for meas_name in filter(lambda s: s.startswith('Measurement'), keys):
        hdf5_meas = hdf5_file[meas_name]
        meas_keys = list(hdf5_meas.keys())
        meas_attrs = hdf5_meas.attrs
        # skip background measurements
        if meas_attrs.keys().__contains__('IsBackground') and meas_attrs['IsBackground'][0]:
            continue
        for chan_name in filter(lambda s: s.startswith('Channel'), meas_keys):
            hdf5_chan = hdf5_meas[chan_name]
            try:
                signal = hdf5_chan.attrs['DataSignal']
                if not channel_map.keys().__contains__(signal):
                    label = hdf5_chan.attrs['Label']
                    channel_map[signal] = label
            except:
                pass
    if len(channel_map) == 0:
        raise IOError("Error reading channels from " + self.filename)
    return channel_map