def __plot_diff(self): diff = {} intersections = 0 if self.spectrum1 is not None and self.spectrum2 is not None: set1 = set(self.spectrum1) set2 = set(self.spectrum2) intersect = set1.intersection(set2) intersections = len(intersect) for freq in intersect: diff[freq] = self.spectrum1[freq] - self.spectrum2[freq] freqs, powers = split_spectrum_sort(diff) self.plotDiff.set_xdata(freqs) self.plotDiff.set_ydata(powers) elif self.spectrum1 is None: freqs, powers = split_spectrum_sort(self.spectrum2) intersections = len(freqs) self.plotDiff.set_xdata(freqs) self.plotDiff.set_ydata([0] * intersections) else: freqs, powers = split_spectrum_sort(self.spectrum1) intersections = len(freqs) self.plotDiff.set_xdata(freqs) self.plotDiff.set_ydata([0] * intersections) self.spectrumDiff = diff self.textIntersect.SetLabel('Intersections: {}'.format(intersections))
def set_spectrum2(self, spectrum): timeStamp = max(spectrum) self.spectrum2 = spectrum[timeStamp] freqs, powers = split_spectrum_sort(self.spectrum2) self.plotScan2.set_xdata(freqs) self.plotScan2.set_ydata(powers) self.__plot_diff() self.__relim() self.autoscale()
def set_spectrum1(self, spectrum): timeStamp = max(spectrum) self.spectrum1 = spectrum[timeStamp] freqs, powers = split_spectrum_sort(self.spectrum1) self.plotScan1.set_xdata(freqs) self.plotScan1.set_ydata(powers) self.axesScan.relim() self.plot_diff() self.autoscale()