Esempio n. 1
0
    def update(self, d):
        x = d["ts"]
        for i, curve in enumerate(self.td_curves):
            y = d["sweep_history"][:, i]
            utils.pg_curve_set_data_with_nan(curve, x, y)

        r = self.td_smooth_lims.update(d["sweep_history"])
        self.td_plot.setYRange(*r)

        x = d["fs"]
        y = d["collapsed_asd"]
        self.collapsed_curve.setData(x, y)
        m = self.collapsed_smooth_max.update(y)
        self.collapsed_plot.setXRange(0, x[-1])
        self.collapsed_plot.setYRange(0, m)

        f_max = x[y.argmax()]
        self.collapsed_vline.setPos(f_max)
        self.collapsed_vline.show()

        if self.f:
            s = "Peak: {:5.1f} Hz".format(f_max)
        else:
            s = "Peak: {:3.0f}".format(f_max)
        self.collapsed_text.setText(s)

        im = self.collapsed_history_im
        y = d["collapsed_asd_history"]
        im.updateImage(y[::-1], levels=(0, 1.05 * y.max()))

        y = d["dw_asd"]
        m = max(1, np.max(y)) * 1.05
        self.dw_im.updateImage(y, levels=(0, m))
Esempio n. 2
0
    def update(self, data):
        self.sweep_curve.setData(100.0 * self.r, data["sweep"])
        self.mean_sweep_curve.setData(100.0 * self.r, data["last_mean_sweep"])
        utils.pg_curve_set_data_with_nan(  # Workaround for bug in PyQt5/PyQtGraph
            self.threshold_curve, 100.0 * self.r, data["threshold"])

        m = np.nanmax(
            np.concatenate([
                2 * data["threshold"],
                data["sweep"],
                data["last_mean_sweep"],
            ]))
        ymax = self.smooth_max_sweep.update(m)
        self.sweep_plot.setYRange(0, ymax)

        self.main_peak.setData(data["main_peak_hist_sweep_s"],
                               100 * data["main_peak_hist_dist"])
        self.minor_peaks.setData(data["minor_peaks_hist_sweep_s"],
                                 100 * data["minor_peaks_hist_dist"])
    def update(self, data):
        self.sweep_curve.setData(100.0 * self.r, data["sweep"])
        self.mean_sweep_curve.setData(100.0 * self.r, data["last_mean_sweep"])
        utils.pg_curve_set_data_with_nan(  # Workaround for bug in PyQt5/PyQtGraph
            self.threshold_curve, 100.0 * self.r, data["threshold"])

        m = np.nanmax(
            np.concatenate([
                2 * data["threshold"],
                data["sweep"],
                data["last_mean_sweep"],
            ]))
        ymax = self.smooth_max_sweep.update(m)
        self.sweep_plot.setYRange(0, ymax)

        self.main_peak.setData(data["main_peak_hist_sweep_s"],
                               100 * data["main_peak_hist_dist"])
        self.minor_peaks.setData(data["minor_peaks_hist_sweep_s"],
                                 100 * data["minor_peaks_hist_dist"])
        self.first_distance_above_threshold.setData(
            data["above_thres_hist_sweep_s"],
            100 * data["above_thres_hist_dist"])

        if data["found_peaks"] is not None:
            peaks = np.take(self.r, data["found_peaks"]) * 100.0
            for i, line in enumerate(self.peak_lines):
                try:
                    peak = peaks[i]
                except (TypeError, IndexError):
                    line.hide()
                else:
                    line.setPos(peak)
                    line.show()

            if data["found_peaks"]:
                text = "{:.2f} cm".format(peaks[0])
            else:
                text = "-"

            self.peak_text.setText(text)