def __init__(self, parent=None): QLocale.setDefault(QLocale(QLocale.English, QLocale.UnitedStates)) super(ViewerND, self).__init__() # if parent is None: # raise Exception('no valid parent container, expected dockarea') # parent=DockArea() # exit(0) if parent is None: area = DockArea() area.show() self.area = area elif isinstance(parent, QtWidgets.QWidget): area = DockArea() self.area = area parent.setLayout(QtWidgets.QVBoxLayout()) parent.layout.addWidget(area) elif isinstance(parent, DockArea): self.area = parent self.area = area self.wait_time = 2000 self.viewer_type = 'DataND' # ☺by default but coul dbe used for 3D visualization self.distribution = 'uniform' self.nav_axes_viewers = [] self.nav_axes_dicts = [] self.x_axis = dict(data=None, label='', units='') self.y_axis = dict(data=None, label='', units='') self.data_buffer = [ ] # convenience list to store 0D data to be displayed self.datas = None self.datas_settings = None # set default data shape case self.data_axes = None # self.set_nav_axes(3) self.ui = QObject() # the user interface self.set_GUI() self.setup_spread_UI() self.title = "" self.data_to_export = OrderedDict(name=self.title, data0D=OrderedDict(), data1D=OrderedDict(), data2D=OrderedDict(), dataND=OrderedDict())
if len(self.datas.axes_manager.signal_shape) == 0: # means 0D data, plot on 1D viewer self.data_buffer.extend(data) self.ui.viewer1D.show_data([self.data_buffer]) elif len(self.datas.axes_manager.signal_shape) == 1: # means 1D data, plot on 1D viewer self.ui.viewer1D.remove_plots() self.ui.viewer1D.x_axis = self.x_axis self.ui.viewer1D.show_data([data]) elif len(self.datas.axes_manager.signal_shape) == 2: # means 2D data, plot on 2D viewer self.ui.viewer2D.x_axis = self.x_axis self.ui.viewer2D.y_axis = self.y_axis self.ui.viewer2D.setImage(data) except Exception as e: logger.exception(str(e)) self.update_status(utils.getLineInfo() + str(e), wait_time=self.wait_time, log='log') if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) area = DockArea() prog = ViewerND(area) prog.settings.child(('set_data_4D')).show(True) prog.settings.child(('set_data_3D')).show(True) prog.settings.child(('set_data_2D')).show(True) prog.settings.child(('set_data_1D')).show(True) prog.signal_axes_selection() area.show() sys.exit(app.exec_())