/********************************************************************************
** Form generated from reading UI file 'livestacking.ui'
**
** Created by: Qt User Interface Compiler version 6.11.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_LIVESTACKING_H
#define UI_LIVESTACKING_H

#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDoubleSpinBox>
#include <QtWidgets/QFrame>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QVBoxLayout>
#include <klocalizedstring.h>
#include "auxiliary/minimizewidget.h"
#include "fitsviewer/fitsmemmonitor.h"

QT_BEGIN_NAMESPACE

class Ui_LiveStackingUI
{
public:
    QVBoxLayout *LiveStackingVLayout;
    QGridLayout *gridLayout_3;
    MinimizeWidget *AlignmentMinimizeWidget;
    QVBoxLayout *AlignmentUnusedVerticalLayout;
    QGroupBox *AlignmentGroupBox;
    QGridLayout *gridLayout_5;
    QComboBox *AlignMethod;
    QLineEdit *AlignMaster;
    QLabel *AlignMethodLabel;
    QLabel *AlignMasterSubLabel;
    QToolButton *AlignMasterB;
    QLabel *AlignmentMinimized;
    MinimizeWidget *GeneralMinimizeWidget;
    QVBoxLayout *GeneralUnusedVerticalLayout;
    QGroupBox *GeneralGroupBox;
    QGridLayout *gridLayout_6;
    QPushButton *StartB;
    QLineEdit *Red;
    QLabel *SubsProcessed;
    QToolButton *MonitorB;
    QToolButton *GreenDirB;
    QToolButton *StackMultiCB1;
    QToolButton *StackDirB;
    QLabel *BlueLabel;
    QGroupBox *CalcSNR;
    QGridLayout *gridLayout_7;
    QLabel *SubsSNRLabel;
    QLabel *ImageSNRLabel;
    QLabel *ImageSNR;
    QLabel *SubsSNR;
    QLabel *NumberSubsLabel;
    QLineEdit *Blue;
    QToolButton *HelpB;
    QFrame *frame;
    QVBoxLayout *verticalLayout;
    FITSMemoryMonitor *MemMonitor;
    QPushButton *SaveB;
    QToolButton *RedDirB;
    QLineEdit *Lum;
    QToolButton *LumDirB;
    QLineEdit *Green;
    QLabel *GreenLabel;
    QLabel *StackLabel;
    QToolButton *StackMultiCB2;
    QLineEdit *Stack;
    QLabel *RedLabel;
    QToolButton *BlueDirB;
    QLabel *LumLabel;
    QToolButton *WebcastB;
    QLabel *GeneralProcMinimized;
    MinimizeWidget *StackingMinimizeWidget;
    QVBoxLayout *StackingUnusedVerticalLayout;
    QGroupBox *StackingGroupBox;
    QGridLayout *gridLayout_2;
    QLabel *KappaLabel;
    QLabel *InMemoryLabel;
    QComboBox *Weighting;
    QLabel *DownscaleLabel;
    QComboBox *StackingMethod;
    QLabel *PSFUpdateLabel;
    QComboBox *LSDownscale;
    QLabel *StackingMethodLabel;
    QLabel *WeightingLabel;
    QDoubleSpinBox *Sigma;
    QLabel *LowSigmaLabel;
    QLabel *SigmaLabel;
    QSpinBox *PSFUpdate;
    QLabel *IterationsLabel;
    QLabel *WinsorCutoffLabel;
    QDoubleSpinBox *Alpha;
    QSpinBox *NumInMem;
    QDoubleSpinBox *Kappa;
    QDoubleSpinBox *HighSigma;
    QDoubleSpinBox *LowSigma;
    QSpinBox *Iterations;
    QDoubleSpinBox *WinsorCutoff;
    QLabel *HighSigmaLabel;
    QLabel *AlphaLabel;
    QLabel *NormalizationLabel;
    QComboBox *Normalization;
    QLabel *StackingMinimized;
    MinimizeWidget *PostProcMinimizeWidget;
    QVBoxLayout *PostProcUnusedVerticalLayout;
    QGroupBox *PostProcGroupBox;
    QGridLayout *gridLayout_4;
    QDoubleSpinBox *SharpenAmt;
    QLabel *SharpenLabel;
    QDoubleSpinBox *PSFSigma;
    QLabel *PSFLabel;
    QLabel *gradientLabel;
    QLabel *DeconvLabel;
    QDoubleSpinBox *DenoiseAmt;
    QFrame *line;
    QLabel *SharpenSigmaLabel;
    QPushButton *ReprocessB;
    QFrame *line_2;
    QSpinBox *SharpenKernal;
    QSlider *GradientAmt;
    QLabel *DenoiseLabel;
    QDoubleSpinBox *DeconvAmt;
    QDoubleSpinBox *SharpenSigma;
    QLabel *SharpenKernalLabel;
    QSpinBox *GradientSpin;
    QFrame *line_3;
    QLabel *PostProcMinimized;
    QSpacerItem *verticalSpacer;
    MinimizeWidget *CalibrationMinimizeWidget;
    QVBoxLayout *CalibrationUnusedVerticalLayout;
    QGroupBox *CalibrationGroupBox;
    QGridLayout *gridLayout;
    QLabel *MasterFlatLabel;
    QLabel *MasterFlatLumLabel;
    QLabel *MasterDarkLumLabel;
    QLineEdit *MasterDarkGreen;
    QLineEdit *MasterDarkBlue;
    QLineEdit *MasterDarkRed;
    QToolButton *MasterFlatB;
    QToolButton *MasterFlatLumB;
    QLabel *MasterFlatRedLabel;
    QLineEdit *MasterFlatGreen;
    QToolButton *MasterDarkRedB;
    QToolButton *MasterDarkLumB;
    QToolButton *MasterDarkGreenB;
    QToolButton *MasterFlatRedB;
    QLineEdit *MasterDark;
    QToolButton *MasterFlatBlueB;
    QLabel *MasterFlatGreenLabel;
    QToolButton *MasterDarkB;
    QLineEdit *MasterFlatBlue;
    QLabel *MasterDarkGreenLabel;
    QLineEdit *MasterFlatRed;
    QLabel *MasterDarkBlueLabel;
    QLineEdit *MasterFlatLum;
    QLineEdit *MasterFlat;
    QLabel *MasterDarkLabel;
    QToolButton *MasterDarkBlueB;
    QLineEdit *MasterDarkLum;
    QLabel *MasterFlatBlueLabel;
    QLabel *MasterDarkRedLabel;
    QToolButton *MasterFlatGreenB;
    QCheckBox *HotPixels;
    QCheckBox *ColdPixels;
    QLabel *CalibrationMinimized;

    void setupUi(QDialog *LiveStackingUI)
    {
        if (LiveStackingUI->objectName().isEmpty())
            LiveStackingUI->setObjectName("LiveStackingUI");
        LiveStackingUI->resize(618, 1362);
        QSizePolicy sizePolicy(QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Preferred);
        sizePolicy.setHorizontalStretch(0);
        sizePolicy.setVerticalStretch(0);
        sizePolicy.setHeightForWidth(LiveStackingUI->sizePolicy().hasHeightForWidth());
        LiveStackingUI->setSizePolicy(sizePolicy);
        LiveStackingUI->setMinimumSize(QSize(0, 0));
        LiveStackingVLayout = new QVBoxLayout(LiveStackingUI);
        LiveStackingVLayout->setSpacing(0);
        LiveStackingVLayout->setObjectName("LiveStackingVLayout");
        LiveStackingVLayout->setContentsMargins(0, 0, 0, 0);
        gridLayout_3 = new QGridLayout();
        gridLayout_3->setSpacing(0);
        gridLayout_3->setObjectName("gridLayout_3");
        gridLayout_3->setContentsMargins(0, 0, 0, 0);
        AlignmentMinimizeWidget = new MinimizeWidget(LiveStackingUI);
        AlignmentMinimizeWidget->setObjectName("AlignmentMinimizeWidget");
        AlignmentUnusedVerticalLayout = new QVBoxLayout(AlignmentMinimizeWidget);
        AlignmentUnusedVerticalLayout->setSpacing(0);
        AlignmentUnusedVerticalLayout->setObjectName("AlignmentUnusedVerticalLayout");
        AlignmentUnusedVerticalLayout->setContentsMargins(0, 0, 0, 0);
        AlignmentGroupBox = new QGroupBox(AlignmentMinimizeWidget);
        AlignmentGroupBox->setObjectName("AlignmentGroupBox");
        QSizePolicy sizePolicy1(QSizePolicy::Policy::Expanding, QSizePolicy::Policy::Fixed);
        sizePolicy1.setHorizontalStretch(0);
        sizePolicy1.setVerticalStretch(0);
        sizePolicy1.setHeightForWidth(AlignmentGroupBox->sizePolicy().hasHeightForWidth());
        AlignmentGroupBox->setSizePolicy(sizePolicy1);
        AlignmentGroupBox->setFlat(false);
        gridLayout_5 = new QGridLayout(AlignmentGroupBox);
        gridLayout_5->setSpacing(3);
        gridLayout_5->setObjectName("gridLayout_5");
        gridLayout_5->setContentsMargins(0, 0, 0, 0);
        AlignMethod = new QComboBox(AlignmentGroupBox);
        AlignMethod->addItem(QString());
        AlignMethod->addItem(QString());
        AlignMethod->setObjectName("AlignMethod");
        QSizePolicy sizePolicy2(QSizePolicy::Policy::Fixed, QSizePolicy::Policy::Fixed);
        sizePolicy2.setHorizontalStretch(247);
        sizePolicy2.setVerticalStretch(0);
        sizePolicy2.setHeightForWidth(AlignMethod->sizePolicy().hasHeightForWidth());
        AlignMethod->setSizePolicy(sizePolicy2);
        AlignMethod->setMinimumSize(QSize(150, 0));

        gridLayout_5->addWidget(AlignMethod, 1, 1, 1, 1);

        AlignMaster = new QLineEdit(AlignmentGroupBox);
        AlignMaster->setObjectName("AlignMaster");
        QSizePolicy sizePolicy3(QSizePolicy::Policy::MinimumExpanding, QSizePolicy::Policy::Fixed);
        sizePolicy3.setHorizontalStretch(0);
        sizePolicy3.setVerticalStretch(0);
        sizePolicy3.setHeightForWidth(AlignMaster->sizePolicy().hasHeightForWidth());
        AlignMaster->setSizePolicy(sizePolicy3);
        AlignMaster->setMinimumSize(QSize(100, 0));
        AlignMaster->setClearButtonEnabled(true);

        gridLayout_5->addWidget(AlignMaster, 0, 1, 1, 1);

        AlignMethodLabel = new QLabel(AlignmentGroupBox);
        AlignMethodLabel->setObjectName("AlignMethodLabel");
        QSizePolicy sizePolicy4(QSizePolicy::Policy::Fixed, QSizePolicy::Policy::Fixed);
        sizePolicy4.setHorizontalStretch(0);
        sizePolicy4.setVerticalStretch(0);
        sizePolicy4.setHeightForWidth(AlignMethodLabel->sizePolicy().hasHeightForWidth());
        AlignMethodLabel->setSizePolicy(sizePolicy4);
        AlignMethodLabel->setMinimumSize(QSize(165, 0));

        gridLayout_5->addWidget(AlignMethodLabel, 1, 0, 1, 1);

        AlignMasterSubLabel = new QLabel(AlignmentGroupBox);
        AlignMasterSubLabel->setObjectName("AlignMasterSubLabel");
        sizePolicy4.setHeightForWidth(AlignMasterSubLabel->sizePolicy().hasHeightForWidth());
        AlignMasterSubLabel->setSizePolicy(sizePolicy4);
        AlignMasterSubLabel->setMinimumSize(QSize(165, 0));

        gridLayout_5->addWidget(AlignMasterSubLabel, 0, 0, 1, 1);

        AlignMasterB = new QToolButton(AlignmentGroupBox);
        AlignMasterB->setObjectName("AlignMasterB");
        sizePolicy4.setHeightForWidth(AlignMasterB->sizePolicy().hasHeightForWidth());
        AlignMasterB->setSizePolicy(sizePolicy4);
        QIcon icon(QIcon::fromTheme(QString::fromUtf8("document-open")));
        AlignMasterB->setIcon(icon);

        gridLayout_5->addWidget(AlignMasterB, 0, 2, 1, 1);

        gridLayout_5->setColumnStretch(1, 1);

        AlignmentUnusedVerticalLayout->addWidget(AlignmentGroupBox);

        AlignmentMinimized = new QLabel(AlignmentMinimizeWidget);
        AlignmentMinimized->setObjectName("AlignmentMinimized");

        AlignmentUnusedVerticalLayout->addWidget(AlignmentMinimized);


        gridLayout_3->addWidget(AlignmentMinimizeWidget, 2, 0, 1, 2);

        GeneralMinimizeWidget = new MinimizeWidget(LiveStackingUI);
        GeneralMinimizeWidget->setObjectName("GeneralMinimizeWidget");
        GeneralUnusedVerticalLayout = new QVBoxLayout(GeneralMinimizeWidget);
        GeneralUnusedVerticalLayout->setSpacing(0);
        GeneralUnusedVerticalLayout->setObjectName("GeneralUnusedVerticalLayout");
        GeneralUnusedVerticalLayout->setContentsMargins(0, 0, 0, 0);
        GeneralGroupBox = new QGroupBox(GeneralMinimizeWidget);
        GeneralGroupBox->setObjectName("GeneralGroupBox");
        sizePolicy.setHeightForWidth(GeneralGroupBox->sizePolicy().hasHeightForWidth());
        GeneralGroupBox->setSizePolicy(sizePolicy);
        GeneralGroupBox->setFlat(false);
        gridLayout_6 = new QGridLayout(GeneralGroupBox);
        gridLayout_6->setSpacing(3);
        gridLayout_6->setObjectName("gridLayout_6");
        gridLayout_6->setContentsMargins(0, 0, 0, 0);
        StartB = new QPushButton(GeneralGroupBox);
        StartB->setObjectName("StartB");
        sizePolicy4.setHeightForWidth(StartB->sizePolicy().hasHeightForWidth());
        StartB->setSizePolicy(sizePolicy4);
        StartB->setMinimumSize(QSize(150, 0));
        StartB->setMaximumSize(QSize(80, 16777215));

        gridLayout_6->addWidget(StartB, 5, 5, 1, 2, Qt::AlignRight);

        Red = new QLineEdit(GeneralGroupBox);
        Red->setObjectName("Red");
        Red->setMinimumSize(QSize(100, 0));

        gridLayout_6->addWidget(Red, 1, 1, 1, 6);

        SubsProcessed = new QLabel(GeneralGroupBox);
        SubsProcessed->setObjectName("SubsProcessed");
        sizePolicy4.setHeightForWidth(SubsProcessed->sizePolicy().hasHeightForWidth());
        SubsProcessed->setSizePolicy(sizePolicy4);
        SubsProcessed->setMinimumSize(QSize(75, 0));

        gridLayout_6->addWidget(SubsProcessed, 5, 1, 1, 2);

        MonitorB = new QToolButton(GeneralGroupBox);
        MonitorB->setObjectName("MonitorB");
        sizePolicy4.setHeightForWidth(MonitorB->sizePolicy().hasHeightForWidth());
        MonitorB->setSizePolicy(sizePolicy4);
        QIcon icon1(QIcon::fromTheme(QString::fromUtf8("utilities-system-monitor")));
        MonitorB->setIcon(icon1);

        gridLayout_6->addWidget(MonitorB, 5, 8, 1, 1);

        GreenDirB = new QToolButton(GeneralGroupBox);
        GreenDirB->setObjectName("GreenDirB");
        QIcon icon2(QIcon::fromTheme(QString::fromUtf8("folder-open")));
        GreenDirB->setIcon(icon2);

        gridLayout_6->addWidget(GreenDirB, 2, 8, 1, 1);

        StackMultiCB1 = new QToolButton(GeneralGroupBox);
        StackMultiCB1->setObjectName("StackMultiCB1");
        sizePolicy4.setHeightForWidth(StackMultiCB1->sizePolicy().hasHeightForWidth());
        StackMultiCB1->setSizePolicy(sizePolicy4);
        QIcon icon3(QIcon::fromTheme(QString::fromUtf8("go-down")));
        StackMultiCB1->setIcon(icon3);

        gridLayout_6->addWidget(StackMultiCB1, 0, 9, 1, 1);

        StackDirB = new QToolButton(GeneralGroupBox);
        StackDirB->setObjectName("StackDirB");
        sizePolicy4.setHeightForWidth(StackDirB->sizePolicy().hasHeightForWidth());
        StackDirB->setSizePolicy(sizePolicy4);
        StackDirB->setIcon(icon2);

        gridLayout_6->addWidget(StackDirB, 0, 8, 1, 1);

        BlueLabel = new QLabel(GeneralGroupBox);
        BlueLabel->setObjectName("BlueLabel");
        sizePolicy4.setHeightForWidth(BlueLabel->sizePolicy().hasHeightForWidth());
        BlueLabel->setSizePolicy(sizePolicy4);
        BlueLabel->setMinimumSize(QSize(165, 0));

        gridLayout_6->addWidget(BlueLabel, 3, 0, 1, 1);

        CalcSNR = new QGroupBox(GeneralGroupBox);
        CalcSNR->setObjectName("CalcSNR");
        sizePolicy4.setHeightForWidth(CalcSNR->sizePolicy().hasHeightForWidth());
        CalcSNR->setSizePolicy(sizePolicy4);
        CalcSNR->setMinimumSize(QSize(240, 84));
        CalcSNR->setAutoFillBackground(false);
        CalcSNR->setStyleSheet(QString::fromUtf8(""));
        CalcSNR->setFlat(false);
        CalcSNR->setCheckable(true);
        CalcSNR->setChecked(true);
        gridLayout_7 = new QGridLayout(CalcSNR);
        gridLayout_7->setObjectName("gridLayout_7");
        gridLayout_7->setHorizontalSpacing(0);
        gridLayout_7->setVerticalSpacing(4);
        gridLayout_7->setContentsMargins(0, 4, 0, 0);
        SubsSNRLabel = new QLabel(CalcSNR);
        SubsSNRLabel->setObjectName("SubsSNRLabel");
        sizePolicy4.setHeightForWidth(SubsSNRLabel->sizePolicy().hasHeightForWidth());
        SubsSNRLabel->setSizePolicy(sizePolicy4);
        SubsSNRLabel->setMinimumSize(QSize(165, 21));
        SubsSNRLabel->setLineWidth(0);

        gridLayout_7->addWidget(SubsSNRLabel, 0, 0, 1, 1, Qt::AlignLeft);

        ImageSNRLabel = new QLabel(CalcSNR);
        ImageSNRLabel->setObjectName("ImageSNRLabel");
        sizePolicy4.setHeightForWidth(ImageSNRLabel->sizePolicy().hasHeightForWidth());
        ImageSNRLabel->setSizePolicy(sizePolicy4);
        ImageSNRLabel->setMinimumSize(QSize(165, 21));
        ImageSNRLabel->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);

        gridLayout_7->addWidget(ImageSNRLabel, 1, 0, 1, 1);

        ImageSNR = new QLabel(CalcSNR);
        ImageSNR->setObjectName("ImageSNR");
        sizePolicy4.setHeightForWidth(ImageSNR->sizePolicy().hasHeightForWidth());
        ImageSNR->setSizePolicy(sizePolicy4);
        ImageSNR->setMinimumSize(QSize(75, 21));

        gridLayout_7->addWidget(ImageSNR, 1, 1, 1, 1);

        SubsSNR = new QLabel(CalcSNR);
        SubsSNR->setObjectName("SubsSNR");
        sizePolicy4.setHeightForWidth(SubsSNR->sizePolicy().hasHeightForWidth());
        SubsSNR->setSizePolicy(sizePolicy4);
        SubsSNR->setMinimumSize(QSize(75, 21));

        gridLayout_7->addWidget(SubsSNR, 0, 1, 1, 1);


        gridLayout_6->addWidget(CalcSNR, 6, 0, 1, 3, Qt::AlignLeft|Qt::AlignVCenter);

        NumberSubsLabel = new QLabel(GeneralGroupBox);
        NumberSubsLabel->setObjectName("NumberSubsLabel");
        sizePolicy4.setHeightForWidth(NumberSubsLabel->sizePolicy().hasHeightForWidth());
        NumberSubsLabel->setSizePolicy(sizePolicy4);
        NumberSubsLabel->setMinimumSize(QSize(165, 0));

        gridLayout_6->addWidget(NumberSubsLabel, 5, 0, 1, 1);

        Blue = new QLineEdit(GeneralGroupBox);
        Blue->setObjectName("Blue");
        Blue->setMinimumSize(QSize(100, 0));
        Blue->setClearButtonEnabled(true);

        gridLayout_6->addWidget(Blue, 3, 1, 1, 6);

        HelpB = new QToolButton(GeneralGroupBox);
        HelpB->setObjectName("HelpB");
        sizePolicy4.setHeightForWidth(HelpB->sizePolicy().hasHeightForWidth());
        HelpB->setSizePolicy(sizePolicy4);
        QIcon icon4(QIcon::fromTheme(QString::fromUtf8("help-about")));
        HelpB->setIcon(icon4);

        gridLayout_6->addWidget(HelpB, 6, 8, 1, 1, Qt::AlignBottom);

        frame = new QFrame(GeneralGroupBox);
        frame->setObjectName("frame");
        QSizePolicy sizePolicy5(QSizePolicy::Policy::Preferred, QSizePolicy::Policy::Fixed);
        sizePolicy5.setHorizontalStretch(0);
        sizePolicy5.setVerticalStretch(0);
        sizePolicy5.setHeightForWidth(frame->sizePolicy().hasHeightForWidth());
        frame->setSizePolicy(sizePolicy5);
        frame->setFrameShape(QFrame::NoFrame);
        frame->setFrameShadow(QFrame::Plain);
        verticalLayout = new QVBoxLayout(frame);
        verticalLayout->setObjectName("verticalLayout");
        verticalLayout->setContentsMargins(0, 20, 0, 0);
        MemMonitor = new FITSMemoryMonitor(frame);
        MemMonitor->setObjectName("MemMonitor");
        sizePolicy5.setHeightForWidth(MemMonitor->sizePolicy().hasHeightForWidth());
        MemMonitor->setSizePolicy(sizePolicy5);
        MemMonitor->setMinimumSize(QSize(150, 21));

        verticalLayout->addWidget(MemMonitor);

        SaveB = new QPushButton(frame);
        SaveB->setObjectName("SaveB");
        sizePolicy4.setHeightForWidth(SaveB->sizePolicy().hasHeightForWidth());
        SaveB->setSizePolicy(sizePolicy4);
        SaveB->setMinimumSize(QSize(150, 30));

        verticalLayout->addWidget(SaveB, 0, Qt::AlignRight);


        gridLayout_6->addWidget(frame, 6, 4, 1, 3, Qt::AlignRight|Qt::AlignBottom);

        RedDirB = new QToolButton(GeneralGroupBox);
        RedDirB->setObjectName("RedDirB");
        RedDirB->setIcon(icon2);

        gridLayout_6->addWidget(RedDirB, 1, 8, 1, 1);

        Lum = new QLineEdit(GeneralGroupBox);
        Lum->setObjectName("Lum");
        Lum->setMinimumSize(QSize(100, 0));
        Lum->setClearButtonEnabled(true);

        gridLayout_6->addWidget(Lum, 4, 1, 1, 6);

        LumDirB = new QToolButton(GeneralGroupBox);
        LumDirB->setObjectName("LumDirB");
        LumDirB->setIcon(icon2);

        gridLayout_6->addWidget(LumDirB, 4, 8, 1, 1);

        Green = new QLineEdit(GeneralGroupBox);
        Green->setObjectName("Green");
        Green->setMinimumSize(QSize(100, 0));
        Green->setClearButtonEnabled(true);

        gridLayout_6->addWidget(Green, 2, 1, 1, 6);

        GreenLabel = new QLabel(GeneralGroupBox);
        GreenLabel->setObjectName("GreenLabel");
        sizePolicy4.setHeightForWidth(GreenLabel->sizePolicy().hasHeightForWidth());
        GreenLabel->setSizePolicy(sizePolicy4);
        GreenLabel->setMinimumSize(QSize(165, 0));

        gridLayout_6->addWidget(GreenLabel, 2, 0, 1, 1);

        StackLabel = new QLabel(GeneralGroupBox);
        StackLabel->setObjectName("StackLabel");
        sizePolicy4.setHeightForWidth(StackLabel->sizePolicy().hasHeightForWidth());
        StackLabel->setSizePolicy(sizePolicy4);
        StackLabel->setMinimumSize(QSize(165, 0));

        gridLayout_6->addWidget(StackLabel, 0, 0, 1, 1);

        StackMultiCB2 = new QToolButton(GeneralGroupBox);
        StackMultiCB2->setObjectName("StackMultiCB2");
        QIcon icon5(QIcon::fromTheme(QString::fromUtf8("go-up")));
        StackMultiCB2->setIcon(icon5);

        gridLayout_6->addWidget(StackMultiCB2, 1, 9, 1, 1);

        Stack = new QLineEdit(GeneralGroupBox);
        Stack->setObjectName("Stack");
        Stack->setMinimumSize(QSize(100, 0));
        Stack->setClearButtonEnabled(false);

        gridLayout_6->addWidget(Stack, 0, 1, 1, 6);

        RedLabel = new QLabel(GeneralGroupBox);
        RedLabel->setObjectName("RedLabel");
        RedLabel->setEnabled(true);
        sizePolicy4.setHeightForWidth(RedLabel->sizePolicy().hasHeightForWidth());
        RedLabel->setSizePolicy(sizePolicy4);
        RedLabel->setMinimumSize(QSize(165, 0));

        gridLayout_6->addWidget(RedLabel, 1, 0, 1, 1);

        BlueDirB = new QToolButton(GeneralGroupBox);
        BlueDirB->setObjectName("BlueDirB");
        BlueDirB->setIcon(icon2);

        gridLayout_6->addWidget(BlueDirB, 3, 8, 1, 1);

        LumLabel = new QLabel(GeneralGroupBox);
        LumLabel->setObjectName("LumLabel");
        sizePolicy4.setHeightForWidth(LumLabel->sizePolicy().hasHeightForWidth());
        LumLabel->setSizePolicy(sizePolicy4);
        LumLabel->setMinimumSize(QSize(165, 0));

        gridLayout_6->addWidget(LumLabel, 4, 0, 1, 1);

        WebcastB = new QToolButton(GeneralGroupBox);
        WebcastB->setObjectName("WebcastB");
        QIcon icon6(QIcon::fromTheme(QString::fromUtf8("network-wireless")));
        WebcastB->setIcon(icon6);

        gridLayout_6->addWidget(WebcastB, 5, 4, 1, 1);


        GeneralUnusedVerticalLayout->addWidget(GeneralGroupBox);

        GeneralProcMinimized = new QLabel(GeneralMinimizeWidget);
        GeneralProcMinimized->setObjectName("GeneralProcMinimized");

        GeneralUnusedVerticalLayout->addWidget(GeneralProcMinimized);


        gridLayout_3->addWidget(GeneralMinimizeWidget, 0, 0, 1, 2);

        StackingMinimizeWidget = new MinimizeWidget(LiveStackingUI);
        StackingMinimizeWidget->setObjectName("StackingMinimizeWidget");
        StackingUnusedVerticalLayout = new QVBoxLayout(StackingMinimizeWidget);
        StackingUnusedVerticalLayout->setSpacing(0);
        StackingUnusedVerticalLayout->setObjectName("StackingUnusedVerticalLayout");
        StackingUnusedVerticalLayout->setContentsMargins(0, 0, 0, 0);
        StackingGroupBox = new QGroupBox(StackingMinimizeWidget);
        StackingGroupBox->setObjectName("StackingGroupBox");
        sizePolicy4.setHeightForWidth(StackingGroupBox->sizePolicy().hasHeightForWidth());
        StackingGroupBox->setSizePolicy(sizePolicy4);
        StackingGroupBox->setMinimumSize(QSize(600, 0));
        gridLayout_2 = new QGridLayout(StackingGroupBox);
        gridLayout_2->setSpacing(3);
        gridLayout_2->setObjectName("gridLayout_2");
        gridLayout_2->setSizeConstraint(QLayout::SetDefaultConstraint);
        gridLayout_2->setContentsMargins(0, 0, 0, 0);
        KappaLabel = new QLabel(StackingGroupBox);
        KappaLabel->setObjectName("KappaLabel");
        sizePolicy4.setHeightForWidth(KappaLabel->sizePolicy().hasHeightForWidth());
        KappaLabel->setSizePolicy(sizePolicy4);
        KappaLabel->setMinimumSize(QSize(125, 0));

        gridLayout_2->addWidget(KappaLabel, 8, 2, 1, 1);

        InMemoryLabel = new QLabel(StackingGroupBox);
        InMemoryLabel->setObjectName("InMemoryLabel");
        sizePolicy4.setHeightForWidth(InMemoryLabel->sizePolicy().hasHeightForWidth());
        InMemoryLabel->setSizePolicy(sizePolicy4);
        InMemoryLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(InMemoryLabel, 0, 0, 1, 1);

        Weighting = new QComboBox(StackingGroupBox);
        Weighting->addItem(QString());
        Weighting->addItem(QString());
        Weighting->addItem(QString());
        Weighting->setObjectName("Weighting");
        sizePolicy4.setHeightForWidth(Weighting->sizePolicy().hasHeightForWidth());
        Weighting->setSizePolicy(sizePolicy4);
        Weighting->setMinimumSize(QSize(150, 0));

        gridLayout_2->addWidget(Weighting, 1, 3, 1, 1);

        DownscaleLabel = new QLabel(StackingGroupBox);
        DownscaleLabel->setObjectName("DownscaleLabel");
        sizePolicy4.setHeightForWidth(DownscaleLabel->sizePolicy().hasHeightForWidth());
        DownscaleLabel->setSizePolicy(sizePolicy4);
        DownscaleLabel->setMinimumSize(QSize(125, 0));

        gridLayout_2->addWidget(DownscaleLabel, 0, 2, 1, 1);

        StackingMethod = new QComboBox(StackingGroupBox);
        StackingMethod->addItem(QString());
        StackingMethod->addItem(QString());
        StackingMethod->addItem(QString());
        StackingMethod->addItem(QString());
        StackingMethod->setObjectName("StackingMethod");
        sizePolicy4.setHeightForWidth(StackingMethod->sizePolicy().hasHeightForWidth());
        StackingMethod->setSizePolicy(sizePolicy4);
        StackingMethod->setMinimumSize(QSize(150, 0));

        gridLayout_2->addWidget(StackingMethod, 1, 1, 1, 1);

        PSFUpdateLabel = new QLabel(StackingGroupBox);
        PSFUpdateLabel->setObjectName("PSFUpdateLabel");
        sizePolicy4.setHeightForWidth(PSFUpdateLabel->sizePolicy().hasHeightForWidth());
        PSFUpdateLabel->setSizePolicy(sizePolicy4);
        PSFUpdateLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(PSFUpdateLabel, 10, 0, 1, 1);

        LSDownscale = new QComboBox(StackingGroupBox);
        LSDownscale->addItem(QString());
        LSDownscale->addItem(QString());
        LSDownscale->addItem(QString());
        LSDownscale->addItem(QString());
        LSDownscale->setObjectName("LSDownscale");
        sizePolicy4.setHeightForWidth(LSDownscale->sizePolicy().hasHeightForWidth());
        LSDownscale->setSizePolicy(sizePolicy4);
        LSDownscale->setMinimumSize(QSize(150, 0));

        gridLayout_2->addWidget(LSDownscale, 0, 3, 1, 1);

        StackingMethodLabel = new QLabel(StackingGroupBox);
        StackingMethodLabel->setObjectName("StackingMethodLabel");
        sizePolicy4.setHeightForWidth(StackingMethodLabel->sizePolicy().hasHeightForWidth());
        StackingMethodLabel->setSizePolicy(sizePolicy4);
        StackingMethodLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(StackingMethodLabel, 1, 0, 1, 1);

        WeightingLabel = new QLabel(StackingGroupBox);
        WeightingLabel->setObjectName("WeightingLabel");
        sizePolicy4.setHeightForWidth(WeightingLabel->sizePolicy().hasHeightForWidth());
        WeightingLabel->setSizePolicy(sizePolicy4);
        WeightingLabel->setMinimumSize(QSize(125, 0));

        gridLayout_2->addWidget(WeightingLabel, 1, 2, 1, 1);

        Sigma = new QDoubleSpinBox(StackingGroupBox);
        Sigma->setObjectName("Sigma");
        Sigma->setDecimals(1);
        Sigma->setMinimum(0.100000000000000);
        Sigma->setMaximum(2.000000000000000);
        Sigma->setSingleStep(0.100000000000000);
        Sigma->setValue(0.900000000000000);

        gridLayout_2->addWidget(Sigma, 9, 3, 1, 1);

        LowSigmaLabel = new QLabel(StackingGroupBox);
        LowSigmaLabel->setObjectName("LowSigmaLabel");
        sizePolicy4.setHeightForWidth(LowSigmaLabel->sizePolicy().hasHeightForWidth());
        LowSigmaLabel->setSizePolicy(sizePolicy4);
        LowSigmaLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(LowSigmaLabel, 6, 0, 1, 1);

        SigmaLabel = new QLabel(StackingGroupBox);
        SigmaLabel->setObjectName("SigmaLabel");
        sizePolicy4.setHeightForWidth(SigmaLabel->sizePolicy().hasHeightForWidth());
        SigmaLabel->setSizePolicy(sizePolicy4);
        SigmaLabel->setMinimumSize(QSize(125, 0));

        gridLayout_2->addWidget(SigmaLabel, 9, 2, 1, 1);

        PSFUpdate = new QSpinBox(StackingGroupBox);
        PSFUpdate->setObjectName("PSFUpdate");
        sizePolicy4.setHeightForWidth(PSFUpdate->sizePolicy().hasHeightForWidth());
        PSFUpdate->setSizePolicy(sizePolicy4);
        PSFUpdate->setMinimumSize(QSize(150, 0));
        PSFUpdate->setMaximum(20);

        gridLayout_2->addWidget(PSFUpdate, 10, 1, 1, 1);

        IterationsLabel = new QLabel(StackingGroupBox);
        IterationsLabel->setObjectName("IterationsLabel");
        sizePolicy4.setHeightForWidth(IterationsLabel->sizePolicy().hasHeightForWidth());
        IterationsLabel->setSizePolicy(sizePolicy4);
        IterationsLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(IterationsLabel, 8, 0, 1, 1);

        WinsorCutoffLabel = new QLabel(StackingGroupBox);
        WinsorCutoffLabel->setObjectName("WinsorCutoffLabel");
        sizePolicy4.setHeightForWidth(WinsorCutoffLabel->sizePolicy().hasHeightForWidth());
        WinsorCutoffLabel->setSizePolicy(sizePolicy4);
        WinsorCutoffLabel->setMinimumSize(QSize(125, 0));

        gridLayout_2->addWidget(WinsorCutoffLabel, 6, 2, 1, 1);

        Alpha = new QDoubleSpinBox(StackingGroupBox);
        Alpha->setObjectName("Alpha");
        Alpha->setMinimum(0.500000000000000);
        Alpha->setMaximum(1.000000000000000);
        Alpha->setSingleStep(0.100000000000000);
        Alpha->setValue(0.900000000000000);

        gridLayout_2->addWidget(Alpha, 9, 1, 1, 1);

        NumInMem = new QSpinBox(StackingGroupBox);
        NumInMem->setObjectName("NumInMem");
        sizePolicy4.setHeightForWidth(NumInMem->sizePolicy().hasHeightForWidth());
        NumInMem->setSizePolicy(sizePolicy4);
        NumInMem->setMinimumSize(QSize(150, 0));
        NumInMem->setMinimum(2);
        NumInMem->setMaximum(100);
        NumInMem->setValue(5);

        gridLayout_2->addWidget(NumInMem, 0, 1, 1, 1);

        Kappa = new QDoubleSpinBox(StackingGroupBox);
        Kappa->setObjectName("Kappa");
        sizePolicy4.setHeightForWidth(Kappa->sizePolicy().hasHeightForWidth());
        Kappa->setSizePolicy(sizePolicy4);
        Kappa->setMinimumSize(QSize(150, 0));
        Kappa->setDecimals(1);
        Kappa->setMinimum(1.000000000000000);
        Kappa->setMaximum(10.000000000000000);
        Kappa->setSingleStep(0.100000000000000);
        Kappa->setValue(1.500000000000000);

        gridLayout_2->addWidget(Kappa, 8, 3, 1, 1);

        HighSigma = new QDoubleSpinBox(StackingGroupBox);
        HighSigma->setObjectName("HighSigma");
        sizePolicy4.setHeightForWidth(HighSigma->sizePolicy().hasHeightForWidth());
        HighSigma->setSizePolicy(sizePolicy4);
        HighSigma->setMinimumSize(QSize(150, 0));
        HighSigma->setMaximum(10.000000000000000);
        HighSigma->setValue(3.000000000000000);

        gridLayout_2->addWidget(HighSigma, 7, 1, 1, 1);

        LowSigma = new QDoubleSpinBox(StackingGroupBox);
        LowSigma->setObjectName("LowSigma");
        sizePolicy4.setHeightForWidth(LowSigma->sizePolicy().hasHeightForWidth());
        LowSigma->setSizePolicy(sizePolicy4);
        LowSigma->setMinimumSize(QSize(150, 0));
        LowSigma->setMaximum(10.000000000000000);
        LowSigma->setValue(3.000000000000000);

        gridLayout_2->addWidget(LowSigma, 6, 1, 1, 1);

        Iterations = new QSpinBox(StackingGroupBox);
        Iterations->setObjectName("Iterations");
        sizePolicy4.setHeightForWidth(Iterations->sizePolicy().hasHeightForWidth());
        Iterations->setSizePolicy(sizePolicy4);
        Iterations->setMinimumSize(QSize(150, 0));
        Iterations->setMinimum(1);
        Iterations->setMaximum(20);
        Iterations->setValue(3);

        gridLayout_2->addWidget(Iterations, 8, 1, 1, 1);

        WinsorCutoff = new QDoubleSpinBox(StackingGroupBox);
        WinsorCutoff->setObjectName("WinsorCutoff");
        sizePolicy4.setHeightForWidth(WinsorCutoff->sizePolicy().hasHeightForWidth());
        WinsorCutoff->setSizePolicy(sizePolicy4);
        WinsorCutoff->setMinimumSize(QSize(150, 0));
        WinsorCutoff->setMaximum(10.000000000000000);
        WinsorCutoff->setValue(3.000000000000000);

        gridLayout_2->addWidget(WinsorCutoff, 6, 3, 1, 1);

        HighSigmaLabel = new QLabel(StackingGroupBox);
        HighSigmaLabel->setObjectName("HighSigmaLabel");
        sizePolicy4.setHeightForWidth(HighSigmaLabel->sizePolicy().hasHeightForWidth());
        HighSigmaLabel->setSizePolicy(sizePolicy4);
        HighSigmaLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(HighSigmaLabel, 7, 0, 1, 1);

        AlphaLabel = new QLabel(StackingGroupBox);
        AlphaLabel->setObjectName("AlphaLabel");
        sizePolicy4.setHeightForWidth(AlphaLabel->sizePolicy().hasHeightForWidth());
        AlphaLabel->setSizePolicy(sizePolicy4);
        AlphaLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(AlphaLabel, 9, 0, 1, 1);

        NormalizationLabel = new QLabel(StackingGroupBox);
        NormalizationLabel->setObjectName("NormalizationLabel");
        sizePolicy4.setHeightForWidth(NormalizationLabel->sizePolicy().hasHeightForWidth());
        NormalizationLabel->setSizePolicy(sizePolicy4);
        NormalizationLabel->setMinimumSize(QSize(165, 0));

        gridLayout_2->addWidget(NormalizationLabel, 5, 0, 1, 1);

        Normalization = new QComboBox(StackingGroupBox);
        Normalization->addItem(QString());
        Normalization->addItem(QString());
        Normalization->setObjectName("Normalization");
        sizePolicy4.setHeightForWidth(Normalization->sizePolicy().hasHeightForWidth());
        Normalization->setSizePolicy(sizePolicy4);
        Normalization->setMinimumSize(QSize(150, 0));

        gridLayout_2->addWidget(Normalization, 5, 1, 1, 1);


        StackingUnusedVerticalLayout->addWidget(StackingGroupBox);

        StackingMinimized = new QLabel(StackingMinimizeWidget);
        StackingMinimized->setObjectName("StackingMinimized");

        StackingUnusedVerticalLayout->addWidget(StackingMinimized);


        gridLayout_3->addWidget(StackingMinimizeWidget, 3, 0, 1, 2, Qt::AlignLeft);

        PostProcMinimizeWidget = new MinimizeWidget(LiveStackingUI);
        PostProcMinimizeWidget->setObjectName("PostProcMinimizeWidget");
        PostProcUnusedVerticalLayout = new QVBoxLayout(PostProcMinimizeWidget);
        PostProcUnusedVerticalLayout->setSpacing(0);
        PostProcUnusedVerticalLayout->setObjectName("PostProcUnusedVerticalLayout");
        PostProcUnusedVerticalLayout->setContentsMargins(0, 0, 0, 0);
        PostProcGroupBox = new QGroupBox(PostProcMinimizeWidget);
        PostProcGroupBox->setObjectName("PostProcGroupBox");
        sizePolicy4.setHeightForWidth(PostProcGroupBox->sizePolicy().hasHeightForWidth());
        PostProcGroupBox->setSizePolicy(sizePolicy4);
        PostProcGroupBox->setMinimumSize(QSize(600, 0));
        PostProcGroupBox->setCheckable(true);
        PostProcGroupBox->setChecked(true);
        gridLayout_4 = new QGridLayout(PostProcGroupBox);
        gridLayout_4->setSpacing(3);
        gridLayout_4->setObjectName("gridLayout_4");
        gridLayout_4->setContentsMargins(0, 0, 0, 0);
        SharpenAmt = new QDoubleSpinBox(PostProcGroupBox);
        SharpenAmt->setObjectName("SharpenAmt");
        sizePolicy4.setHeightForWidth(SharpenAmt->sizePolicy().hasHeightForWidth());
        SharpenAmt->setSizePolicy(sizePolicy4);
        SharpenAmt->setMinimumSize(QSize(150, 0));
        SharpenAmt->setMaximum(100.000000000000000);

        gridLayout_4->addWidget(SharpenAmt, 6, 1, 1, 1);

        SharpenLabel = new QLabel(PostProcGroupBox);
        SharpenLabel->setObjectName("SharpenLabel");
        sizePolicy4.setHeightForWidth(SharpenLabel->sizePolicy().hasHeightForWidth());
        SharpenLabel->setSizePolicy(sizePolicy4);
        SharpenLabel->setMinimumSize(QSize(165, 0));

        gridLayout_4->addWidget(SharpenLabel, 6, 0, 1, 1);

        PSFSigma = new QDoubleSpinBox(PostProcGroupBox);
        PSFSigma->setObjectName("PSFSigma");
        sizePolicy4.setHeightForWidth(PSFSigma->sizePolicy().hasHeightForWidth());
        PSFSigma->setSizePolicy(sizePolicy4);
        PSFSigma->setMinimumSize(QSize(150, 0));
        PSFSigma->setMaximum(10.000000000000000);
        PSFSigma->setValue(1.000000000000000);

        gridLayout_4->addWidget(PSFSigma, 2, 3, 1, 1);

        PSFLabel = new QLabel(PostProcGroupBox);
        PSFLabel->setObjectName("PSFLabel");
        sizePolicy4.setHeightForWidth(PSFLabel->sizePolicy().hasHeightForWidth());
        PSFLabel->setSizePolicy(sizePolicy4);
        PSFLabel->setMinimumSize(QSize(125, 0));

        gridLayout_4->addWidget(PSFLabel, 2, 2, 1, 1);

        gradientLabel = new QLabel(PostProcGroupBox);
        gradientLabel->setObjectName("gradientLabel");
        sizePolicy4.setHeightForWidth(gradientLabel->sizePolicy().hasHeightForWidth());
        gradientLabel->setSizePolicy(sizePolicy4);
        gradientLabel->setMinimumSize(QSize(165, 0));

        gridLayout_4->addWidget(gradientLabel, 0, 0, 1, 1);

        DeconvLabel = new QLabel(PostProcGroupBox);
        DeconvLabel->setObjectName("DeconvLabel");
        sizePolicy4.setHeightForWidth(DeconvLabel->sizePolicy().hasHeightForWidth());
        DeconvLabel->setSizePolicy(sizePolicy4);
        DeconvLabel->setMinimumSize(QSize(165, 0));

        gridLayout_4->addWidget(DeconvLabel, 2, 0, 1, 1);

        DenoiseAmt = new QDoubleSpinBox(PostProcGroupBox);
        DenoiseAmt->setObjectName("DenoiseAmt");
        sizePolicy4.setHeightForWidth(DenoiseAmt->sizePolicy().hasHeightForWidth());
        DenoiseAmt->setSizePolicy(sizePolicy4);
        DenoiseAmt->setMinimumSize(QSize(150, 0));
        DenoiseAmt->setMaximum(1.000000000000000);

        gridLayout_4->addWidget(DenoiseAmt, 4, 1, 1, 1);

        line = new QFrame(PostProcGroupBox);
        line->setObjectName("line");
        line->setFrameShape(QFrame::Shape::HLine);
        line->setFrameShadow(QFrame::Shadow::Sunken);

        gridLayout_4->addWidget(line, 3, 0, 1, 4);

        SharpenSigmaLabel = new QLabel(PostProcGroupBox);
        SharpenSigmaLabel->setObjectName("SharpenSigmaLabel");
        sizePolicy4.setHeightForWidth(SharpenSigmaLabel->sizePolicy().hasHeightForWidth());
        SharpenSigmaLabel->setSizePolicy(sizePolicy4);
        SharpenSigmaLabel->setMinimumSize(QSize(165, 0));

        gridLayout_4->addWidget(SharpenSigmaLabel, 8, 0, 1, 1);

        ReprocessB = new QPushButton(PostProcGroupBox);
        ReprocessB->setObjectName("ReprocessB");
        sizePolicy4.setHeightForWidth(ReprocessB->sizePolicy().hasHeightForWidth());
        ReprocessB->setSizePolicy(sizePolicy4);
        ReprocessB->setMinimumSize(QSize(150, 0));

        gridLayout_4->addWidget(ReprocessB, 8, 3, 1, 1);

        line_2 = new QFrame(PostProcGroupBox);
        line_2->setObjectName("line_2");
        line_2->setFrameShape(QFrame::Shape::HLine);
        line_2->setFrameShadow(QFrame::Shadow::Sunken);

        gridLayout_4->addWidget(line_2, 5, 0, 1, 4);

        SharpenKernal = new QSpinBox(PostProcGroupBox);
        SharpenKernal->setObjectName("SharpenKernal");
        sizePolicy4.setHeightForWidth(SharpenKernal->sizePolicy().hasHeightForWidth());
        SharpenKernal->setSizePolicy(sizePolicy4);
        SharpenKernal->setMinimumSize(QSize(150, 0));
        SharpenKernal->setMinimum(1);
        SharpenKernal->setSingleStep(2);
        SharpenKernal->setValue(3);

        gridLayout_4->addWidget(SharpenKernal, 6, 3, 1, 1);

        GradientAmt = new QSlider(PostProcGroupBox);
        GradientAmt->setObjectName("GradientAmt");
        sizePolicy4.setHeightForWidth(GradientAmt->sizePolicy().hasHeightForWidth());
        GradientAmt->setSizePolicy(sizePolicy4);
        GradientAmt->setMinimumSize(QSize(275, 0));
        GradientAmt->setMaximum(100);
        GradientAmt->setValue(0);
        GradientAmt->setOrientation(Qt::Horizontal);
        GradientAmt->setInvertedAppearance(false);
        GradientAmt->setTickPosition(QSlider::NoTicks);

        gridLayout_4->addWidget(GradientAmt, 0, 1, 1, 2);

        DenoiseLabel = new QLabel(PostProcGroupBox);
        DenoiseLabel->setObjectName("DenoiseLabel");
        sizePolicy4.setHeightForWidth(DenoiseLabel->sizePolicy().hasHeightForWidth());
        DenoiseLabel->setSizePolicy(sizePolicy4);
        DenoiseLabel->setMinimumSize(QSize(165, 0));

        gridLayout_4->addWidget(DenoiseLabel, 4, 0, 1, 1);

        DeconvAmt = new QDoubleSpinBox(PostProcGroupBox);
        DeconvAmt->setObjectName("DeconvAmt");
        sizePolicy4.setHeightForWidth(DeconvAmt->sizePolicy().hasHeightForWidth());
        DeconvAmt->setSizePolicy(sizePolicy4);
        DeconvAmt->setMinimumSize(QSize(150, 0));
        DeconvAmt->setMaximum(1.000000000000000);
        DeconvAmt->setSingleStep(0.100000000000000);

        gridLayout_4->addWidget(DeconvAmt, 2, 1, 1, 1);

        SharpenSigma = new QDoubleSpinBox(PostProcGroupBox);
        SharpenSigma->setObjectName("SharpenSigma");
        sizePolicy4.setHeightForWidth(SharpenSigma->sizePolicy().hasHeightForWidth());
        SharpenSigma->setSizePolicy(sizePolicy4);
        SharpenSigma->setMinimumSize(QSize(150, 0));
        SharpenSigma->setMaximum(100.000000000000000);
        SharpenSigma->setValue(3.000000000000000);

        gridLayout_4->addWidget(SharpenSigma, 8, 1, 1, 1);

        SharpenKernalLabel = new QLabel(PostProcGroupBox);
        SharpenKernalLabel->setObjectName("SharpenKernalLabel");
        sizePolicy4.setHeightForWidth(SharpenKernalLabel->sizePolicy().hasHeightForWidth());
        SharpenKernalLabel->setSizePolicy(sizePolicy4);
        SharpenKernalLabel->setMinimumSize(QSize(125, 0));

        gridLayout_4->addWidget(SharpenKernalLabel, 6, 2, 1, 1);

        GradientSpin = new QSpinBox(PostProcGroupBox);
        GradientSpin->setObjectName("GradientSpin");
        sizePolicy4.setHeightForWidth(GradientSpin->sizePolicy().hasHeightForWidth());
        GradientSpin->setSizePolicy(sizePolicy4);
        GradientSpin->setMinimumSize(QSize(150, 0));
        GradientSpin->setMaximum(100);

        gridLayout_4->addWidget(GradientSpin, 0, 3, 1, 1);

        line_3 = new QFrame(PostProcGroupBox);
        line_3->setObjectName("line_3");
        line_3->setFrameShape(QFrame::Shape::HLine);
        line_3->setFrameShadow(QFrame::Shadow::Sunken);

        gridLayout_4->addWidget(line_3, 1, 0, 1, 4);


        PostProcUnusedVerticalLayout->addWidget(PostProcGroupBox);

        PostProcMinimized = new QLabel(PostProcMinimizeWidget);
        PostProcMinimized->setObjectName("PostProcMinimized");

        PostProcUnusedVerticalLayout->addWidget(PostProcMinimized);


        gridLayout_3->addWidget(PostProcMinimizeWidget, 4, 0, 1, 2, Qt::AlignLeft);

        verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);

        gridLayout_3->addItem(verticalSpacer, 5, 0, 1, 1);

        CalibrationMinimizeWidget = new MinimizeWidget(LiveStackingUI);
        CalibrationMinimizeWidget->setObjectName("CalibrationMinimizeWidget");
        CalibrationUnusedVerticalLayout = new QVBoxLayout(CalibrationMinimizeWidget);
        CalibrationUnusedVerticalLayout->setSpacing(0);
        CalibrationUnusedVerticalLayout->setObjectName("CalibrationUnusedVerticalLayout");
        CalibrationUnusedVerticalLayout->setContentsMargins(0, 0, 0, 0);
        CalibrationGroupBox = new QGroupBox(CalibrationMinimizeWidget);
        CalibrationGroupBox->setObjectName("CalibrationGroupBox");
        sizePolicy1.setHeightForWidth(CalibrationGroupBox->sizePolicy().hasHeightForWidth());
        CalibrationGroupBox->setSizePolicy(sizePolicy1);
        CalibrationGroupBox->setFlat(false);
        gridLayout = new QGridLayout(CalibrationGroupBox);
        gridLayout->setSpacing(3);
        gridLayout->setObjectName("gridLayout");
        gridLayout->setContentsMargins(0, 0, 0, 0);
        MasterFlatLabel = new QLabel(CalibrationGroupBox);
        MasterFlatLabel->setObjectName("MasterFlatLabel");
        sizePolicy4.setHeightForWidth(MasterFlatLabel->sizePolicy().hasHeightForWidth());
        MasterFlatLabel->setSizePolicy(sizePolicy4);
        MasterFlatLabel->setMinimumSize(QSize(165, 0));

        gridLayout->addWidget(MasterFlatLabel, 5, 0, 1, 1);

        MasterFlatLumLabel = new QLabel(CalibrationGroupBox);
        MasterFlatLumLabel->setObjectName("MasterFlatLumLabel");
        sizePolicy4.setHeightForWidth(MasterFlatLumLabel->sizePolicy().hasHeightForWidth());
        MasterFlatLumLabel->setSizePolicy(sizePolicy4);
        MasterFlatLumLabel->setMinimumSize(QSize(165, 0));

        gridLayout->addWidget(MasterFlatLumLabel, 9, 0, 1, 1);

        MasterDarkLumLabel = new QLabel(CalibrationGroupBox);
        MasterDarkLumLabel->setObjectName("MasterDarkLumLabel");
        QSizePolicy sizePolicy6(QSizePolicy::Policy::Fixed, QSizePolicy::Policy::Fixed);
        sizePolicy6.setHorizontalStretch(165);
        sizePolicy6.setVerticalStretch(0);
        sizePolicy6.setHeightForWidth(MasterDarkLumLabel->sizePolicy().hasHeightForWidth());
        MasterDarkLumLabel->setSizePolicy(sizePolicy6);

        gridLayout->addWidget(MasterDarkLumLabel, 4, 0, 1, 1);

        MasterDarkGreen = new QLineEdit(CalibrationGroupBox);
        MasterDarkGreen->setObjectName("MasterDarkGreen");
        sizePolicy3.setHeightForWidth(MasterDarkGreen->sizePolicy().hasHeightForWidth());
        MasterDarkGreen->setSizePolicy(sizePolicy3);
        MasterDarkGreen->setMinimumSize(QSize(200, 28));
        MasterDarkGreen->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterDarkGreen, 2, 1, 1, 1);

        MasterDarkBlue = new QLineEdit(CalibrationGroupBox);
        MasterDarkBlue->setObjectName("MasterDarkBlue");
        sizePolicy3.setHeightForWidth(MasterDarkBlue->sizePolicy().hasHeightForWidth());
        MasterDarkBlue->setSizePolicy(sizePolicy3);
        MasterDarkBlue->setMinimumSize(QSize(200, 28));
        MasterDarkBlue->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterDarkBlue, 3, 1, 1, 1);

        MasterDarkRed = new QLineEdit(CalibrationGroupBox);
        MasterDarkRed->setObjectName("MasterDarkRed");
        sizePolicy3.setHeightForWidth(MasterDarkRed->sizePolicy().hasHeightForWidth());
        MasterDarkRed->setSizePolicy(sizePolicy3);
        MasterDarkRed->setMinimumSize(QSize(200, 28));
        MasterDarkRed->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterDarkRed, 1, 1, 1, 1);

        MasterFlatB = new QToolButton(CalibrationGroupBox);
        MasterFlatB->setObjectName("MasterFlatB");
        sizePolicy4.setHeightForWidth(MasterFlatB->sizePolicy().hasHeightForWidth());
        MasterFlatB->setSizePolicy(sizePolicy4);
        MasterFlatB->setIcon(icon);

        gridLayout->addWidget(MasterFlatB, 5, 2, 1, 1);

        MasterFlatLumB = new QToolButton(CalibrationGroupBox);
        MasterFlatLumB->setObjectName("MasterFlatLumB");
        MasterFlatLumB->setIcon(icon);

        gridLayout->addWidget(MasterFlatLumB, 9, 2, 1, 1);

        MasterFlatRedLabel = new QLabel(CalibrationGroupBox);
        MasterFlatRedLabel->setObjectName("MasterFlatRedLabel");
        sizePolicy4.setHeightForWidth(MasterFlatRedLabel->sizePolicy().hasHeightForWidth());
        MasterFlatRedLabel->setSizePolicy(sizePolicy4);
        MasterFlatRedLabel->setMinimumSize(QSize(165, 0));

        gridLayout->addWidget(MasterFlatRedLabel, 6, 0, 1, 1);

        MasterFlatGreen = new QLineEdit(CalibrationGroupBox);
        MasterFlatGreen->setObjectName("MasterFlatGreen");
        sizePolicy3.setHeightForWidth(MasterFlatGreen->sizePolicy().hasHeightForWidth());
        MasterFlatGreen->setSizePolicy(sizePolicy3);
        MasterFlatGreen->setMinimumSize(QSize(200, 28));
        MasterFlatGreen->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterFlatGreen, 7, 1, 1, 1);

        MasterDarkRedB = new QToolButton(CalibrationGroupBox);
        MasterDarkRedB->setObjectName("MasterDarkRedB");
        MasterDarkRedB->setIcon(icon);

        gridLayout->addWidget(MasterDarkRedB, 1, 2, 1, 1);

        MasterDarkLumB = new QToolButton(CalibrationGroupBox);
        MasterDarkLumB->setObjectName("MasterDarkLumB");
        MasterDarkLumB->setIcon(icon);

        gridLayout->addWidget(MasterDarkLumB, 4, 2, 1, 1);

        MasterDarkGreenB = new QToolButton(CalibrationGroupBox);
        MasterDarkGreenB->setObjectName("MasterDarkGreenB");
        MasterDarkGreenB->setIcon(icon);

        gridLayout->addWidget(MasterDarkGreenB, 2, 2, 1, 1);

        MasterFlatRedB = new QToolButton(CalibrationGroupBox);
        MasterFlatRedB->setObjectName("MasterFlatRedB");
        MasterFlatRedB->setIcon(icon);

        gridLayout->addWidget(MasterFlatRedB, 6, 2, 1, 1);

        MasterDark = new QLineEdit(CalibrationGroupBox);
        MasterDark->setObjectName("MasterDark");
        sizePolicy3.setHeightForWidth(MasterDark->sizePolicy().hasHeightForWidth());
        MasterDark->setSizePolicy(sizePolicy3);
        MasterDark->setMinimumSize(QSize(200, 28));
        MasterDark->setReadOnly(false);
        MasterDark->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterDark, 0, 1, 1, 1);

        MasterFlatBlueB = new QToolButton(CalibrationGroupBox);
        MasterFlatBlueB->setObjectName("MasterFlatBlueB");
        MasterFlatBlueB->setIcon(icon);

        gridLayout->addWidget(MasterFlatBlueB, 8, 2, 1, 1);

        MasterFlatGreenLabel = new QLabel(CalibrationGroupBox);
        MasterFlatGreenLabel->setObjectName("MasterFlatGreenLabel");
        sizePolicy4.setHeightForWidth(MasterFlatGreenLabel->sizePolicy().hasHeightForWidth());
        MasterFlatGreenLabel->setSizePolicy(sizePolicy4);
        MasterFlatGreenLabel->setMinimumSize(QSize(165, 0));

        gridLayout->addWidget(MasterFlatGreenLabel, 7, 0, 1, 1);

        MasterDarkB = new QToolButton(CalibrationGroupBox);
        MasterDarkB->setObjectName("MasterDarkB");
        sizePolicy4.setHeightForWidth(MasterDarkB->sizePolicy().hasHeightForWidth());
        MasterDarkB->setSizePolicy(sizePolicy4);
        MasterDarkB->setIcon(icon);

        gridLayout->addWidget(MasterDarkB, 0, 2, 1, 1);

        MasterFlatBlue = new QLineEdit(CalibrationGroupBox);
        MasterFlatBlue->setObjectName("MasterFlatBlue");
        sizePolicy3.setHeightForWidth(MasterFlatBlue->sizePolicy().hasHeightForWidth());
        MasterFlatBlue->setSizePolicy(sizePolicy3);
        MasterFlatBlue->setMinimumSize(QSize(200, 28));
        MasterFlatBlue->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterFlatBlue, 8, 1, 1, 1);

        MasterDarkGreenLabel = new QLabel(CalibrationGroupBox);
        MasterDarkGreenLabel->setObjectName("MasterDarkGreenLabel");
        sizePolicy6.setHeightForWidth(MasterDarkGreenLabel->sizePolicy().hasHeightForWidth());
        MasterDarkGreenLabel->setSizePolicy(sizePolicy6);

        gridLayout->addWidget(MasterDarkGreenLabel, 2, 0, 1, 1);

        MasterFlatRed = new QLineEdit(CalibrationGroupBox);
        MasterFlatRed->setObjectName("MasterFlatRed");
        QSizePolicy sizePolicy7(QSizePolicy::Policy::MinimumExpanding, QSizePolicy::Policy::Fixed);
        sizePolicy7.setHorizontalStretch(200);
        sizePolicy7.setVerticalStretch(0);
        sizePolicy7.setHeightForWidth(MasterFlatRed->sizePolicy().hasHeightForWidth());
        MasterFlatRed->setSizePolicy(sizePolicy7);
        MasterFlatRed->setMinimumSize(QSize(200, 28));
        MasterFlatRed->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterFlatRed, 6, 1, 1, 1);

        MasterDarkBlueLabel = new QLabel(CalibrationGroupBox);
        MasterDarkBlueLabel->setObjectName("MasterDarkBlueLabel");
        sizePolicy6.setHeightForWidth(MasterDarkBlueLabel->sizePolicy().hasHeightForWidth());
        MasterDarkBlueLabel->setSizePolicy(sizePolicy6);

        gridLayout->addWidget(MasterDarkBlueLabel, 3, 0, 1, 1);

        MasterFlatLum = new QLineEdit(CalibrationGroupBox);
        MasterFlatLum->setObjectName("MasterFlatLum");
        sizePolicy3.setHeightForWidth(MasterFlatLum->sizePolicy().hasHeightForWidth());
        MasterFlatLum->setSizePolicy(sizePolicy3);
        MasterFlatLum->setMinimumSize(QSize(200, 28));
        MasterFlatLum->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterFlatLum, 9, 1, 1, 1);

        MasterFlat = new QLineEdit(CalibrationGroupBox);
        MasterFlat->setObjectName("MasterFlat");
        sizePolicy3.setHeightForWidth(MasterFlat->sizePolicy().hasHeightForWidth());
        MasterFlat->setSizePolicy(sizePolicy3);
        MasterFlat->setMinimumSize(QSize(200, 28));
        MasterFlat->setReadOnly(false);
        MasterFlat->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterFlat, 5, 1, 1, 1);

        MasterDarkLabel = new QLabel(CalibrationGroupBox);
        MasterDarkLabel->setObjectName("MasterDarkLabel");
        sizePolicy4.setHeightForWidth(MasterDarkLabel->sizePolicy().hasHeightForWidth());
        MasterDarkLabel->setSizePolicy(sizePolicy4);
        MasterDarkLabel->setMinimumSize(QSize(165, 0));

        gridLayout->addWidget(MasterDarkLabel, 0, 0, 1, 1);

        MasterDarkBlueB = new QToolButton(CalibrationGroupBox);
        MasterDarkBlueB->setObjectName("MasterDarkBlueB");
        MasterDarkBlueB->setIcon(icon);

        gridLayout->addWidget(MasterDarkBlueB, 3, 2, 1, 1);

        MasterDarkLum = new QLineEdit(CalibrationGroupBox);
        MasterDarkLum->setObjectName("MasterDarkLum");
        sizePolicy3.setHeightForWidth(MasterDarkLum->sizePolicy().hasHeightForWidth());
        MasterDarkLum->setSizePolicy(sizePolicy3);
        MasterDarkLum->setMinimumSize(QSize(200, 28));
        MasterDarkLum->setClearButtonEnabled(true);

        gridLayout->addWidget(MasterDarkLum, 4, 1, 1, 1);

        MasterFlatBlueLabel = new QLabel(CalibrationGroupBox);
        MasterFlatBlueLabel->setObjectName("MasterFlatBlueLabel");
        sizePolicy4.setHeightForWidth(MasterFlatBlueLabel->sizePolicy().hasHeightForWidth());
        MasterFlatBlueLabel->setSizePolicy(sizePolicy4);
        MasterFlatBlueLabel->setMinimumSize(QSize(165, 0));

        gridLayout->addWidget(MasterFlatBlueLabel, 8, 0, 1, 1);

        MasterDarkRedLabel = new QLabel(CalibrationGroupBox);
        MasterDarkRedLabel->setObjectName("MasterDarkRedLabel");
        sizePolicy6.setHeightForWidth(MasterDarkRedLabel->sizePolicy().hasHeightForWidth());
        MasterDarkRedLabel->setSizePolicy(sizePolicy6);

        gridLayout->addWidget(MasterDarkRedLabel, 1, 0, 1, 1);

        MasterFlatGreenB = new QToolButton(CalibrationGroupBox);
        MasterFlatGreenB->setObjectName("MasterFlatGreenB");
        MasterFlatGreenB->setIcon(icon);

        gridLayout->addWidget(MasterFlatGreenB, 7, 2, 1, 1);

        HotPixels = new QCheckBox(CalibrationGroupBox);
        HotPixels->setObjectName("HotPixels");
        HotPixels->setChecked(false);

        gridLayout->addWidget(HotPixels, 10, 0, 1, 1);

        ColdPixels = new QCheckBox(CalibrationGroupBox);
        ColdPixels->setObjectName("ColdPixels");
        ColdPixels->setChecked(false);

        gridLayout->addWidget(ColdPixels, 10, 1, 1, 1);


        CalibrationUnusedVerticalLayout->addWidget(CalibrationGroupBox);

        CalibrationMinimized = new QLabel(CalibrationMinimizeWidget);
        CalibrationMinimized->setObjectName("CalibrationMinimized");

        CalibrationUnusedVerticalLayout->addWidget(CalibrationMinimized);


        gridLayout_3->addWidget(CalibrationMinimizeWidget, 1, 0, 1, 2);


        LiveStackingVLayout->addLayout(gridLayout_3);

#if QT_CONFIG(shortcut)
        AlignMethodLabel->setBuddy(AlignMethod);
        AlignMasterSubLabel->setBuddy(AlignMaster);
        BlueLabel->setBuddy(Blue);
        GreenLabel->setBuddy(Green);
        StackLabel->setBuddy(Stack);
        RedLabel->setBuddy(Red);
        LumLabel->setBuddy(Lum);
        KappaLabel->setBuddy(Kappa);
        InMemoryLabel->setBuddy(NumInMem);
        DownscaleLabel->setBuddy(LSDownscale);
        PSFUpdateLabel->setBuddy(PSFUpdate);
        StackingMethodLabel->setBuddy(StackingMethod);
        WeightingLabel->setBuddy(Weighting);
        LowSigmaLabel->setBuddy(LowSigma);
        IterationsLabel->setBuddy(Iterations);
        WinsorCutoffLabel->setBuddy(WinsorCutoff);
        HighSigmaLabel->setBuddy(HighSigma);
        AlphaLabel->setBuddy(Alpha);
        NormalizationLabel->setBuddy(Normalization);
        SharpenLabel->setBuddy(SharpenAmt);
        PSFLabel->setBuddy(PSFSigma);
        gradientLabel->setBuddy(GradientAmt);
        DeconvLabel->setBuddy(DeconvAmt);
        SharpenSigmaLabel->setBuddy(SharpenSigma);
        DenoiseLabel->setBuddy(DenoiseAmt);
        SharpenKernalLabel->setBuddy(SharpenKernal);
        MasterFlatLabel->setBuddy(MasterFlat);
        MasterFlatLumLabel->setBuddy(MasterFlatLum);
        MasterDarkLumLabel->setBuddy(MasterDarkLum);
        MasterFlatRedLabel->setBuddy(MasterFlatRed);
        MasterFlatGreenLabel->setBuddy(MasterFlatGreen);
        MasterDarkGreenLabel->setBuddy(MasterDarkGreen);
        MasterDarkBlueLabel->setBuddy(MasterDarkBlue);
        MasterDarkLabel->setBuddy(MasterDark);
        MasterFlatBlueLabel->setBuddy(MasterFlatBlue);
        MasterDarkRedLabel->setBuddy(MasterDarkRed);
#endif // QT_CONFIG(shortcut)
        QWidget::setTabOrder(Stack, StackDirB);
        QWidget::setTabOrder(StackDirB, StackMultiCB1);
        QWidget::setTabOrder(StackMultiCB1, Red);
        QWidget::setTabOrder(Red, RedDirB);
        QWidget::setTabOrder(RedDirB, StackMultiCB2);
        QWidget::setTabOrder(StackMultiCB2, Green);
        QWidget::setTabOrder(Green, GreenDirB);
        QWidget::setTabOrder(GreenDirB, Blue);
        QWidget::setTabOrder(Blue, BlueDirB);
        QWidget::setTabOrder(BlueDirB, Lum);
        QWidget::setTabOrder(Lum, LumDirB);
        QWidget::setTabOrder(LumDirB, WebcastB);
        QWidget::setTabOrder(WebcastB, StartB);
        QWidget::setTabOrder(StartB, MonitorB);
        QWidget::setTabOrder(MonitorB, CalcSNR);
        QWidget::setTabOrder(CalcSNR, SaveB);
        QWidget::setTabOrder(SaveB, HelpB);
        QWidget::setTabOrder(HelpB, MasterDark);
        QWidget::setTabOrder(MasterDark, MasterDarkB);
        QWidget::setTabOrder(MasterDarkB, MasterDarkRed);
        QWidget::setTabOrder(MasterDarkRed, MasterDarkRedB);
        QWidget::setTabOrder(MasterDarkRedB, MasterDarkLum);
        QWidget::setTabOrder(MasterDarkLum, MasterDarkGreenB);
        QWidget::setTabOrder(MasterDarkGreenB, MasterDarkGreen);
        QWidget::setTabOrder(MasterDarkGreen, MasterDarkBlueB);
        QWidget::setTabOrder(MasterDarkBlueB, MasterDarkBlue);
        QWidget::setTabOrder(MasterDarkBlue, MasterDarkLumB);
        QWidget::setTabOrder(MasterDarkLumB, MasterFlatRed);
        QWidget::setTabOrder(MasterFlatRed, MasterFlatB);
        QWidget::setTabOrder(MasterFlatB, MasterFlat);
        QWidget::setTabOrder(MasterFlat, MasterFlatRedB);
        QWidget::setTabOrder(MasterFlatRedB, MasterFlatGreen);
        QWidget::setTabOrder(MasterFlatGreen, MasterFlatGreenB);
        QWidget::setTabOrder(MasterFlatGreenB, MasterFlatBlue);
        QWidget::setTabOrder(MasterFlatBlue, MasterFlatBlueB);
        QWidget::setTabOrder(MasterFlatBlueB, MasterFlatLum);
        QWidget::setTabOrder(MasterFlatLum, MasterFlatLumB);
        QWidget::setTabOrder(MasterFlatLumB, HotPixels);
        QWidget::setTabOrder(HotPixels, ColdPixels);
        QWidget::setTabOrder(ColdPixels, AlignMaster);
        QWidget::setTabOrder(AlignMaster, AlignMasterB);
        QWidget::setTabOrder(AlignMasterB, AlignMethod);
        QWidget::setTabOrder(AlignMethod, NumInMem);
        QWidget::setTabOrder(NumInMem, LSDownscale);
        QWidget::setTabOrder(LSDownscale, StackingMethod);
        QWidget::setTabOrder(StackingMethod, Weighting);
        QWidget::setTabOrder(Weighting, Normalization);
        QWidget::setTabOrder(Normalization, LowSigma);
        QWidget::setTabOrder(LowSigma, WinsorCutoff);
        QWidget::setTabOrder(WinsorCutoff, HighSigma);
        QWidget::setTabOrder(HighSigma, Iterations);
        QWidget::setTabOrder(Iterations, Kappa);
        QWidget::setTabOrder(Kappa, Alpha);
        QWidget::setTabOrder(Alpha, Sigma);
        QWidget::setTabOrder(Sigma, PSFUpdate);
        QWidget::setTabOrder(PSFUpdate, PostProcGroupBox);
        QWidget::setTabOrder(PostProcGroupBox, DeconvAmt);
        QWidget::setTabOrder(DeconvAmt, PSFSigma);
        QWidget::setTabOrder(PSFSigma, GradientAmt);
        QWidget::setTabOrder(GradientAmt, GradientSpin);
        QWidget::setTabOrder(GradientSpin, DenoiseAmt);
        QWidget::setTabOrder(DenoiseAmt, SharpenAmt);
        QWidget::setTabOrder(SharpenAmt, SharpenKernal);
        QWidget::setTabOrder(SharpenKernal, SharpenSigma);
        QWidget::setTabOrder(SharpenSigma, ReprocessB);

        retranslateUi(LiveStackingUI);

        StackingMethod->setCurrentIndex(0);


        QMetaObject::connectSlotsByName(LiveStackingUI);
    } // setupUi

    void retranslateUi(QDialog *LiveStackingUI)
    {
        LiveStackingUI->setWindowTitle(tr2i18n("Plate Solving", nullptr));
        AlignmentGroupBox->setTitle(tr2i18n("Alignment", nullptr));
        AlignMethod->setItemText(0, tr2i18n("Plate Solve", nullptr));
        AlignMethod->setItemText(1, tr2i18n("None", nullptr));

#if QT_CONFIG(tooltip)
        AlignMethod->setToolTip(tr2i18n("<html><head/><body><p>Alignment Method:</p><p>- None. No alignment is performed. Useful for stacking darks and flats.</p><p>- Plate Solve. Subs will be plate solved in order to align them prior to stacking.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        AlignMaster->setToolTip(tr2i18n("<html><head/><body><p>The sub to use as reference to align all other subs.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        AlignMethodLabel->setToolTip(tr2i18n("<html><head/><body><p>Alignment Method:</p><p>- None. No alignment is performed. Useful for stacking darks and flats.</p><p>- Plate Solve. Subs will be plate solved in order to align them prior to stacking.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        AlignMethodLabel->setText(tr2i18n("Method:", nullptr));
#if QT_CONFIG(tooltip)
        AlignMasterSubLabel->setToolTip(tr2i18n("The sub to use as reference to align all other subs.", nullptr));
#endif // QT_CONFIG(tooltip)
        AlignMasterSubLabel->setText(tr2i18n("Master Sub:", nullptr));
#if QT_CONFIG(tooltip)
        AlignMasterB->setToolTip(tr2i18n("<html><head/><body><p>File chooser dialog for Alignment Master</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        AlignMasterB->setText(QString());
#if QT_CONFIG(tooltip)
        AlignmentMinimized->setToolTip(tr2i18n("Configure alignment options in this section.", nullptr));
#endif // QT_CONFIG(tooltip)
        AlignmentMinimized->setText(tr2i18n("Alignment", nullptr));
        GeneralGroupBox->setTitle(tr2i18n("General", nullptr));
#if QT_CONFIG(tooltip)
        StartB->setToolTip(tr2i18n("<html><head/><body><p>Starts watching the Stack Directory and runs stacking.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StartB->setText(tr2i18n("Start", nullptr));
#if QT_CONFIG(tooltip)
        Red->setToolTip(tr2i18n("The directory containing Red files to stack", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        SubsProcessed->setToolTip(tr2i18n("Number of subs successfully processed / failed / total", nullptr));
#endif // QT_CONFIG(tooltip)
        SubsProcessed->setText(tr2i18n("0 / 0 / 0", nullptr));
#if QT_CONFIG(tooltip)
        MonitorB->setToolTip(tr2i18n("<html><head/><body><p>Launch Live Stacker Monitor</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        MonitorB->setText(QString());
#if QT_CONFIG(tooltip)
        GreenDirB->setToolTip(tr2i18n("Green directory chooser dialog", nullptr));
#endif // QT_CONFIG(tooltip)
        GreenDirB->setText(QString());
#if QT_CONFIG(tooltip)
        StackMultiCB1->setToolTip(tr2i18n("<html><head/><body><p>Toggle between mono and multi-channel mode</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StackMultiCB1->setText(QString());
#if QT_CONFIG(tooltip)
        StackDirB->setToolTip(tr2i18n("<html><head/><body><p>Stack directory chooser dialog</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StackDirB->setText(QString());
        BlueLabel->setText(tr2i18n("Blue Directory:", nullptr));
#if QT_CONFIG(tooltip)
        CalcSNR->setToolTip(tr2i18n("<html><head/><body><p>Check to enable SNR calculations on individual subs and the final image.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        CalcSNR->setTitle(tr2i18n("Calc SNR:", nullptr));
#if QT_CONFIG(tooltip)
        SubsSNRLabel->setToolTip(tr2i18n("<html><head/><body><p>Signal-to-noise ratio Average (mean) / Min / Max  of the processed subs</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SubsSNRLabel->setText(tr2i18n("Subs (Av/Min/Max):", nullptr));
#if QT_CONFIG(tooltip)
        ImageSNRLabel->setToolTip(tr2i18n("The signal-to-noise ratio of the final image", nullptr));
#endif // QT_CONFIG(tooltip)
        ImageSNRLabel->setText(tr2i18n("Stacked Image:", nullptr));
#if QT_CONFIG(tooltip)
        ImageSNR->setToolTip(tr2i18n("<html><head/><body><p>The signal-to-noise ratio of the final image</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        ImageSNR->setText(tr2i18n("0", nullptr));
#if QT_CONFIG(tooltip)
        SubsSNR->setToolTip(tr2i18n("<html><head/><body><p>Signal-to-noise ratio Average (mean) / Min / Max of the processed subs</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SubsSNR->setText(tr2i18n("0 / 0 / 0", nullptr));
#if QT_CONFIG(tooltip)
        NumberSubsLabel->setToolTip(tr2i18n("Number of subs successfully processed / failed / total", nullptr));
#endif // QT_CONFIG(tooltip)
        NumberSubsLabel->setText(tr2i18n("Proc / Fail / Total:", nullptr));
#if QT_CONFIG(tooltip)
        Blue->setToolTip(tr2i18n("The directory containing Blue files to stack", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        HelpB->setToolTip(tr2i18n("Open web documentation.", nullptr));
#endif // QT_CONFIG(tooltip)
        HelpB->setText(QString());
#if QT_CONFIG(tooltip)
        MemMonitor->setToolTip(tr2i18n("<html><head/><body><p>Memory monitor. Double click to toggle text on / off.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        SaveB->setToolTip(tr2i18n("<html><head/><body><p>Save Live Stacker parameters</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SaveB->setText(tr2i18n("Save Settings", nullptr));
#if QT_CONFIG(tooltip)
        RedDirB->setToolTip(tr2i18n("<html><head/><body><p>Red directory chooser dialog</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        RedDirB->setText(QString());
#if QT_CONFIG(tooltip)
        Lum->setToolTip(tr2i18n("The directory containing Lum files to stack", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        LumDirB->setToolTip(tr2i18n("Lum (optional) directory chooser dialog", nullptr));
#endif // QT_CONFIG(tooltip)
        LumDirB->setText(QString());
#if QT_CONFIG(tooltip)
        Green->setToolTip(tr2i18n("The directory containing Green files to stack", nullptr));
#endif // QT_CONFIG(tooltip)
        GreenLabel->setText(tr2i18n("Green Directory:", nullptr));
#if QT_CONFIG(tooltip)
        StackLabel->setToolTip(tr2i18n("<html><head/><body><p>The directory containing files to stack</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StackLabel->setText(tr2i18n("Stack Directory:", nullptr));
#if QT_CONFIG(tooltip)
        StackMultiCB2->setToolTip(tr2i18n("Toggle between mono and multi-channel mode", nullptr));
#endif // QT_CONFIG(tooltip)
        StackMultiCB2->setText(QString());
#if QT_CONFIG(tooltip)
        Stack->setToolTip(tr2i18n("<html><head/><body><p>The directory containing files to stack</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        RedLabel->setText(tr2i18n("Red Directory:", nullptr));
#if QT_CONFIG(tooltip)
        BlueDirB->setToolTip(tr2i18n("Blue directory chooser dialog", nullptr));
#endif // QT_CONFIG(tooltip)
        BlueDirB->setText(QString());
        LumLabel->setText(tr2i18n("Lum Directory:", nullptr));
#if QT_CONFIG(tooltip)
        WebcastB->setToolTip(tr2i18n("<html><head/><body><p>Start / Stop Webcasting stacked images</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        WebcastB->setText(tr2i18n("...", nullptr));
#if QT_CONFIG(tooltip)
        GeneralProcMinimized->setToolTip(tr2i18n("Configure general options in this section.", nullptr));
#endif // QT_CONFIG(tooltip)
        GeneralProcMinimized->setText(tr2i18n("General", nullptr));
#if QT_CONFIG(tooltip)
        StackingGroupBox->setToolTip(tr2i18n("<html><head/><body><p>The maximum number of subs held in memory whilst processing. The larger the value, the better the quality of the stacking process, but at the cost of more processing time and memory used.</p><p><br/></p><p>Processes such as sigma clipping will use this many subs to calculate statistics to use on all subs.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StackingGroupBox->setTitle(tr2i18n("Stacking", nullptr));
#if QT_CONFIG(tooltip)
        KappaLabel->setToolTip(tr2i18n("<html><head/><body><p>Kappa clamps the pixel update in the range 1/kappa to kappa versus the original value. So 1 means no change, the higher kappa the larger the possible updates.</p><p>Usual values are in the range 1.5 to 2.0. Reduce if images appear over processed, e.g. star ringing.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        KappaLabel->setText(tr2i18n("  Kappa:", nullptr));
#if QT_CONFIG(tooltip)
        InMemoryLabel->setToolTip(tr2i18n("<html><head/><body><p>The maximum number of subs held in memory whilst processing. The larger the value, the better the quality of the stacking process, but at the cost of more processing time and memory used.</p><p>Processes such as sigma clipping will use this many subs to calculate statistics to use on all subs.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        InMemoryLabel->setText(tr2i18n("In Memory Subs:", nullptr));
        Weighting->setItemText(0, tr2i18n("Equal", nullptr));
        Weighting->setItemText(1, tr2i18n("HFR", nullptr));
        Weighting->setItemText(2, tr2i18n("Num Stars", nullptr));

#if QT_CONFIG(tooltip)
        Weighting->setToolTip(tr2i18n("<html><head/><body><p>Frame weighting:</p><p>- Equal. All frames have the same weight.</p><p>- HFR. Frames are weighted by 1 / Average HFR.</p><p>- Num Stars. Frames are weighted by the number of stars detected in the frame.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        DownscaleLabel->setToolTip(tr2i18n("<html><head/><body><p>Downscale images:</p><p>- None. No downscaling applied .</p><p>- 2x2. Subs and masters are downscaled 2x2.</p><p>- 3x3. Subs and masters are downscaled 3x3.</p><p>- 4x4. Subs and masters are downscaled 4x4.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        DownscaleLabel->setText(tr2i18n("  Downscale: ", nullptr));
        StackingMethod->setItemText(0, tr2i18n("Average", nullptr));
        StackingMethod->setItemText(1, tr2i18n("Sigma Clipping", nullptr));
        StackingMethod->setItemText(2, tr2i18n("Winsorized SC", nullptr));
        StackingMethod->setItemText(3, tr2i18n("ImageMM", nullptr));

#if QT_CONFIG(tooltip)
        StackingMethod->setToolTip(tr2i18n("<html><head/><body><p>Stacking method:</p><p>- Average. Uses a simple mean average. No pixel rejection is applied.</p><p>- Sigma Clipping. Outlying pixels are rejected.</p><p>- Winsorized Sigma Clipping. Winsorized version of sigma clipping</p><p>- ImageMM. Implements ImageMM stacking as per https://iopscience.iop.org/article/10.3847/1538-3881/adfb72 NOTE: this method is very resource intensive</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StackingMethod->setCurrentText(tr2i18n("Average", nullptr));
#if QT_CONFIG(tooltip)
        PSFUpdateLabel->setToolTip(tr2i18n("<html><head/><body><p>Adapt PSF used in ImageMM algorithm.</p><p>0 = no PSF Update</p><p>n = update PSF every n iterations</p><p><br/></p><p>Can cause star ringing if applied too frequently.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        PSFUpdateLabel->setText(tr2i18n("PSF Update:", nullptr));
        LSDownscale->setItemText(0, tr2i18n("None", nullptr));
        LSDownscale->setItemText(1, tr2i18n("2x2", nullptr));
        LSDownscale->setItemText(2, tr2i18n("3x3", nullptr));
        LSDownscale->setItemText(3, tr2i18n("4x4", nullptr));

#if QT_CONFIG(tooltip)
        LSDownscale->setToolTip(tr2i18n("<html><head/><body><p>Downscale images:</p><p>- None. No downscaling applied .</p><p>- 2x2. Subs and masters are downscaled 2x2.</p><p>- 3x3. Subs and masters are downscaled 3x3.</p><p>- 4x4. Subs and masters are downscaled 4x4.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        LSDownscale->setCurrentText(tr2i18n("None", nullptr));
#if QT_CONFIG(tooltip)
        StackingMethodLabel->setToolTip(tr2i18n("<html><head/><body><p>Pixel rejection algorithm:</p><p>- None. No rejection is applied.</p><p>- Sigma Clipping. Outlying pixels are rejected.</p><p>- Winsorized Sigma Clipping. Winsorized version of sigma clipping</p><p>- ImageMM. Implements ImageMM stacking as per https://iopscience.iop.org/article/10.3847/1538-3881/adfb72 NOTE: this method is very resource intensive</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        StackingMethodLabel->setText(tr2i18n("Method:", nullptr));
#if QT_CONFIG(tooltip)
        WeightingLabel->setToolTip(tr2i18n("<html><head/><body><p>Frame weighting:</p><p>- Equal. All frames have the same weight.</p><p>- HFR. Frames are weighted by 1 / Average HFR.</p><p>- Num Stars. Frames are weighted by the number of stars detected in the frame.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        WeightingLabel->setText(tr2i18n("  Frame Weight: ", nullptr));
#if QT_CONFIG(tooltip)
        Sigma->setToolTip(tr2i18n("<html><head/><body><p>Sigma Scale is the MAD multiplier to remove outliers (usually in the range 0.6 - 0.9)</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        LowSigmaLabel->setToolTip(tr2i18n("<html><head/><body><p>Value of Low Sigma to be used in pixel rejection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        LowSigmaLabel->setText(tr2i18n("Low Sigma:", nullptr));
#if QT_CONFIG(tooltip)
        SigmaLabel->setToolTip(tr2i18n("<html><head/><body><p>Sigma Scale is the MAD multiplier to remove outliers (usually in the range 0.6 - 0.9)</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SigmaLabel->setText(tr2i18n("  Sigma Scale:", nullptr));
#if QT_CONFIG(tooltip)
        PSFUpdate->setToolTip(tr2i18n("<html><head/><body><p>Adapt PSF used in ImageMM algorithm.</p><p>0 = no PSF Update</p><p>n = update PSF every n iterations</p><p><br/></p><p>Can cause star ringing if applied too frequently.</p><p><br/></p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        IterationsLabel->setToolTip(tr2i18n("<html><head/><body><p>Number of iterations. Keep low to minimize processing overhead</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        IterationsLabel->setText(tr2i18n("Iterations:", nullptr));
#if QT_CONFIG(tooltip)
        WinsorCutoffLabel->setToolTip(tr2i18n("<html><head/><body><p>Winsorization cutoff in units of sigma to be used in pixel rejection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        WinsorCutoffLabel->setText(tr2i18n("  Winsor Cutoff: ", nullptr));
#if QT_CONFIG(tooltip)
        Alpha->setToolTip(tr2i18n("<html><head/><body><p>Relaxation / damping between iterations. 1.0 = no damping, &lt;1.0 = smoother (but slower convergence).</p><p>Usual values 0.7 - 0.9</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        NumInMem->setToolTip(tr2i18n("<html><head/><body><p>The maximum number of subs held in memory whilst processing. The larger the value, the better the quality of the stacking process, but at the cost of more processing time and memory used.</p><p>Processes such as sigma clipping will use this many subs to calculate statistics to use on all subs.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        Kappa->setToolTip(tr2i18n("<html><head/><body><p>Kappa clamps the pixel update in the range 1/kappa to kappa versus the original value. So 1 means no change, the higher kappa the larger the possible updates.</p><p>Usual values are in the range 1.5 to 2.0. Reduce if images appear over processed, e.g. star ringing.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        HighSigma->setToolTip(tr2i18n("<html><head/><body><p>Value of High Sigma to be used in pixel rejection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        LowSigma->setToolTip(tr2i18n("<html><head/><body><p>Value of Low Sigma to be used in pixel rejection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        Iterations->setToolTip(tr2i18n("<html><head/><body><p>Number of iterations. Keep low to minimize processing overhead</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        WinsorCutoff->setToolTip(tr2i18n("<html><head/><body><p>Winsorization cutoff in units of sigma to be used in pixel rejection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        HighSigmaLabel->setToolTip(tr2i18n("<html><head/><body><p>Value of High Sigma to be used in pixel rejection.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        HighSigmaLabel->setText(tr2i18n("High Sigma:", nullptr));
#if QT_CONFIG(tooltip)
        AlphaLabel->setToolTip(tr2i18n("<html><head/><body><p>Relaxation / damping between iterations. 1.0 = no damping, &lt;1.0 = smoother (but slower convergence).</p><p>Usual values 0.7 - 0.9</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        AlphaLabel->setText(tr2i18n("Alpha:", nullptr));
#if QT_CONFIG(tooltip)
        NormalizationLabel->setToolTip(tr2i18n("<html><head/><body><p>Normalize images before stacking:</p><p>- None. No normalization.</p><p>- Linear. Normalize each sub to the brightness of the alignment master prior to stacking. In addition, the image edges are normalized to maintain appropriate brightness.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        NormalizationLabel->setText(tr2i18n("Normalization:", nullptr));
        Normalization->setItemText(0, tr2i18n("None", nullptr));
        Normalization->setItemText(1, tr2i18n("Linear", nullptr));

#if QT_CONFIG(tooltip)
        Normalization->setToolTip(tr2i18n("<html><head/><body><p>Normalize images before stacking:</p><p>- None. No normalization.</p><p>- Linear. Normalize each sub to the brightness of the alignment master prior to stacking. In addition, the image edges are normalized to maintain appropriate brightness.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        StackingMinimized->setToolTip(tr2i18n("Configure stacking options in this section.", nullptr));
#endif // QT_CONFIG(tooltip)
        StackingMinimized->setText(tr2i18n("Stacking", nullptr));
        PostProcGroupBox->setTitle(tr2i18n("Post Processing", nullptr));
#if QT_CONFIG(tooltip)
        SharpenAmt->setToolTip(tr2i18n("<html><head/><body><p>Amount of sharpening to apply. Larger values apply more sharpening.</p><p>Set to 0 to skip sharpening.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        SharpenLabel->setToolTip(tr2i18n("<html><head/><body><p>Amount of sharpening to apply. Larger values apply more sharpening.</p><p>Set to 0 to skip sharpening.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SharpenLabel->setText(tr2i18n("Sharpen Amount:", nullptr));
#if QT_CONFIG(tooltip)
        PSFSigma->setToolTip(tr2i18n("<html><head/><body><p>PSF Sigma to use for Deconvolution</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        PSFLabel->setToolTip(tr2i18n("<html><head/><body><p>PSF Sigma to use for Deconvolution</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        PSFLabel->setText(tr2i18n("  PSF Sigma:", nullptr));
#if QT_CONFIG(tooltip)
        gradientLabel->setToolTip(tr2i18n("<html><head/><body><p>Percentage of Gradient Removal to apply.</p><p>Set to 0 to switch off.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        gradientLabel->setText(tr2i18n("Gradient Removal:", nullptr));
#if QT_CONFIG(tooltip)
        DeconvLabel->setToolTip(tr2i18n("<html><head/><body><p>Amount of Wiener Deconvolution to apply in the range 0 to 1. The feature blends this amount of the deconvolved image with (1 - amount) of the original image.</p><p>Set to 0 to switch deconvolution off.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        DeconvLabel->setText(tr2i18n("Deconv Amount:", nullptr));
#if QT_CONFIG(tooltip)
        DenoiseAmt->setToolTip(tr2i18n("<html><head/><body><p>Amount of denoise to apply. Larger values apply more denoising.</p><p>Set to 0 to skip denoising</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        SharpenSigmaLabel->setToolTip(tr2i18n("<html><head/><body><p>Sharpen sigma.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SharpenSigmaLabel->setText(tr2i18n("Sharpen Sigma:", nullptr));
#if QT_CONFIG(tooltip)
        ReprocessB->setToolTip(tr2i18n("Rerun the post processing using the selected parameters", nullptr));
#endif // QT_CONFIG(tooltip)
        ReprocessB->setText(tr2i18n("Reprocess", nullptr));
#if QT_CONFIG(tooltip)
        SharpenKernal->setToolTip(tr2i18n("<html><head/><body><p>Sharpen kernal size.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        GradientAmt->setToolTip(tr2i18n("<html><head/><body><p>Percentage of Gradient Removal to apply.</p><p>Set to 0 to switch off.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        DenoiseLabel->setToolTip(tr2i18n("<html><head/><body><p>Amount of denoise to apply. Larger values apply more denoising.</p><p>Set to 0 to skip denoising</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        DenoiseLabel->setText(tr2i18n("Denoise Amount:", nullptr));
#if QT_CONFIG(tooltip)
        DeconvAmt->setToolTip(tr2i18n("<html><head/><body><p>Amount of Wiener Deconvolution to apply in the range 0 to 1. The feature blends this amount of the deconvolved image with (1 - amount) of the original image.</p><p>Set to 0 to switch deconvolution off.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        SharpenSigma->setToolTip(tr2i18n("<html><head/><body><p>Sharpen sigma.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        SharpenKernalLabel->setToolTip(tr2i18n("<html><head/><body><p>Sharpen kernal size.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        SharpenKernalLabel->setText(tr2i18n("  Kernel:", nullptr));
#if QT_CONFIG(tooltip)
        GradientSpin->setToolTip(tr2i18n("<html><head/><body><p>Percentage of Gradient Removal to apply.</p><p>Set to 0 to switch off.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        GradientSpin->setSuffix(tr2i18n(" %", nullptr));
#if QT_CONFIG(tooltip)
        PostProcMinimized->setToolTip(tr2i18n("Configure post-processing options in this section.", nullptr));
#endif // QT_CONFIG(tooltip)
        PostProcMinimized->setText(tr2i18n("Post Processing", nullptr));
        CalibrationGroupBox->setTitle(tr2i18n("Calibration", nullptr));
#if QT_CONFIG(tooltip)
        MasterFlatLabel->setToolTip(tr2i18n("<html><head/><body><p>The Master Flat to use to calibrate lights.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatLabel->setText(tr2i18n("Master Flat:", nullptr));
        MasterFlatLumLabel->setText(tr2i18n("Master Flat (Lum):", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkLumLabel->setToolTip(tr2i18n("The Master Dark to use to calibrate Lum lights.", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkLumLabel->setText(tr2i18n("Master Dark (Lum):", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkGreen->setToolTip(tr2i18n("The Master Dark to use to calibrate Green lights.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        MasterDarkBlue->setToolTip(tr2i18n("The Master Dark to use to calibrate Blue lights.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        MasterDarkRed->setToolTip(tr2i18n("The Master Dark to use to calibrate Red lights.", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        MasterFlatB->setToolTip(tr2i18n("<html><head/><body><p>File chooser dialog for Master Flat</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterFlatLumB->setToolTip(tr2i18n("File chooser dialog for Master Flat Lum", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatLumB->setText(QString());
        MasterFlatRedLabel->setText(tr2i18n("Master Flat (Red):", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkRedB->setToolTip(tr2i18n("<html><head/><body><p>File chooser dialog for Master Dark Red</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkRedB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterDarkLumB->setToolTip(tr2i18n("File chooser dialog for Master Dark Lum", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkLumB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterDarkGreenB->setToolTip(tr2i18n("File chooser dialog for Master Dark Green", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkGreenB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterFlatRedB->setToolTip(tr2i18n("File chooser dialog for Master Flat Red", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatRedB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterDark->setToolTip(tr2i18n("<html><head/><body><p>The Master Dark to use to calibrate lights.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        MasterFlatBlueB->setToolTip(tr2i18n("File chooser dialog for Master Flat Blue", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatBlueB->setText(QString());
        MasterFlatGreenLabel->setText(tr2i18n("Master Flat (Green):", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkB->setToolTip(tr2i18n("<html><head/><body><p>File chooser dialog for Master Dark</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterDarkGreenLabel->setToolTip(tr2i18n("The Master Dark to use to calibrate Green lights.", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkGreenLabel->setText(tr2i18n("Master Dark (Green):", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkBlueLabel->setToolTip(tr2i18n("The Master Dark to use to calibrate Blue lights.", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkBlueLabel->setText(tr2i18n("Master Dark (Blue):", nullptr));
#if QT_CONFIG(tooltip)
        MasterFlat->setToolTip(tr2i18n("<html><head/><body><p>The Master Flat to use to calibrate lights.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
#if QT_CONFIG(tooltip)
        MasterDarkLabel->setToolTip(tr2i18n("<html><head/><body><p>The Master Dark to use to calibrate lights.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkLabel->setText(tr2i18n("Master Dark:", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkBlueB->setToolTip(tr2i18n("File chooser dialog for Master Dark Blue", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkBlueB->setText(QString());
#if QT_CONFIG(tooltip)
        MasterDarkLum->setToolTip(tr2i18n("The Master Dark to use to calibrate Lum lights.", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatBlueLabel->setText(tr2i18n("Master Flat (Blue):", nullptr));
#if QT_CONFIG(tooltip)
        MasterDarkRedLabel->setToolTip(tr2i18n("The Master Dark to use to calibrate Red lights.", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterDarkRedLabel->setText(tr2i18n("Master Dark (Red):", nullptr));
#if QT_CONFIG(tooltip)
        MasterFlatGreenB->setToolTip(tr2i18n("File chooser dialog for Master Flat Green", nullptr));
#endif // QT_CONFIG(tooltip)
        MasterFlatGreenB->setText(QString());
#if QT_CONFIG(tooltip)
        HotPixels->setToolTip(tr2i18n("<html><head/><body><p>Check to remove hot pixels.</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        HotPixels->setText(tr2i18n("Remove Hot Pix", nullptr));
#if QT_CONFIG(tooltip)
        ColdPixels->setToolTip(tr2i18n("<html><head/><body><p>Check to remove cold pixels</p></body></html>", nullptr));
#endif // QT_CONFIG(tooltip)
        ColdPixels->setText(tr2i18n("Remove Cold Pix", nullptr));
#if QT_CONFIG(tooltip)
        CalibrationMinimized->setToolTip(tr2i18n("Configure calibration options in this section.", nullptr));
#endif // QT_CONFIG(tooltip)
        CalibrationMinimized->setText(tr2i18n("Calibration", nullptr));
    } // retranslateUi

};

namespace Ui {
    class LiveStackingUI: public Ui_LiveStackingUI {};
} // namespace Ui

QT_END_NAMESPACE

#endif // LIVESTACKING_H

