# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'knossos_cuber_widgets.ui'
#
# Created by: PyQt5 UI code generator 5.7
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(500, 344)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(Dialog)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.tabWidget = QtWidgets.QTabWidget(Dialog)
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab)
        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.label_target_dir = QtWidgets.QLabel(self.tab)
        self.label_target_dir.setObjectName("label_target_dir")
        self.gridLayout.addWidget(self.label_target_dir, 2, 0, 1, 1)
        self.push_button_choose_target_dir = QtWidgets.QPushButton(self.tab)
        self.push_button_choose_target_dir.setObjectName("push_button_choose_target_dir")
        self.gridLayout.addWidget(self.push_button_choose_target_dir, 2, 1, 1, 1)
        self.push_button_choose_source_dir = QtWidgets.QPushButton(self.tab)
        self.push_button_choose_source_dir.setObjectName("push_button_choose_source_dir")
        self.gridLayout.addWidget(self.push_button_choose_source_dir, 1, 1, 1, 1)
        self.label_experiment_name = QtWidgets.QLabel(self.tab)
        self.label_experiment_name.setObjectName("label_experiment_name")
        self.gridLayout.addWidget(self.label_experiment_name, 0, 0, 1, 1)
        self.label_source_dir = QtWidgets.QLabel(self.tab)
        self.label_source_dir.setObjectName("label_source_dir")
        self.gridLayout.addWidget(self.label_source_dir, 1, 0, 1, 1)
        self.line_edit_experiment_name = QtWidgets.QLineEdit(self.tab)
        self.line_edit_experiment_name.setObjectName("line_edit_experiment_name")
        self.gridLayout.addWidget(self.line_edit_experiment_name, 0, 1, 1, 1)
        self.label_source_format = QtWidgets.QLabel(self.tab)
        self.label_source_format.setObjectName("label_source_format")
        self.gridLayout.addWidget(self.label_source_format, 3, 0, 1, 1)
        self.combo_box_source_format = QtWidgets.QComboBox(self.tab)
        self.combo_box_source_format.setObjectName("combo_box_source_format")
        self.gridLayout.addWidget(self.combo_box_source_format, 3, 1, 1, 1)
        self.verticalLayout_3.addLayout(self.gridLayout)
        self.tabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.tab_2)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.line_edit_scaling_z = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_scaling_z.setObjectName("line_edit_scaling_z")
        self.gridLayout_2.addWidget(self.line_edit_scaling_z, 1, 6, 1, 1)
        self.label_boundaries_z = QtWidgets.QLabel(self.tab_2)
        self.label_boundaries_z.setObjectName("label_boundaries_z")
        self.gridLayout_2.addWidget(self.label_boundaries_z, 2, 5, 1, 1)
        self.line_edit_boundaries_x = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_boundaries_x.setObjectName("line_edit_boundaries_x")
        self.gridLayout_2.addWidget(self.line_edit_boundaries_x, 2, 2, 1, 1)
        self.label_source_datatype = QtWidgets.QLabel(self.tab_2)
        self.label_source_datatype.setObjectName("label_source_datatype")
        self.gridLayout_2.addWidget(self.label_source_datatype, 0, 0, 1, 1)
        self.label_scaling_z = QtWidgets.QLabel(self.tab_2)
        self.label_scaling_z.setObjectName("label_scaling_z")
        self.gridLayout_2.addWidget(self.label_scaling_z, 1, 5, 1, 1)
        self.label_scaling_x = QtWidgets.QLabel(self.tab_2)
        self.label_scaling_x.setObjectName("label_scaling_x")
        self.gridLayout_2.addWidget(self.label_scaling_x, 1, 1, 1, 1)
        self.line_edit_scaling_x = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_scaling_x.setObjectName("line_edit_scaling_x")
        self.gridLayout_2.addWidget(self.line_edit_scaling_x, 1, 2, 1, 1)
        self.label_boundaries = QtWidgets.QLabel(self.tab_2)
        self.label_boundaries.setObjectName("label_boundaries")
        self.gridLayout_2.addWidget(self.label_boundaries, 2, 0, 1, 1)
        self.line_edit_scaling_y = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_scaling_y.setObjectName("line_edit_scaling_y")
        self.gridLayout_2.addWidget(self.line_edit_scaling_y, 1, 4, 1, 1)
        self.line_edit_boundaries_z = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_boundaries_z.setObjectName("line_edit_boundaries_z")
        self.gridLayout_2.addWidget(self.line_edit_boundaries_z, 2, 6, 1, 1)
        self.line_edit_boundaries_y = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_boundaries_y.setObjectName("line_edit_boundaries_y")
        self.gridLayout_2.addWidget(self.line_edit_boundaries_y, 2, 4, 1, 1)
        self.label_scaling_y = QtWidgets.QLabel(self.tab_2)
        self.label_scaling_y.setObjectName("label_scaling_y")
        self.gridLayout_2.addWidget(self.label_scaling_y, 1, 3, 1, 1)
        self.label_boundaries_y = QtWidgets.QLabel(self.tab_2)
        self.label_boundaries_y.setObjectName("label_boundaries_y")
        self.gridLayout_2.addWidget(self.label_boundaries_y, 2, 3, 1, 1)
        self.label_scaling = QtWidgets.QLabel(self.tab_2)
        self.label_scaling.setObjectName("label_scaling")
        self.gridLayout_2.addWidget(self.label_scaling, 1, 0, 1, 1)
        self.label_source_dimensions = QtWidgets.QLabel(self.tab_2)
        self.label_source_dimensions.setObjectName("label_source_dimensions")
        self.gridLayout_2.addWidget(self.label_source_dimensions, 3, 0, 1, 1)
        self.line_edit_source_dimensions_x = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_source_dimensions_x.setObjectName("line_edit_source_dimensions_x")
        self.gridLayout_2.addWidget(self.line_edit_source_dimensions_x, 3, 2, 1, 1)
        self.label_source_dimensions_y = QtWidgets.QLabel(self.tab_2)
        self.label_source_dimensions_y.setObjectName("label_source_dimensions_y")
        self.gridLayout_2.addWidget(self.label_source_dimensions_y, 3, 3, 1, 1)
        self.line_edit_source_dimensions_y = QtWidgets.QLineEdit(self.tab_2)
        self.line_edit_source_dimensions_y.setObjectName("line_edit_source_dimensions_y")
        self.gridLayout_2.addWidget(self.line_edit_source_dimensions_y, 3, 4, 1, 1)
        self.label_boundaries_x = QtWidgets.QLabel(self.tab_2)
        self.label_boundaries_x.setObjectName("label_boundaries_x")
        self.gridLayout_2.addWidget(self.label_boundaries_x, 2, 1, 1, 1)
        self.label_source_dimensions_x = QtWidgets.QLabel(self.tab_2)
        self.label_source_dimensions_x.setObjectName("label_source_dimensions_x")
        self.gridLayout_2.addWidget(self.label_source_dimensions_x, 3, 1, 1, 1)
        self.combo_box_source_datatype = QtWidgets.QComboBox(self.tab_2)
        self.combo_box_source_datatype.setObjectName("combo_box_source_datatype")
        self.combo_box_source_datatype.addItem("")
        self.combo_box_source_datatype.addItem("")
        self.gridLayout_2.addWidget(self.combo_box_source_datatype, 0, 1, 1, 6)
        self.check_box_swap_axes = QtWidgets.QCheckBox(self.tab_2)
        self.check_box_swap_axes.setEnabled(True)
        self.check_box_swap_axes.setChecked(True)
        self.check_box_swap_axes.setObjectName("check_box_swap_axes")
        self.gridLayout_2.addWidget(self.check_box_swap_axes, 3, 5, 1, 2)
        self.verticalLayout_4.addLayout(self.gridLayout_2)
        self.tabWidget.addTab(self.tab_2, "")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.tab_3)
        self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.gridLayout_3 = QtWidgets.QGridLayout()
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.label_downsampling_workers = QtWidgets.QLabel(self.tab_3)
        self.label_downsampling_workers.setObjectName("label_downsampling_workers")
        self.gridLayout_3.addWidget(self.label_downsampling_workers, 4, 0, 1, 1)
        self.label_buffer_size_in_cubes = QtWidgets.QLabel(self.tab_3)
        self.label_buffer_size_in_cubes.setObjectName("label_buffer_size_in_cubes")
        self.gridLayout_3.addWidget(self.label_buffer_size_in_cubes, 2, 0, 1, 1)
        self.spin_box_downsampling_workers = QtWidgets.QSpinBox(self.tab_3)
        self.spin_box_downsampling_workers.setMaximum(10000000)
        self.spin_box_downsampling_workers.setProperty("value", 10)
        self.spin_box_downsampling_workers.setObjectName("spin_box_downsampling_workers")
        self.gridLayout_3.addWidget(self.spin_box_downsampling_workers, 4, 1, 1, 1)
        self.spin_box_compression_workers = QtWidgets.QSpinBox(self.tab_3)
        self.spin_box_compression_workers.setMaximum(1000000000)
        self.spin_box_compression_workers.setProperty("value", 20)
        self.spin_box_compression_workers.setObjectName("spin_box_compression_workers")
        self.gridLayout_3.addWidget(self.spin_box_compression_workers, 5, 1, 1, 1)
        self.label_cube_edge_length = QtWidgets.QLabel(self.tab_3)
        self.label_cube_edge_length.setObjectName("label_cube_edge_length")
        self.gridLayout_3.addWidget(self.label_cube_edge_length, 3, 0, 1, 1)
        self.spin_box_cube_edge_length = QtWidgets.QSpinBox(self.tab_3)
        self.spin_box_cube_edge_length.setMaximum(10000000)
        self.spin_box_cube_edge_length.setProperty("value", 128)
        self.spin_box_cube_edge_length.setObjectName("spin_box_cube_edge_length")
        self.gridLayout_3.addWidget(self.spin_box_cube_edge_length, 3, 1, 1, 1)
        self.radio_button_start_from_mag1 = QtWidgets.QRadioButton(self.tab_3)
        self.radio_button_start_from_mag1.setChecked(False)
        self.radio_button_start_from_mag1.setObjectName("radio_button_start_from_mag1")
        self.gridLayout_3.addWidget(self.radio_button_start_from_mag1, 0, 1, 1, 1)
        self.radio_button_start_from_2d_images = QtWidgets.QRadioButton(self.tab_3)
        self.radio_button_start_from_2d_images.setEnabled(True)
        self.radio_button_start_from_2d_images.setChecked(True)
        self.radio_button_start_from_2d_images.setObjectName("radio_button_start_from_2d_images")
        self.gridLayout_3.addWidget(self.radio_button_start_from_2d_images, 0, 0, 1, 1)
        self.label_compression_workers = QtWidgets.QLabel(self.tab_3)
        self.label_compression_workers.setObjectName("label_compression_workers")
        self.gridLayout_3.addWidget(self.label_compression_workers, 5, 0, 1, 1)
        self.check_box_downsample = QtWidgets.QCheckBox(self.tab_3)
        self.check_box_downsample.setChecked(True)
        self.check_box_downsample.setObjectName("check_box_downsample")
        self.gridLayout_3.addWidget(self.check_box_downsample, 1, 0, 1, 1)
        self.check_box_skip_already_generated = QtWidgets.QCheckBox(self.tab_3)
        self.check_box_skip_already_generated.setChecked(True)
        self.check_box_skip_already_generated.setObjectName("check_box_skip_already_generated")
        self.gridLayout_3.addWidget(self.check_box_skip_already_generated, 1, 1, 1, 1)
        self.spin_box_buffer_size_in_cubes = QtWidgets.QSpinBox(self.tab_3)
        self.spin_box_buffer_size_in_cubes.setMaximum(100000000)
        self.spin_box_buffer_size_in_cubes.setProperty("value", 1000)
        self.spin_box_buffer_size_in_cubes.setObjectName("spin_box_buffer_size_in_cubes")
        self.gridLayout_3.addWidget(self.spin_box_buffer_size_in_cubes, 2, 1, 1, 1)
        self.label_io_workers = QtWidgets.QLabel(self.tab_3)
        self.label_io_workers.setObjectName("label_io_workers")
        self.gridLayout_3.addWidget(self.label_io_workers, 6, 0, 1, 1)
        self.spin_box_io_workers = QtWidgets.QSpinBox(self.tab_3)
        self.spin_box_io_workers.setMaximum(100000000)
        self.spin_box_io_workers.setProperty("value", 20)
        self.spin_box_io_workers.setObjectName("spin_box_io_workers")
        self.gridLayout_3.addWidget(self.spin_box_io_workers, 6, 1, 1, 1)
        self.verticalLayout_5.addLayout(self.gridLayout_3)
        self.tabWidget.addTab(self.tab_3, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setObjectName("tab_4")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.tab_4)
        self.verticalLayout_6.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.gridLayout_4 = QtWidgets.QGridLayout()
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.label_path_to_openjpeg = QtWidgets.QLabel(self.tab_4)
        self.label_path_to_openjpeg.setObjectName("label_path_to_openjpeg")
        self.gridLayout_4.addWidget(self.label_path_to_openjpeg, 1, 0, 1, 1)
        self.line_edit_path_to_openjpeg = QtWidgets.QLineEdit(self.tab_4)
        self.line_edit_path_to_openjpeg.setObjectName("line_edit_path_to_openjpeg")
        self.gridLayout_4.addWidget(self.line_edit_path_to_openjpeg, 1, 1, 1, 1)
        self.push_button_path_to_openjpeg = QtWidgets.QPushButton(self.tab_4)
        self.push_button_path_to_openjpeg.setObjectName("push_button_path_to_openjpeg")
        self.gridLayout_4.addWidget(self.push_button_path_to_openjpeg, 1, 2, 1, 1)
        self.label_compression_quality = QtWidgets.QLabel(self.tab_4)
        self.label_compression_quality.setObjectName("label_compression_quality")
        self.gridLayout_4.addWidget(self.label_compression_quality, 3, 0, 1, 1)
        self.label_compression_algorithm = QtWidgets.QLabel(self.tab_4)
        self.label_compression_algorithm.setObjectName("label_compression_algorithm")
        self.gridLayout_4.addWidget(self.label_compression_algorithm, 2, 0, 1, 1)
        self.label_gauss_filter = QtWidgets.QLabel(self.tab_4)
        self.label_gauss_filter.setObjectName("label_gauss_filter")
        self.gridLayout_4.addWidget(self.label_gauss_filter, 4, 0, 1, 1)
        self.combo_box_compression_algorithm = QtWidgets.QComboBox(self.tab_4)
        self.combo_box_compression_algorithm.setObjectName("combo_box_compression_algorithm")
        self.combo_box_compression_algorithm.addItem("")
        self.combo_box_compression_algorithm.addItem("")
        self.gridLayout_4.addWidget(self.combo_box_compression_algorithm, 2, 1, 1, 2)
        self.spin_box_compression_quality = QtWidgets.QSpinBox(self.tab_4)
        self.spin_box_compression_quality.setProperty("value", 70)
        self.spin_box_compression_quality.setObjectName("spin_box_compression_quality")
        self.gridLayout_4.addWidget(self.spin_box_compression_quality, 3, 1, 1, 2)
        self.spin_box_double_gauss_filter = QtWidgets.QDoubleSpinBox(self.tab_4)
        self.spin_box_double_gauss_filter.setProperty("value", 0.5)
        self.spin_box_double_gauss_filter.setObjectName("spin_box_double_gauss_filter")
        self.gridLayout_4.addWidget(self.spin_box_double_gauss_filter, 4, 1, 1, 2)
        self.check_box_compress = QtWidgets.QCheckBox(self.tab_4)
        self.check_box_compress.setChecked(True)
        self.check_box_compress.setObjectName("check_box_compress")
        self.gridLayout_4.addWidget(self.check_box_compress, 0, 0, 1, 3)
        self.verticalLayout_6.addLayout(self.gridLayout_4)
        self.tabWidget.addTab(self.tab_4, "")
        self.verticalLayout.addWidget(self.tabWidget)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.push_button_start_job = QtWidgets.QPushButton(Dialog)
        self.push_button_start_job.setObjectName("push_button_start_job")
        self.horizontalLayout.addWidget(self.push_button_start_job)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.verticalLayout_2.addLayout(self.verticalLayout)

        self.retranslateUi(Dialog)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.line_edit_experiment_name, self.push_button_choose_source_dir)
        Dialog.setTabOrder(self.push_button_choose_source_dir, self.push_button_choose_target_dir)
        Dialog.setTabOrder(self.push_button_choose_target_dir, self.combo_box_source_format)
        Dialog.setTabOrder(self.combo_box_source_format, self.push_button_start_job)
        Dialog.setTabOrder(self.push_button_start_job, self.tabWidget)
        Dialog.setTabOrder(self.tabWidget, self.combo_box_source_datatype)
        Dialog.setTabOrder(self.combo_box_source_datatype, self.line_edit_scaling_x)
        Dialog.setTabOrder(self.line_edit_scaling_x, self.line_edit_scaling_y)
        Dialog.setTabOrder(self.line_edit_scaling_y, self.line_edit_scaling_z)
        Dialog.setTabOrder(self.line_edit_scaling_z, self.line_edit_boundaries_x)
        Dialog.setTabOrder(self.line_edit_boundaries_x, self.line_edit_boundaries_y)
        Dialog.setTabOrder(self.line_edit_boundaries_y, self.line_edit_boundaries_z)
        Dialog.setTabOrder(self.line_edit_boundaries_z, self.line_edit_source_dimensions_x)
        Dialog.setTabOrder(self.line_edit_source_dimensions_x, self.line_edit_source_dimensions_y)
        Dialog.setTabOrder(self.line_edit_source_dimensions_y, self.check_box_swap_axes)
        Dialog.setTabOrder(self.check_box_swap_axes, self.line_edit_path_to_openjpeg)
        Dialog.setTabOrder(self.line_edit_path_to_openjpeg, self.push_button_path_to_openjpeg)
        Dialog.setTabOrder(self.push_button_path_to_openjpeg, self.combo_box_compression_algorithm)
        Dialog.setTabOrder(self.combo_box_compression_algorithm, self.spin_box_compression_quality)
        Dialog.setTabOrder(self.spin_box_compression_quality, self.spin_box_double_gauss_filter)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Knossos Cuber"))
        self.label_target_dir.setToolTip(_translate("Dialog", "<html><head/><body><p>Where to write the output cubes.</p></body></html>"))
        self.label_target_dir.setText(_translate("Dialog", "<no target dir>"))
        self.push_button_choose_target_dir.setToolTip(_translate("Dialog", "<html><head/><body><p>Where to write the output cubes.</p></body></html>"))
        self.push_button_choose_target_dir.setText(_translate("Dialog", "Choose Target Directory"))
        self.push_button_choose_source_dir.setToolTip(_translate("Dialog", "<html><head/><body><p>Path to 2D images or full-resolution (mag1) cubes.</p></body></html>"))
        self.push_button_choose_source_dir.setText(_translate("Dialog", "Choose Source Directory"))
        self.label_experiment_name.setToolTip(_translate("Dialog", "<html><head/><body><p>Arbitrary experiment name identifier</p></body></html>"))
        self.label_experiment_name.setText(_translate("Dialog", "Experiment Name"))
        self.label_source_dir.setToolTip(_translate("Dialog", "<html><head/><body><p>Path to 2D images or full-resolution (mag1) cubes.</p></body></html>"))
        self.label_source_dir.setText(_translate("Dialog", "<no source dir>"))
        self.line_edit_experiment_name.setToolTip(_translate("Dialog", "<html><head/><body><p>Arbitrary experiment name identifier.</p></body></html>"))
        self.line_edit_experiment_name.setText(_translate("Dialog", "test_stack"))
        self.label_source_format.setToolTip(_translate("Dialog", "<html><head/><body><p>Whatever image format PIL can read in, or \'raw\' for faster cubing. Must be identical to the file name extension of input data.</p></body></html>"))
        self.label_source_format.setText(_translate("Dialog", "Source Format"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "General"))
        self.line_edit_scaling_z.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.line_edit_scaling_z.setText(_translate("Dialog", "1.0"))
        self.label_boundaries_z.setToolTip(_translate("Dialog", "<html><head/><body><p>Edge length of whole dataset, only required if not starting from 2D images.</p></body></html>"))
        self.label_boundaries_z.setText(_translate("Dialog", "z"))
        self.line_edit_boundaries_x.setToolTip(_translate("Dialog", "<html><head/><body><p>Edge length of whole dataset, only required if not starting from 2D images.</p></body></html>"))
        self.label_source_datatype.setToolTip(_translate("Dialog", "<html><head/><body><p>Input image pixel data type, required only for raw.</p></body></html>"))
        self.label_source_datatype.setText(_translate("Dialog", "Source Datatype"))
        self.label_scaling_z.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.label_scaling_z.setText(_translate("Dialog", "z"))
        self.label_scaling_x.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.label_scaling_x.setText(_translate("Dialog", "x"))
        self.line_edit_scaling_x.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.line_edit_scaling_x.setText(_translate("Dialog", "1.0"))
        self.label_boundaries.setToolTip(_translate("Dialog", "<html><head/><body><p>Edge length of whole dataset, only required if not starting from 2D images.</p></body></html>"))
        self.label_boundaries.setText(_translate("Dialog", "Boundaries"))
        self.line_edit_scaling_y.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.line_edit_scaling_y.setText(_translate("Dialog", "1.0"))
        self.line_edit_boundaries_z.setToolTip(_translate("Dialog", "<html><head/><body><p>Edge length of whole dataset, only required if not starting from 2D images.</p></body></html>"))
        self.line_edit_boundaries_y.setToolTip(_translate("Dialog", "<html><head/><body><p>Edge length of whole dataset, only required if not starting from 2D images.</p></body></html>"))
        self.label_scaling_y.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.label_scaling_y.setText(_translate("Dialog", "y"))
        self.label_boundaries_y.setToolTip(_translate("Dialog", "<html><head/><body><p>Edge length of whole dataset, only required if not starting from 2D images.</p></body></html>"))
        self.label_boundaries_y.setText(_translate("Dialog", "y"))
        self.label_scaling.setToolTip(_translate("Dialog", "<html><head/><body><p>Voxel scaling, physical units per voxel.</p></body></html>"))
        self.label_scaling.setText(_translate("Dialog", "Scaling"))
        self.label_source_dimensions.setToolTip(_translate("Dialog", "<html><head/><body><p>Input image dimensions. Required for raw images, otherwise determined directly from input images.</p></body></html>"))
        self.label_source_dimensions.setText(_translate("Dialog", "Source Dimensions"))
        self.line_edit_source_dimensions_x.setToolTip(_translate("Dialog", "<html><head/><body><p>Input image dimensions. Required for raw images, otherwise determined directly from input images.</p></body></html>"))
        self.label_source_dimensions_y.setToolTip(_translate("Dialog", "<html><head/><body><p>Input image dimensions. Required for raw images, otherwise determined directly from input images.</p></body></html>"))
        self.label_source_dimensions_y.setText(_translate("Dialog", "y"))
        self.line_edit_source_dimensions_y.setToolTip(_translate("Dialog", "<html><head/><body><p>Input image dimensions. Required for raw images, otherwise determined directly from input images.</p></body></html>"))
        self.label_boundaries_x.setText(_translate("Dialog", "x"))
        self.label_source_dimensions_x.setText(_translate("Dialog", "x"))
        self.combo_box_source_datatype.setToolTip(_translate("Dialog", "<html><head/><body><p>Input image pixel data type, required only for raw.</p></body></html>"))
        self.combo_box_source_datatype.setItemText(0, _translate("Dialog", "uint8"))
        self.combo_box_source_datatype.setItemText(1, _translate("Dialog", "uint16"))
        self.check_box_swap_axes.setToolTip(_translate("Dialog", "<html><head/><body><p>Whether to swap axes. If yes, performs costly xy axes swap; this swap takes currently about as long as reading in each image file.</p></body></html>"))
        self.check_box_swap_axes.setText(_translate("Dialog", "Swap Axes"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "Dataset"))
        self.label_downsampling_workers.setToolTip(_translate("Dialog", "<html><head/><body><p>Number of CPU cores to use for downsampling.</p></body></html>"))
        self.label_downsampling_workers.setText(_translate("Dialog", "Downsampling workers"))
        self.label_buffer_size_in_cubes.setToolTip(_translate("Dialog", "<html><head/><body><p>How many cubes will be used. Ideally, this number should be greater than the number of cubes in a single z-layer of cubes.</p></body></html>"))
        self.label_buffer_size_in_cubes.setText(_translate("Dialog", "Buffer size in cubes"))
        self.spin_box_downsampling_workers.setToolTip(_translate("Dialog", "<html><head/><body><p>Number of CPU cores to use for downsampling.</p></body></html>"))
        self.spin_box_compression_workers.setToolTip(_translate("Dialog", "<html><head/><body><p>Numer of CPU cores to use for compression.</p></body></html>"))
        self.label_cube_edge_length.setToolTip(_translate("Dialog", "<html><head/><body><p>Use more than CPU cores available; 20 is good if you\'re on a local RAID array, higher numbers might help if you read / write from NFS.</p></body></html>"))
        self.label_cube_edge_length.setText(_translate("Dialog", "Cube edge length"))
        self.spin_box_cube_edge_length.setToolTip(_translate("Dialog", "<html><head/><body><p>Use more than CPU cores available; 20 is good if you\'re on a local RAID array, higher numbers might help if you read / write from NFS.</p></body></html>"))
        self.radio_button_start_from_mag1.setToolTip(_translate("Dialog", "<html><head/><body><p>If you already have full-resolution cubes, you can start from those cubes to generate downsampled and / or compressed cubes.</p></body></html>"))
        self.radio_button_start_from_mag1.setText(_translate("Dialog", "Start from full resolution cubes"))
        self.radio_button_start_from_2d_images.setToolTip(_translate("Dialog", "<html><head/><body><p>Whether to generate cubes from 2D images.</p></body></html>"))
        self.radio_button_start_from_2d_images.setText(_translate("Dialog", "Start from 2D images"))
        self.label_compression_workers.setToolTip(_translate("Dialog", "<html><head/><body><p>Numer of CPU cores to use for compression.</p></body></html>"))
        self.label_compression_workers.setText(_translate("Dialog", "Compression workers"))
        self.check_box_downsample.setToolTip(_translate("Dialog", "<html><head/><body><p>Create downsampled cubes for magnification pyramid.</p></body></html>"))
        self.check_box_downsample.setText(_translate("Dialog", "Create downsampled cubes"))
        self.check_box_skip_already_generated.setToolTip(_translate("Dialog", "<html><head/><body><p>Skip target cubes that already exist. Useful to continue a run that was aborted.</p></body></html>"))
        self.check_box_skip_already_generated.setText(_translate("Dialog", "Skip already generated cubes"))
        self.spin_box_buffer_size_in_cubes.setToolTip(_translate("Dialog", "<html><head/><body><p>How many cubes will be used. Ideally, this number should be greater than the number of cubes in a single z-layer of cubes.</p></body></html>"))
        self.label_io_workers.setToolTip(_translate("Dialog", "<html><head/><body><p>Use more than CPU cores available; 20 is good if you\'re on a local RAID array, higher numbers might help if you read / write from NFS.</p></body></html>"))
        self.label_io_workers.setText(_translate("Dialog", "IO Workers"))
        self.spin_box_io_workers.setToolTip(_translate("Dialog", "<html><head/><body><p>Use more than CPU cores available; 20 is good if you\'re on a local RAID array, higher numbers might help if you read / write from NFS.</p></body></html>"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "Processing"))
        self.label_path_to_openjpeg.setToolTip(_translate("Dialog", "<html><head/><body><p>Path to JPEG2000 compression executable, only needed when using JPEG2000.</p></body></html>"))
        self.label_path_to_openjpeg.setText(_translate("Dialog", "Path to OpenJPEG"))
        self.line_edit_path_to_openjpeg.setToolTip(_translate("Dialog", "<html><head/><body><p>Path to JPEG2000 compression executable, only needed when using JPEG2000.</p></body></html>"))
        self.push_button_path_to_openjpeg.setText(_translate("Dialog", "..."))
        self.label_compression_quality.setToolTip(_translate("Dialog", "<html><head/><body><p>0-100 for jpg (100 is best), 1-10 for j2k (lowest is best).</p></body></html>"))
        self.label_compression_quality.setText(_translate("Dialog", "Compression Quality"))
        self.label_compression_algorithm.setToolTip(_translate("Dialog", "<html><head/><body><p>Which compression algorithm to use for cubes.</p></body></html>"))
        self.label_compression_algorithm.setText(_translate("Dialog", "Compression Algorithm"))
        self.label_gauss_filter.setToolTip(_translate("Dialog", "<html><head/><body><p>Gaussian filter before compression to reduce artefacts, this really helps a lot for noisy data. Do NOT use it for near-noise-free data (SNR larger than about 10).</p></body></html>"))
        self.label_gauss_filter.setText(_translate("Dialog", "Gauss filter "))
        self.combo_box_compression_algorithm.setToolTip(_translate("Dialog", "<html><head/><body><p>Which compression algorithm to use for cubes.</p></body></html>"))
        self.combo_box_compression_algorithm.setItemText(0, _translate("Dialog", "JPEG"))
        self.combo_box_compression_algorithm.setItemText(1, _translate("Dialog", "JPEG2000"))
        self.spin_box_compression_quality.setToolTip(_translate("Dialog", "<html><head/><body><p>0-100 for jpg (100 is best), 1-10 for j2k (lowest is best).</p></body></html>"))
        self.spin_box_double_gauss_filter.setToolTip(_translate("Dialog", "<html><head/><body><p>Gaussian filter before compression to reduce artefacts, this really helps a lot for noisy data. Do NOT use it for near-noise-free data (SNR larger than about 10).</p></body></html>"))
        self.check_box_compress.setToolTip(_translate("Dialog", "<html><head/><body><p>Create compressed cubes for efficient network streaming.</p></body></html>"))
        self.check_box_compress.setText(_translate("Dialog", "Create compressed cubes"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Dialog", "Compression"))
        self.push_button_start_job.setToolTip(_translate("Dialog", "<html><head/><body><p>Start the cubing job. Depending on the size of the input data and the performance / number of compute cores on this machine, this operation may take a very long time.</p></body></html>"))
        self.push_button_start_job.setText(_translate("Dialog", "Start Job"))

