# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'GUI_v1.ui' # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. from PyQt5 import QtCore, QtGui, QtWidgets, QtWebEngineWidgets from PyQt5.QtWidgets import ( QLabel, QFileDialog, ) from PyQt5.QtGui import QPixmap, QPainter, QImage from PyQt5.QtCore import Qt, QPoint from pathlib import Path from aira.core import AmbisonicsImpulseResponseAnalyzer from aira.engine.input import InputMode class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1350, 727) MainWindow.setMinimumSize(QtCore.QSize(1200, 900)) MainWindow.setWindowIcon(QtGui.QIcon(str(Path("docs/images/aira-icon.png")))) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setStyleSheet("background-color:#313438 ; ") self.centralwidget.setObjectName("centralwidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.frame_main = QtWidgets.QFrame(self.centralwidget) self.frame_main.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_main.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_main.setObjectName("frame_main") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frame_main) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.tabWidget = QtWidgets.QTabWidget(self.frame_main) self.tabWidget.setObjectName("tabWidget") self.tab_main = QtWidgets.QWidget() self.tab_main.setObjectName("tab_main") self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab_main) self.horizontalLayout.setObjectName("horizontalLayout") self.frame_inputs = QtWidgets.QFrame(self.tab_main) self.frame_inputs.setMaximumSize(QtCore.QSize(300, 16777215)) self.frame_inputs.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_inputs.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_inputs.setObjectName("frame_inputs") self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.frame_inputs) self.verticalLayout_7.setObjectName("verticalLayout_7") spacerItem = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem) spacerItem1 = QtWidgets.QSpacerItem( 277, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem1) self.frame_logo_main = QtWidgets.QFrame(self.frame_inputs) self.frame_logo_main.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_logo_main.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_logo_main.setObjectName("frame_logo_main") self.label_logo_main = QtWidgets.QLabel(self.frame_logo_main) self.label_logo_main.setGeometry(QtCore.QRect(20, 30, 177, 50)) self.label_logo_main.setMaximumSize(QtCore.QSize(500, 500)) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(69, 113, 213)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(69, 113, 213)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) self.label_logo_main.setPalette(palette) font = QtGui.QFont() font.setFamily("Medel") font.setPointSize(24) self.label_logo_main.setFont(font) self.label_logo_main.setText("") self.label_logo_main.setPixmap( QtGui.QPixmap(str(Path("docs/images/aira-logo.png"))) ) self.label_logo_main.setScaledContents(True) self.label_logo_main.setAlignment(QtCore.Qt.AlignCenter) self.label_logo_main.setObjectName("label_logo_main") self.verticalLayout_7.addWidget(self.frame_logo_main) self.frame_settings = QtWidgets.QFrame(self.frame_inputs) self.frame_settings.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_settings.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_settings.setObjectName("frame_settings") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.frame_settings) self.verticalLayout_5.setObjectName("verticalLayout_5") self.frame_analyze = QtWidgets.QFrame(self.frame_settings) self.frame_analyze.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_analyze.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_analyze.setObjectName("frame_analyze") self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.frame_analyze) self.verticalLayout_6.setObjectName("verticalLayout_6") spacerItem2 = QtWidgets.QSpacerItem( 20, 10, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_6.addItem(spacerItem2) self.label_integration_window = QtWidgets.QLabel(self.frame_analyze) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ToolTipText, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.PlaceholderText, brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ToolTipText, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.PlaceholderText, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ToolTipText, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.PlaceholderText, brush) self.label_integration_window.setPalette(palette) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(12) self.label_integration_window.setFont(font) self.label_integration_window.setObjectName("label_integration_window") self.verticalLayout_6.addWidget(self.label_integration_window) self.rB_1ms = QtWidgets.QRadioButton(self.frame_analyze) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) self.rB_1ms.setPalette(palette) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(12) self.rB_1ms.setFont(font) self.rB_1ms.setObjectName("rB_1ms") self.verticalLayout_6.addWidget(self.rB_1ms) self.rB_5ms = QtWidgets.QRadioButton(self.frame_analyze) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) self.rB_5ms.setPalette(palette) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(12) self.rB_5ms.setFont(font) self.rB_5ms.setObjectName("rB_5ms") self.rB_5ms.setChecked(True) self.verticalLayout_6.addWidget(self.rB_5ms) self.rB_10ms = QtWidgets.QRadioButton(self.frame_analyze) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) self.rB_10ms.setPalette(palette) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(12) self.rB_10ms.setFont(font) self.rB_10ms.setObjectName("rB_10ms") self.verticalLayout_6.addWidget(self.rB_10ms) spacerItem3 = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_6.addItem(spacerItem3) self.label_analysis_length = QtWidgets.QLabel(self.frame_analyze) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ToolTipText, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.PlaceholderText, brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ToolTipText, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.PlaceholderText, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ToolTipText, brush) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.PlaceholderText, brush) self.label_analysis_length.setPalette(palette) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(12) self.label_analysis_length.setFont(font) self.label_analysis_length.setObjectName("label_analysis_length") self.verticalLayout_6.addWidget(self.label_analysis_length) self.lineEdit_aLength = QtWidgets.QLineEdit(self.frame_analyze) self.lineEdit_aLength.setText("500") font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(10) self.lineEdit_aLength.setFont(font) self.lineEdit_aLength.setStyleSheet( "background-color: rgb(255, 255, 255);\n" "\n" "" ) self.lineEdit_aLength.setObjectName("lineEdit_aLength") self.verticalLayout_6.addWidget(self.lineEdit_aLength) spacerItem4 = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_6.addItem(spacerItem4) self.label_threshold = QtWidgets.QLabel(self.frame_analyze) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) self.label_threshold.setPalette(palette) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(12) self.label_threshold.setFont(font) self.label_threshold.setObjectName("label_threshold") self.verticalLayout_6.addWidget(self.label_threshold) self.lineEdit_threshold = QtWidgets.QLineEdit(self.frame_analyze) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(10) self.lineEdit_threshold.setFont(font) self.lineEdit_threshold.setStyleSheet( "background-color: rgb(255, 255, 255);\n" "\n" "" ) self.lineEdit_threshold.setText("-60") self.lineEdit_threshold.setObjectName("lineEdit_threshold") self.verticalLayout_6.addWidget(self.lineEdit_threshold) spacerItem5 = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_6.addItem(spacerItem5) self.verticalLayout_5.addWidget(self.frame_analyze) self.pb_analyze = QtWidgets.QPushButton(self.frame_settings) self.pb_analyze.setMinimumSize(QtCore.QSize(100, 40)) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(14) self.pb_analyze.setFont(font) self.pb_analyze.setStyleSheet( "QPushButton{\n" " border: 2px solid rgb(69, 113, 213);\n" " border-radius: 10px;\n" " background: rgb(69, 113, 213);\n" " color: rgb(255, 255, 255)\n" "}\n" "QPushButton:hover{\n" " border: rgb(96, 133, 213);\n" " background: rgb(96, 133, 213);\n" "}" ) self.pb_analyze.setObjectName("pb_analyze") self.verticalLayout_5.addWidget(self.pb_analyze) self.verticalLayout_7.addWidget(self.frame_settings) spacerItem6 = QtWidgets.QSpacerItem( 277, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem6) spacerItem7 = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem7) spacerItem8 = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem8) spacerItem9 = QtWidgets.QSpacerItem( 40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem9) spacerItem10 = QtWidgets.QSpacerItem( 277, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.verticalLayout_7.addItem(spacerItem10) self.horizontalLayout.addWidget(self.frame_inputs) self.frame_graphics = QtWidgets.QFrame(self.tab_main) self.frame_graphics.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_graphics.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_graphics.setObjectName("frame_graphics") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frame_graphics) self.verticalLayout_4.setContentsMargins(-1, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.frame_hedgehog = QtWidgets.QFrame(self.frame_graphics) self.frame_hedgehog.setMinimumSize(QtCore.QSize(0, 400)) self.frame_hedgehog.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_hedgehog.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_hedgehog.setObjectName("frame_hedgehog") self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.frame_hedgehog) self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) self.verticalLayout_8.setObjectName("verticalLayout_8") spacerItem11 = QtWidgets.QSpacerItem( 430, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) palette = QtGui.QPalette() brush = QtGui.QBrush(QtGui.QColor(69, 113, 213)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(69, 113, 213)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush) brush = QtGui.QBrush(QtGui.QColor(120, 120, 120)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.WindowText, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(49, 52, 56)) brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(15) spacerItem12 = QtWidgets.QSpacerItem( 429, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.frame_hedgehog_plot = QtWidgets.QFrame(self.frame_hedgehog) self.frame_hedgehog_plot.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_hedgehog_plot.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_hedgehog_plot.setObjectName("frame_hedgehog_plot") self.gV_hedgehog = QtWebEngineWidgets.QWebEngineView(self.frame_hedgehog_plot) self.gV_hedgehog.setGeometry(QtCore.QRect(0, 0, 1558, 900)) self.gV_hedgehog.setStyleSheet("background-color: #313438") self.gV_hedgehog.setObjectName("gV_hedgehog") self.verticalLayout_8.addWidget(self.frame_hedgehog_plot) self.verticalLayout_4.addWidget(self.frame_hedgehog) self.horizontalLayout.addWidget(self.frame_graphics) self.tabWidget.addTab(self.tab_main, "") self.tab_plan = QtWidgets.QWidget() # acá empieza la tab 2 self.tab_plan.setObjectName("tab_plan") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab_plan) self.verticalLayout_3.setObjectName("verticalLayout_3") self.frame_tab_plan = QtWidgets.QFrame(self.tab_plan) self.frame_tab_plan.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_tab_plan.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_tab_plan.setObjectName("frame_tab_plan") self.verticalLayout_10 = QtWidgets.QVBoxLayout(self.frame_tab_plan) self.verticalLayout_10.setObjectName("verticalLayout_10") self.frame_plan_header = QtWidgets.QFrame(self.frame_tab_plan) self.frame_plan_header.setMaximumSize(QtCore.QSize(16777215, 60)) self.frame_plan_header.setMinimumSize(QtCore.QSize(0, 60)) self.frame_plan_header.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_plan_header.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_plan_header.setObjectName("frame_plan_header") self.frame_logo_plan = QtWidgets.QFrame(self.frame_plan_header) self.frame_logo_plan.setGeometry(QtCore.QRect(-10, 0, 201, 101)) self.frame_logo_plan.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_logo_plan.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_logo_plan.setObjectName("frame_logo_plan") self.label_logo_plan = QtWidgets.QLabel(self.frame_logo_plan) self.label_logo_plan.setGeometry(QtCore.QRect(30, 20, 141, 41)) self.label_logo_plan.setText("") self.label_logo_plan.setPixmap( QtGui.QPixmap(str(Path("docs/images/aira-logo.png"))) ) self.label_logo_plan.setScaledContents(True) self.label_logo_plan.setObjectName("label_logo_plan") self.verticalLayout_10.addWidget(self.frame_plan_header) self.frame_view = QtWidgets.QFrame(self.frame_tab_plan) self.frame_view.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_view.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_view.setObjectName("frame_view") self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.frame_view) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.frame_plan_view = QtWidgets.QFrame(self.frame_view) self.frame_plan_view.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_plan_view.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_plan_view.setObjectName("frame_plan_view") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.frame_plan_view) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.label_plan_view = QtWidgets.QLabel(self.frame_plan_view) self.label_plan_view.setText("") self.label_plan_view.setObjectName("label_plan_view") self.label_plan_view.setAlignment(Qt.AlignCenter) pixmap = QPixmap(str(Path("docs/images/aira-banner.png"))) self.label_plan_view.setPixmap( pixmap.scaled(750, 3000, aspectRatioMode=Qt.KeepAspectRatio) ) self.horizontalLayout_6.addWidget(self.label_plan_view) self.horizontalLayout_5.addWidget(self.frame_plan_view) self.verticalLayout_10.addWidget(self.frame_view) self.frame_plan_footer = QtWidgets.QFrame(self.frame_tab_plan) self.frame_plan_footer.setMaximumSize(QtCore.QSize(16777215, 60)) self.frame_plan_footer.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_plan_footer.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_plan_footer.setObjectName("frame_plan_footer") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.frame_plan_footer) self.horizontalLayout_4.setObjectName("horizontalLayout_4") spacerItem15 = QtWidgets.QSpacerItem( 265, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.horizontalLayout_4.addItem(spacerItem15) self.pB_load_plan = QtWidgets.QPushButton(self.frame_plan_footer) self.pB_load_plan.setMinimumSize(QtCore.QSize(171, 40)) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(14) self.pB_load_plan.setFont(font) self.pB_load_plan.setStyleSheet( "QPushButton{\n" " border: 2px solid rgb(69, 113, 213);\n" " border-radius: 10px;\n" " background: rgb(69, 113, 213);\n" " color: rgb(255, 255, 255)\n" "}\n" "QPushButton:hover{\n" " border: rgb(96, 133, 213);\n" " background: rgb(96, 133, 213);\n" "}\n" "" ) self.pB_load_plan.setObjectName("pushButton") self.horizontalLayout_4.addWidget(self.pB_load_plan) spacerItem16 = QtWidgets.QSpacerItem( 382, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.horizontalLayout_4.addItem(spacerItem16) self.pB_export_plan = QtWidgets.QPushButton(self.frame_plan_footer) self.pB_export_plan.setEnabled(False) self.pB_export_plan.setMinimumSize(QtCore.QSize(171, 40)) font = QtGui.QFont() font.setFamily("Lato") font.setPointSize(14) self.pB_export_plan.setFont(font) self.pB_export_plan.setStyleSheet( "QPushButton{\n" " border: 2px solid rgb(69, 76, 93);\n" " border-radius: 10px;\n" " background: rgb(69, 76, 93);\n" " color: rgb(255, 255, 255)\n" "}\n" "QPushButton:hover{\n" " border: rgb(96, 133, 213);\n" " background: rgb(96, 133, 213);\n" "}" ) self.pB_export_plan.setObjectName("pB_export_plan") self.horizontalLayout_4.addWidget(self.pB_export_plan) spacerItem17 = QtWidgets.QSpacerItem( 265, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum ) self.horizontalLayout_4.addItem(spacerItem17) self.verticalLayout_10.addWidget(self.frame_plan_footer) self.verticalLayout_3.addWidget(self.frame_tab_plan) self.tabWidget.addTab(self.tab_plan, "") self.verticalLayout_2.addWidget(self.tabWidget) self.verticalLayout.addWidget(self.frame_main) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1350, 21)) self.menubar.setObjectName("menubar") self.menuFile = QtWidgets.QMenu(self.menubar) self.menuFile.setObjectName("menuFile") self.menuImport = QtWidgets.QMenu(self.menuFile) self.menuImport.setObjectName("menuImport") self.menuImport_A_format = QtWidgets.QMenu(self.menuImport) self.menuImport_A_format.setObjectName("menuImport_A_format") self.menuImport_B_format = QtWidgets.QMenu(self.menuImport) self.menuImport_B_format.setObjectName("menuImport_B_format") self.menuExport = QtWidgets.QMenu(self.menuFile) self.menuExport.setObjectName("menuExport") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.actionImport_Aformat_1channel = QtWidgets.QAction(MainWindow) self.actionImport_Aformat_1channel.setObjectName( "actionImport_Aformat_1channel" ) self.actionImport_Aformat_4channels = QtWidgets.QAction(MainWindow) self.actionImport_Aformat_4channels.setObjectName( "actionImport_Aformat_4channels" ) self.actionImport_Bformat_1channel = QtWidgets.QAction(MainWindow) self.actionImport_Bformat_1channel.setObjectName( "actionImport_Bformat_1channel" ) self.actionImport_Bformat_4channels = QtWidgets.QAction(MainWindow) self.actionImport_Bformat_4channels.setObjectName( "actionImport_Bformat_4channels" ) self.actionImport_LSS = QtWidgets.QAction(MainWindow) self.actionImport_LSS.setObjectName("actionImport_LSS") self.actionExport_hedgehog_plot = QtWidgets.QAction(MainWindow) self.actionExport_hedgehog_plot.setObjectName("actionExport_hedgehog_plot") self.menuImport_A_format.addAction(self.actionImport_Aformat_1channel) self.menuImport_A_format.addAction(self.actionImport_Aformat_4channels) self.menuImport_B_format.addAction(self.actionImport_Bformat_1channel) self.menuImport_B_format.addAction(self.actionImport_Bformat_4channels) self.menuImport.addAction(self.actionImport_LSS) self.menuExport.addAction(self.actionExport_hedgehog_plot) self.menuFile.addAction(self.menuImport.menuAction()) self.menuImport.addAction(self.menuImport_A_format.menuAction()) self.menuImport.addAction(self.menuImport_B_format.menuAction()) self.menuFile.addAction(self.menuExport.menuAction()) self.menubar.addAction(self.menuFile.menuAction()) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) # CONEXIONES DE GUI CON ACCIONES # Labels para guardar la data que devuelven las funciones de import triggereadas self.path_1 = QLabel() self.path_2 = QLabel() self.path_3 = QLabel() self.path_4 = QLabel() self.path_5 = QLabel() self.input_mode_selected = QLabel() self.channels_per_file_selected = QLabel() self.actionImport_LSS.triggered.connect(self.import_LSS) self.actionImport_Aformat_1channel.triggered.connect( self.import_Aformat_1channel ) self.actionImport_Aformat_4channels.triggered.connect( self.import_Aformat_4channels ) self.actionImport_Bformat_1channel.triggered.connect( self.import_Bformat_1channel ) self.actionImport_Bformat_4channels.triggered.connect( self.import_Bformat_4channels ) self.actionExport_hedgehog_plot.triggered.connect(self.export_hedgehog) self.pb_analyze.clicked.connect(self.analyze) self.pB_load_plan.clicked.connect(self.load_plan) self.pB_export_plan.clicked.connect(self.export_plan) self.label_plan_view.mousePressEvent = lambda event: self.mousePressEvent(event) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle( _translate("MainWindow", "Ambisonics Impulse Response Analyzer") ) self.label_integration_window.setText( _translate("MainWindow", "Integration Window:") ) self.rB_1ms.setText(_translate("MainWindow", "1 ms")) self.rB_5ms.setText(_translate("MainWindow", "5 ms")) self.rB_10ms.setText(_translate("MainWindow", "10 ms")) self.label_analysis_length.setText( _translate("MainWindow", "Analysis Length [ms]") ) self.label_threshold.setText(_translate("MainWindow", "Threshold [dB]")) self.pb_analyze.setText(_translate("MainWindow", "Analyze")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.tab_main), _translate("MainWindow", "Main") ) self.pB_load_plan.setText(_translate("MainWindow", "Load")) self.pB_export_plan.setText(_translate("MainWindow", "Export")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.tab_plan), _translate("MainWindow", "Plan View") ) self.menuFile.setTitle(_translate("MainWindow", "File")) self.menuImport.setTitle(_translate("MainWindow", "Import")) self.menuImport_A_format.setTitle(_translate("MainWindow", "A-format")) self.menuImport_B_format.setTitle(_translate("MainWindow", "B-format")) self.menuExport.setTitle(_translate("MainWindow", "Export")) self.actionImport_Aformat_1channel.setText( _translate("MainWindow", "1-channel per file") ) self.actionImport_Aformat_4channels.setText( _translate("MainWindow", "4-channels per file") ) self.actionImport_Bformat_1channel.setText( _translate("MainWindow", "1-channel per file") ) self.actionImport_Bformat_4channels.setText( _translate("MainWindow", "4-channels per file") ) self.actionImport_LSS.setText( _translate("MainWindow", "LSS with inverse filter") ) self.actionExport_hedgehog_plot.setText( _translate("MainWindow", "Hedgehog plot") ) # Acá empiezan los métodos para las acciones del usuario def analyze(self): if self.input_mode_selected.text() == "LSS": input_mode = InputMode.LSS FLU_path = self.path_1.text() FRD_path = self.path_2.text() BRU_path = self.path_3.text() BLD_path = self.path_4.text() IF_path = self.path_5.text() channels_per_file = 1 data = { "front_left_up": FLU_path, "front_right_down": FRD_path, "back_right_up": BRU_path, "back_left_down": BLD_path, "inverse_filter": IF_path, "input_mode": input_mode, "channels_per_file": channels_per_file, "frequency_correction": True, } elif self.input_mode_selected.text() == "AFORMAT": input_mode = InputMode.AFORMAT if self.channels_per_file_selected.text() == "1": FLU_path = self.path_1.text() FRD_path = self.path_2.text() BRU_path = self.path_3.text() BLD_path = self.path_4.text() channels_per_file = 1 data = { "front_left_up": FLU_path, "front_right_down": FRD_path, "back_right_up": BRU_path, "back_left_down": BLD_path, "input_mode": input_mode, "channels_per_file": channels_per_file, "frequency_correction": True, } else: A4_path = self.path_1.text() channels_per_file = 4 data = { "stacked_signals": A4_path, "input_mode": input_mode, "channels_per_file": channels_per_file, "frequency_correction": True, } else: input_mode = InputMode.BFORMAT if self.channels_per_file_selected.text() == "1": W_path = self.path_1.text() X_path = self.path_2.text() Y_path = self.path_3.text() Z_path = self.path_4.text() channels_per_file = 1 data = { "channel_w": W_path, "channel_X": X_path, "channel_Y": Y_path, "channel_Z": Z_path, "input_mode": input_mode, "channels_per_file": channels_per_file, "frequency_correction": False, } else: B4_path = self.path_1.text() channels_per_file = 4 data = { "stacked_signals": B4_path, "input_mode": input_mode, "channels_per_file": channels_per_file, "frequency_correction": False, } if self.rB_1ms.isChecked(): integration_time = 0.001 elif self.rB_5ms.isChecked(): integration_time = 0.005 else: integration_time = 0.01 intensity_threshold = float(self.lineEdit_threshold.text()) analysis_length = float(self.lineEdit_aLength.text()) / 1000 analyzer = AmbisonicsImpulseResponseAnalyzer() fig = analyzer.analyze( input_dict=data, integration_time=integration_time, intensity_threshold=intensity_threshold, analysis_length=analysis_length, ) analyzer.export_xy_projection(fig, "projection.png") fig.write_html("out.html") url = QtCore.QUrl.fromLocalFile(str(Path("out.html").resolve())) self.gV_hedgehog.load(url) self.plotly_fig = fig def load_plan(self): file_dialog = QFileDialog() file_path, _ = file_dialog.getOpenFileName( MainWindow, "Select image", "", "Image file (*.png *.jpg *.jpeg)" ) if file_path: # Cargar la imagen base self.base_image = QImage(file_path) scaled_image = self.base_image.scaled( 1000, 800, Qt.AspectRatioMode.KeepAspectRatio ) # Crear una imagen resultante del mismo tamaño que la imagen base self.result_image = QImage(scaled_image.size(), QImage.Format_ARGB32) self.result_image.fill(0) # Rellenar con transparencia # Mostrar la imagen base en un QLabel self.label_plan_view.setPixmap(QPixmap.fromImage(scaled_image)) # Ajustar el tamaño del QLabel al tamaño de la imagen base escalada self.label_plan_view.resize(scaled_image.size()) self.enable_export() def mousePressEvent(self, event): if event.button() == Qt.LeftButton: # Verificar si el clic ocurrió dentro de los límites de la imagen base if ( event.x() < self.base_image.width() and event.y() < self.base_image.height() ): # Cargar la imagen superpuesta overlay_image = QImage("projection.png") overlay_position = QPoint(event.x() - 787, event.y() - 350) # Dibujar la imagen base en la imagen resultante painter = QPainter(self.result_image) painter.drawImage( 0, 0, self.base_image.scaled( 1000, 800, Qt.AspectRatioMode.KeepAspectRatio ), ) # Dibujar la imagen superpuesta en la imagen resultante painter.drawImage(overlay_position, overlay_image) painter.end() # Mostrar la imagen resultante en el QLabel self.label_plan_view.setPixmap(QPixmap.fromImage(self.result_image)) def enable_export(self): self.pB_export_plan.setEnabled(True) self.pB_export_plan.setStyleSheet( """ QPushButton { border: 2px solid rgb(69, 113, 213); border-radius: 10px; background-color: rgb(69, 113, 213); color: rgb(255, 255, 255); } QPushButton:hover { border: rgb(96, 133, 213); background-color: rgb(96, 133, 213); } """ ) def export_plan(self): file_dialog = QFileDialog() save_path, _ = file_dialog.getSaveFileName( MainWindow, "Export image", "", "Image file (*.png *.jpg *.jpeg)" ) if save_path: self.result_image.save(save_path) def import_Aformat_1channel(self): file_dialog = QFileDialog() file_path_FLU, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Front-Left-Up", "", "WAV file (*.wav)" ) file_path_FRD, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Front-Right-Down", "", "WAV file (*.wav)" ) file_path_BRU, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Back-Right-Up", "", "WAV file (*.wav)" ) file_path_BLD, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Back-Left-Down", "", "WAV file (*.wav)" ) self.path_1.setText(file_path_FLU) self.path_2.setText(file_path_FRD) self.path_3.setText(file_path_BRU) self.path_4.setText(file_path_BLD) self.input_mode_selected.setText("AFORMAT") self.channels_per_file_selected.setText("1") def import_Aformat_4channels(self): file_dialog = QFileDialog() file_path_A4, _ = file_dialog.getOpenFileName( MainWindow, "Select audio file", "", "WAV file (*.wav)" ) self.path_1.setText(file_path_A4) self.input_mode_selected.setText("AFORMAT") self.channels_per_file_selected.setText("4") def import_Bformat_1channel(self): file_dialog = QFileDialog() file_path_W, _ = file_dialog.getOpenFileName( MainWindow, "Select channel W", "", "WAV file (*.wav)" ) file_path_X, _ = file_dialog.getOpenFileName( MainWindow, "Select channel X", "", "WAV file (*.wav)" ) file_path_Y, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Y", "", "WAV file (*.wav)" ) file_path_Z, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Z", "", "WAV file (*.wav)" ) self.path_1.setText(file_path_W) self.path_2.setText(file_path_X) self.path_3.setText(file_path_Y) self.path_4.setText(file_path_Z) self.input_mode_selected.setText("BFORMAT") self.channels_per_file_selected.setText("1") def import_Bformat_4channels(self): file_dialog = QFileDialog() file_path_B4, _ = file_dialog.getOpenFileName( MainWindow, "Select audio file", "", "WAV file (*.wav)" ) self.path_1.setText(file_path_B4) self.input_mode_selected.setText("BFORMAT") self.channels_per_file_selected.setText("4") def import_LSS(self): file_dialog = QFileDialog() file_path_FLU, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Front-Left-Up", "", "WAV file (*.wav)" ) file_path_FRD, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Front-Right-Down", "", "WAV file (*.wav)" ) file_path_BRU, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Back-Right-Up", "", "WAV file (*.wav)" ) file_path_BLD, _ = file_dialog.getOpenFileName( MainWindow, "Select channel Back-Left-Down", "", "WAV file (*.wav)" ) file_path_IF, _ = file_dialog.getOpenFileName( MainWindow, "Select inverse filter", "", "WAV file (*.wav)" ) self.path_1.setText(file_path_FLU) self.path_2.setText(file_path_FRD) self.path_3.setText(file_path_BRU) self.path_4.setText(file_path_BLD) self.path_5.setText(file_path_IF) self.input_mode_selected.setText("LSS") self.channels_per_file_selected.setText("1") def export_hedgehog(self): file_dialog = QFileDialog() save_path, _ = file_dialog.getSaveFileName( MainWindow, "Export image", "", "Image file (*.png *.jpg *.jpeg)" ) self.plotly_fig.write_image(save_path, "png", width=1366, height=768, scale=1.0) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() MainWindow.showMaximized() sys.exit(app.exec_())