AIRA / aira /pyqt_gui.py
nahue-passano
update: new streamlit layout and fixed processing
ab70807
# -*- 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_())