InsertSinePlugin.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:urh 作者: jopohl 项目源码 文件源码
def draw_sine_wave(self):
        if self.dialog_ui.graphicsViewSineWave.scene_manager:
            self.dialog_ui.graphicsViewSineWave.scene_manager.clear_path()

        QApplication.instance().setOverrideCursor(Qt.WaitCursor)
        self.__set_status_of_editable_elements(enabled=False)
        t = np.arange(0, self.num_samples) / self.sample_rate
        arg = ((2 * np.pi * self.frequency * t + self.phase) * 1j).astype(np.complex64)
        self.complex_wave = self.amplitude * np.exp(arg)  # type: np.ndarray
        self.draw_data = np.insert(self.original_data, self.position, self.complex_wave).imag.astype(np.float32)
        y, h = self.dialog_ui.graphicsViewSineWave.view_rect().y(), self.dialog_ui.graphicsViewSineWave.view_rect().height()
        self.insert_indicator.setRect(self.position, y - h, self.num_samples, 2 * h + abs(y))

        self.__set_status_of_editable_elements(enabled=True)
        QApplication.instance().restoreOverrideCursor()
        self.dialog_ui.graphicsViewSineWave.plot_data(self.draw_data)
        self.dialog_ui.graphicsViewSineWave.show_full_scene()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号