def align_spectrum(self): align_sp = self.session.selected_spectrum() if align_sp: self.align_menu.set(align_sp.name) align_peaks = align_sp.selected_peaks() ref_peaks = pyutil.subtract_lists(self.session.selected_peaks(), align_peaks) if len(ref_peaks) == 1: ref_peak = ref_peaks[0] ref_sp = ref_peak.spectrum self.ref_menu.set(ref_sp.name) self.show_window(1)
def resonance_linewidth_and_position(spectrum, peak, axis, not_these_peaks): freq = peak.frequency[axis] linewidth = 0 r = peak.resonances()[axis] if r: freq = r.frequency opeaks = assigned_peaks(spectrum, r, axis) opeaks = pyutil.subtract_lists(opeaks, not_these_peaks) if opeaks: freq = average_frequency(opeaks, axis) linewidth = average_linewidth(opeaks, axis) if linewidth == 0: out = spectrum.session.stdout out.write('No w%d axis %s %s linewidth\n' % (axis+1, spectrum.name, r.name)) else: out = spectrum.session.stdout out.write('No w%d axis %s %s peaks\n' % (axis+1, spectrum.name, r.name)) return freq, linewidth
def unassigned_resonances(self): assignable = self.assignment_system.assignable_resonances assigned = self.assigned_resonances() return pyutil.subtract_lists(assignable, assigned)
def unassigned_expected_peaks(self): assigned = map(lambda ed: ed[0], self.peak_assignments) all = self.expected_peaks unassigned = pyutil.subtract_lists(all, assigned) return unassigned