python类TOP的实例源码

UploaderApp.py 文件源码 项目:irida-miseq-uploader 作者: phac-nml 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def _upload_failed(self, exception=None):
        """The upload failed, add a button to restart the upload.

        Args:
            exception: the error that caused the upload.
        """
        logging.info("Adding try again button on upload failure.")
        self.Freeze()
        try_again = wx.Button(self, label="Try again")
        self._upload_sizer.Add(try_again, flag=wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, border=5)
        self.Bind(wx.EVT_BUTTON, self._retry_upload, id=try_again.GetId())
        self.Layout()
        self.Thaw()
InvalidSampleSheetsPanel.py 文件源码 项目:irida-miseq-uploader 作者: phac-nml 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def __init__(self, parent, sheets_directory):
        """Initalize InvalidSampleSheetsPanel.

        Args:
            parent: the owning Window
            sheets_directory: the parent directory for searching sample sheets. This
                argument is used in the error message that's displayed to the user to
                tell them where to look to fix any issues.
        """
        wx.Panel.__init__(self, parent)

        self._sizer = wx.BoxSizer(wx.VERTICAL)
        self.SetSizer(self._sizer)

        header = wx.StaticText(self, label=u"? Looks like some sample sheets are not valid.")
        header.SetFont(wx.Font(18, wx.DEFAULT, wx.NORMAL, wx.BOLD))
        header.SetForegroundColour(wx.Colour(255, 0, 0))
        header.Wrap(350)

        self._sizer.Add(header,flag=wx.TOP | wx.BOTTOM | wx.ALIGN_CENTER, border=5)
        self._sizer.Add(wx.StaticText(self,
            label=wordwrap((
                "I found the following sample sheets in {}, but I couldn't understand "
                "their contents. Check these sample sheets in an editor outside "
                "of the uploader, then click the 'Scan Again' button below.").format(sheets_directory),
            350, wx.ClientDC(self))), flag=wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, border=5)

        self._errors_tree = wx.TreeCtrl(self, style=wx.TR_DEFAULT_STYLE | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_LINES_AT_ROOT | wx.TR_HIDE_ROOT)
        self._errors_tree_root = self._errors_tree.AddRoot("")
        self._sizer.Add(self._errors_tree, flag=wx.EXPAND, proportion=1)

        scan_again_button = wx.Button(self, label="Scan Again")
        self.Bind(wx.EVT_BUTTON, lambda evt: send_message(SettingsDialog.settings_closed_topic), id=scan_again_button.GetId())
        self._sizer.Add(scan_again_button, flag=wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM, border=5)

        pub.subscribe(self._sample_sheet_error, DirectoryScannerTopics.garbled_sample_sheet)
        pub.subscribe(self._sample_sheet_error, DirectoryScannerTopics.missing_files)
specgram.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def initControls(self):
        nFreqControlBox = widgets.ControlBox(self, label='Num Freqs', orient=wx.HORIZONTAL)
        self.nFreqText = wx.StaticText(self, label='%3d' % self.pg.waveletConfig.nFreq)
        nFreqTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
        nFreqTextSizer.Add(self.nFreqText, proportion=1, flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=8)
        self.nFreqSlider = wx.Slider(self, style=wx.SL_HORIZONTAL,
            value=self.pg.waveletConfig.nFreq/5, minValue=1, maxValue=100)
        nFreqControlBox.Add(nFreqTextSizer, proportion=0, flag=wx.TOP, border=10)
        nFreqControlBox.Add(self.nFreqSlider, proportion=1,
            flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SLIDER, self.setNFreq, self.nFreqSlider)

        self.sizer.Add(nFreqControlBox, proportion=0, flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)

        spanControlBox = widgets.ControlBox(self, label='Span', orient=wx.HORIZONTAL)
        self.spanText = wx.StaticText(self, label='%3d' % self.pg.waveletConfig.span)
        spanTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
        spanTextSizer.Add(self.spanText, proportion=1, flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=8)
        self.spanSlider = wx.Slider(self, style=wx.SL_HORIZONTAL,
            value=self.pg.waveletConfig.span, minValue=1, maxValue=50)
        spanControlBox.Add(spanTextSizer, proportion=0, flag=wx.TOP, border=10)
        spanControlBox.Add(self.spanSlider, proportion=1,
            flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SLIDER, self.setSpan, self.spanSlider)

        self.sizer.Add(spanControlBox, proportion=0, flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
p300grid.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def initGridLayout(self):
        gridLayoutControlBox = widgets.ControlBox(self, label='Layout', orient=wx.VERTICAL)

        topSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
        bottomSizer = wx.BoxSizer(orient=wx.HORIZONTAL)

        self.gridLayoutLowButton = wx.Button(self, label='Low')
        self.gridLayoutUppButton = wx.Button(self, label='Upp')
        self.gridLayoutNumButton = wx.Button(self, label='Num')
        self.gridLayoutEtcButton = wx.Button(self, label='Etc')
        self.gridLayoutSymButton = wx.Button(self, label='Sym')

        topSizer.Add(self.gridLayoutLowButton, proportion=0,
                flag=wx.TOP | wx.LEFT | wx.BOTTOM, border=10)
        self.Bind(wx.EVT_BUTTON, self.setGridLayoutLow, self.gridLayoutLowButton)
        topSizer.Add(self.gridLayoutUppButton, proportion=0,
                flag=wx.TOP | wx.BOTTOM, border=10)
        self.Bind(wx.EVT_BUTTON, self.setGridLayoutUpp, self.gridLayoutUppButton)
        topSizer.Add(self.gridLayoutNumButton, proportion=0,
                flag=wx.BOTTOM | wx.RIGHT | wx.TOP, border=10)
        self.Bind(wx.EVT_BUTTON, self.setGridLayoutNum, self.gridLayoutNumButton)

        bottomSizer.Add(self.gridLayoutEtcButton, proportion=0,
                flag=wx.LEFT | wx.BOTTOM, border=10)
        self.Bind(wx.EVT_BUTTON, self.setGridLayoutEtc, self.gridLayoutEtcButton)
        bottomSizer.Add(self.gridLayoutSymButton, proportion=0,
                flag=wx.RIGHT | wx.BOTTOM , border=10)
        self.Bind(wx.EVT_BUTTON, self.setGridLayoutSym, self.gridLayoutSymButton)

        gridLayoutControlBox.Add(topSizer, proportion=0, flag=wx.EXPAND)
        gridLayoutControlBox.Add(bottomSizer, proportion=0, flag=wx.EXPAND)

        self.sizer.Add(gridLayoutControlBox, proportion=0,
                flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
power.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def initControls(self):
        orderControlBox = widgets.ControlBox(self, label='Model Order', orient=wx.HORIZONTAL)
        self.orderText = wx.StaticText(self, label='%3d' % self.pg.autoregConfig.order)
        orderTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
        orderTextSizer.Add(self.orderText, proportion=1,
                flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=8)
        self.orderSlider = wx.Slider(self, style=wx.SL_HORIZONTAL,
            value=self.pg.autoregConfig.order, minValue=1, maxValue=100)
        orderControlBox.Add(orderTextSizer, proportion=0, flag=wx.TOP, border=10)
        orderControlBox.Add(self.orderSlider, proportion=1,
            flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SLIDER, self.setOrder, self.orderSlider)

        self.sizer.Add(orderControlBox, proportion=0,
                flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)

        nFreqControlBox = widgets.ControlBox(self, label='Num Freqs', orient=wx.HORIZONTAL)
        self.nFreqText = wx.StaticText(self, label='%3d' % self.pg.autoregConfig.nFreq)
        nFreqTextSizer = wx.BoxSizer(orient=wx.VERTICAL)
        nFreqTextSizer.Add(self.nFreqText, proportion=1,
                flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=8)
        self.nFreqSlider = wx.Slider(self, style=wx.SL_HORIZONTAL,
            value=self.pg.autoregConfig.nFreq/5, minValue=1, maxValue=100)
        nFreqControlBox.Add(nFreqTextSizer, proportion=0, flag=wx.TOP, border=10)
        nFreqControlBox.Add(self.nFreqSlider, proportion=1,
            flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SLIDER, self.setNFreq, self.nFreqSlider)

        self.sizer.Add(nFreqControlBox, proportion=0,
                flag=wx.LEFT | wx.BOTTOM | wx.RIGHT | wx.EXPAND, border=10)
freesom.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def initTiming(self):
        timingSizer = wx.BoxSizer(orient=wx.HORIZONTAL)

        widthControlBox = widgets.ControlBox(self, label='Train Width', orient=wx.VERTICAL)
        self.widthFloatSpin = agwfs.FloatSpin(self, min_val=0.5, max_val=60.0,
            increment=0.25, value=self.pg.width)
        self.widthFloatSpin.SetFormat('%f')
        self.widthFloatSpin.SetDigits(3)
        self.Bind(agwfs.EVT_FLOATSPIN, self.setWidth, self.widthFloatSpin)
        self.offlineControls += [self.widthFloatSpin]
        widthControlBox.Add(self.widthFloatSpin, proportion=1,
                flag=wx.ALL | wx.EXPAND, border=10)
        timingSizer.Add(widthControlBox, proportion=1,
            flag=wx.ALL | wx.EXPAND, border=10)

        retrainDelayControlBox = widgets.ControlBox(self, label='Retrain Delay', orient=wx.VERTICAL)
        self.retrainDelayFloatSpin = agwfs.FloatSpin(self, min_val=2.0, max_val=60.0,
                increment=0.25, value=self.pg.retrainDelay)
        self.retrainDelayFloatSpin.SetFormat('%f')
        self.retrainDelayFloatSpin.SetDigits(4)
        self.Bind(agwfs.EVT_FLOATSPIN, self.setRetrainDelay, self.retrainDelayFloatSpin)
        self.offlineControls += [self.retrainDelayFloatSpin]
        retrainDelayControlBox.Add(self.retrainDelayFloatSpin, proportion=1,
                flag=wx.ALL | wx.EXPAND, border=10)
        timingSizer.Add(retrainDelayControlBox, proportion=1,
            flag=wx.BOTTOM | wx.RIGHT | wx.TOP | wx.EXPAND, border=10)

        self.sizer.Add(timingSizer, proportion=0, flag=wx.EXPAND)
replay.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def initRateControls(self):
        """Initialize the sample rate and poll size controls.
        """
        rateSizer = wx.BoxSizer(orient=wx.VERTICAL)

        pollSizeControlBox = widgets.ControlBox(self, label='Poll Size', orient=wx.HORIZONTAL)
        self.pollSizeSpinCtrl = wx.SpinCtrl(self, style=wx.SP_WRAP,
                value=str(self.src.pollSize), min=1, max=32)
        pollSizeControlBox.Add(self.pollSizeSpinCtrl, flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SPINCTRL, self.setPollSize, self.pollSizeSpinCtrl)

        rateSizer.Add(pollSizeControlBox, proportion=0,
                flag=wx.BOTTOM | wx.RIGHT | wx.TOP, border=10)

        self.sizer.Add(rateSizer)
wavegen.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 36 收藏 0 点赞 0 评论 0
def initRateControls(self):
        """Initialize the sample rate and poll size controls.
        """
        rateSizer = wx.BoxSizer(orient=wx.VERTICAL)

        pollSizeControlBox = widgets.ControlBox(self, label='Poll Size', orient=wx.HORIZONTAL)
        self.pollSizeSpinCtrl = wx.SpinCtrl(self, style=wx.SP_WRAP,
                value=str(self.src.pollSize), min=1, max=32)
        pollSizeControlBox.Add(self.pollSizeSpinCtrl, flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SPINCTRL, self.setPollSize, self.pollSizeSpinCtrl)

        rateSizer.Add(pollSizeControlBox, proportion=0,
                flag=wx.BOTTOM | wx.RIGHT | wx.TOP, border=10)

        sampRates = np.array((128,256,512,1024))

        self.sampRateRadios = [wx.RadioButton(self, label=str(sampRates[0])+'Hz', style=wx.RB_GROUP)] +\
                              [wx.RadioButton(self, label=str(sr)+'Hz') for sr in sampRates[1:]]

        self.sampRateRadios[0].SetValue(True)

        sampRateControlBox= widgets.ControlBox(self, label='Sample Rate', orient=wx.VERTICAL)

        for sr,rbtn in zip(sampRates, self.sampRateRadios):
            def sampRadioWrapper(event, sr=sr):
                self.src.setSampRate(sr)

            self.Bind(wx.EVT_RADIOBUTTON, sampRadioWrapper, id=rbtn.GetId())

        for rbtn in self.sampRateRadios[:-1]:
            sampRateControlBox.Add(rbtn, proportion=0,
                    flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10)
        sampRateControlBox.Add(self.sampRateRadios[-1], proportion=0, flag=wx.ALL, border=10)

        rateSizer.Add(sampRateControlBox, proportion=0,
                flag=wx.BOTTOM | wx.RIGHT, border=10)

        self.sizer.Add(rateSizer)
erptest.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def initRateControls(self):
        """Initialize the sample rate and poll size controls.
        """
        rateSizer = wx.BoxSizer(orient=wx.VERTICAL)

        pollSizeControlBox = widgets.ControlBox(self, label='Poll Size', orient=wx.HORIZONTAL)
        self.pollSizeSpinCtrl = wx.SpinCtrl(self, style=wx.SP_WRAP,
                value=str(self.src.pollSize), min=1, max=32)
        pollSizeControlBox.Add(self.pollSizeSpinCtrl, flag=wx.ALL | wx.EXPAND, border=10)
        self.Bind(wx.EVT_SPINCTRL, self.setPollSize, self.pollSizeSpinCtrl)

        rateSizer.Add(pollSizeControlBox, proportion=0,
                flag=wx.BOTTOM | wx.RIGHT | wx.TOP, border=10)

        sampRates = np.array((128,256,512,1024))

        self.sampRateRadios = [wx.RadioButton(self, label=str(sampRates[0])+'Hz', style=wx.RB_GROUP)] +\
                              [wx.RadioButton(self, label=str(sr)+'Hz') for sr in sampRates[1:]]

        self.sampRateRadios[0].SetValue(True)

        sampRateControlBox = widgets.ControlBox(self, label='Sample Rate', orient=wx.VERTICAL)

        for sr,rbtn in zip(sampRates, self.sampRateRadios):
            def sampRadioWrapper(event, sr=sr):
                try:
                    self.src.setSampRate(sr)
                except Exception as e:
                    wx.LogError('Failed to set sample rate: ' + str(e.message))

            self.Bind(wx.EVT_RADIOBUTTON, sampRadioWrapper, id=rbtn.GetId())

        for rbtn in self.sampRateRadios[:-1]:
            sampRateControlBox.Add(rbtn, proportion=0,
                    flag=wx.TOP | wx.LEFT | wx.RIGHT, border=10)
        sampRateControlBox.Add(self.sampRateRadios[-1], proportion=0, flag=wx.ALL, border=10)

        rateSizer.Add(sampRateControlBox, proportion=0,
                flag=wx.BOTTOM | wx.RIGHT, border=10)

        self.sizer.Add(rateSizer)
bandpass.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def initResponse(self):
        self.freqResponseFig = plt.Figure()
        self.freqResponseCanvas = FigureCanvas(parent=self,
                id=wx.ID_ANY, figure=self.freqResponseFig)
        self.freqResponseAx = self.freqResponseFig.add_subplot(1,1,1)
        #self.freqResponseFig.tight_layout()

        self.phaseResponseFig = plt.Figure()
        self.phaseResponseCanvas = FigureCanvas(parent=self,
                id=wx.ID_ANY, figure=self.phaseResponseFig)
        self.phaseResponseAx = self.phaseResponseFig.add_subplot(1,1,1)
        #self.freqResponseFig.tight_layout()

        responseSizer = wx.BoxSizer(wx.VERTICAL)

        freqResponseControlBox = widgets.ControlBox(self,
                label='Freqency Response', orient=wx.VERTICAL)
        freqResponseControlBox.Add(self.freqResponseCanvas, proportion=1,
                flag=wx.ALL | wx.EXPAND, border=8)
        responseSizer.Add(freqResponseControlBox, proportion=1,
                flag=wx.TOP | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=10)

        phaseResponseControlBox = widgets.ControlBox(self,
                label='Phase Response', orient=wx.VERTICAL)
        phaseResponseControlBox.Add(self.phaseResponseCanvas, proportion=1,
                flag=wx.ALL | wx.EXPAND, border=8)
        responseSizer.Add(phaseResponseControlBox, proportion=1,
                flag=wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=10)

        self.bottomSizer.Add(responseSizer, proportion=1, flag=wx.EXPAND)

        self.freqResponseCanvas.SetMinSize((0,0))
        self.phaseResponseCanvas.SetMinSize((0,0))

        # could we prevent resize when panel is not visible? XXX - idfah
        self.freqResponseLastSize = (0,0)
        self.freqResponseCanvas.Bind(wx.EVT_SIZE, self.freqResponseResize)
        self.phaseResponseLastSize = (0,0)
        self.phaseResponseCanvas.Bind(wx.EVT_SIZE, self.phaseResponseResize)

        self.updateResponse()
bandpass.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def initOptions(self):
        optionsSizer = wx.BoxSizer(wx.HORIZONTAL)

        self.filtTypeComboBox = wx.ComboBox(self, choices=self.flt.filtMap.keys(),
            value=self.flt.filtType, style=wx.CB_DROPDOWN)
        self.Bind(wx.EVT_COMBOBOX, self.setFiltType, self.filtTypeComboBox)
        optionsSizer.Add(self.filtTypeComboBox, proportion=1,
                flag=wx.LEFT | wx.TOP | wx.RIGHT | wx.ALIGN_CENTER, border=20)

        self.sizer.Add(optionsSizer, proportion=0)#, flag=wx.EXPAND)
bandpass.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def initResponse(self):
        self.freqResponseFig = plt.Figure()
        self.freqResponseCanvas = FigureCanvas(parent=self,
                id=wx.ID_ANY, figure=self.freqResponseFig)
        self.freqResponseAx = self.freqResponseFig.add_subplot(1,1,1)
        #self.freqResponseFig.tight_layout()

        self.phaseResponseFig = plt.Figure()
        self.phaseResponseCanvas = FigureCanvas(parent=self,
                id=wx.ID_ANY, figure=self.phaseResponseFig)
        self.phaseResponseAx = self.phaseResponseFig.add_subplot(1,1,1)
        #self.freqResponseFig.tight_layout()

        responseSizer = wx.BoxSizer(wx.VERTICAL)

        freqResponseControlBox = widgets.ControlBox(self,
                label='Freqency Response', orient=wx.VERTICAL)
        freqResponseControlBox.Add(self.freqResponseCanvas, proportion=1,
                flag=wx.ALL | wx.EXPAND, border=8)
        responseSizer.Add(freqResponseControlBox, proportion=1,
                flag=wx.TOP | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=10)

        phaseResponseControlBox = widgets.ControlBox(self,
                label='Phase Response', orient=wx.VERTICAL)
        phaseResponseControlBox.Add(self.phaseResponseCanvas, proportion=1,
                flag=wx.ALL | wx.EXPAND, border=8)
        responseSizer.Add(phaseResponseControlBox, proportion=1,
                flag=wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=10)

        self.bottomSizer.Add(responseSizer, proportion=1, flag=wx.EXPAND)

        self.freqResponseCanvas.SetMinSize((0,0))
        self.phaseResponseCanvas.SetMinSize((0,0))

        # could we prevent resize when panel is not visible? XXX - idfah
        self.freqResponseLastSize = (0,0)
        self.freqResponseCanvas.Bind(wx.EVT_SIZE, self.freqResponseResize)
        self.phaseResponseLastSize = (0,0)
        self.phaseResponseCanvas.Bind(wx.EVT_SIZE, self.phaseResponseResize)

        self.updateResponse()
wiener.py 文件源码 项目:cebl 作者: idfah 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def initOptions(self):
        optionsSizer = wx.BoxSizer(wx.HORIZONTAL)

        # sizes should only be odd, easiest way is to implement this as slider with odd values XXX - idfah

        sizeControlBox = widgets.ControlBox(self, label='Size', orient=wx.HORIZONTAL)
        self.sizeSpinCtrl = wx.SpinCtrl(self, value=str(self.flt.size), min=3, max=100)
        self.Bind(wx.EVT_SPINCTRL, self.setSize, self.sizeSpinCtrl)
        sizeControlBox.Add(self.sizeSpinCtrl, proportion=1, flag=wx.ALL, border=8)
        optionsSizer.Add(sizeControlBox, proportion=0,
                flag=wx.TOP | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=8)

        # need to add slider for noise parameter XXX - idfah

        self.sizer.Add(optionsSizer, proportion=0)#, flag=wx.EXPAND)
plot_panel.py 文件源码 项目:CAAPR 作者: Stargrazer82301 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def __init__(self, parent):
        wx.Panel.__init__(self, parent, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize)
        self.ztv_frame = self.GetTopLevelParent()
        self.ztv_frame.primary_image_panel.popup_menu_cursor_modes.append('Slice plot')
        self.ztv_frame.primary_image_panel.available_cursor_modes['Slice plot'] = {
                'set-to-mode':self.set_cursor_to_plot_mode,
                'on_button_press':self.on_button_press,
                'on_motion':self.on_motion,
                'on_button_release':self.on_button_release}
        for cur_key in ['c', 'C', 'v', 'V', 'y', 'Y']:
            self.ztv_frame.primary_image_panel.available_key_presses[cur_key] = self.do_column_plot
        for cur_key in ['r', 'R', 'h', 'H', 'x', 'X']:
            self.ztv_frame.primary_image_panel.available_key_presses[cur_key] = self.do_row_plot
        for cur_key in ['z', 'Z']:
            self.ztv_frame.primary_image_panel.available_key_presses[cur_key] = self.do_stack_plot

        self.primary_image_patch = None

        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.plot_panel = PlotPlotPanel(self)
        self.sizer.Add(self.plot_panel, 1, wx.LEFT | wx.TOP | wx.EXPAND)

        self.hideshow_button = wx.Button(self, wx.ID_ANY, u"Hide", wx.DefaultPosition, wx.DefaultSize, 0)
        self.sizer.Add(self.hideshow_button, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_BOTTOM, 2)
        self.hideshow_button.Bind(wx.EVT_BUTTON, self.on_hideshow_button)

        self.SetSizer(self.sizer)
        self.Fit()
        self.start_pt = wx.RealPoint(0., 0.)
        self.end_pt = wx.RealPoint(0., 0.)
        self.redraw()
        pub.subscribe(self.on_new_xy0, 'set-new-slice-plot-xy0')
        pub.subscribe(self.on_new_xy1, 'set-new-slice-plot-xy1')
        pub.subscribe(self.queue_redraw, 'primary-xy-limits-changed')
        pub.subscribe(self.queue_redraw, 'recalc-display-image-called')
        pub.subscribe(self.remove_overplot_on_image, 'hide-plot-panel-overplot')
        pub.subscribe(self.redraw_overplot_on_image, 'show-plot-panel-overplot')
        pub.subscribe(self.publish_xy0xy1_to_stream, 'get-slice-plot-coords')
plot_panel.py 文件源码 项目:CAAPR 作者: Stargrazer82301 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def __init__(self, parent):
        wx.Panel.__init__(self, parent, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize)
        self.ztv_frame = self.GetTopLevelParent()
        self.ztv_frame.primary_image_panel.popup_menu_cursor_modes.append('Slice plot')
        self.ztv_frame.primary_image_panel.available_cursor_modes['Slice plot'] = {
                'set-to-mode':self.set_cursor_to_plot_mode,
                'on_button_press':self.on_button_press,
                'on_motion':self.on_motion,
                'on_button_release':self.on_button_release}
        for cur_key in ['c', 'C', 'v', 'V', 'y', 'Y']:
            self.ztv_frame.primary_image_panel.available_key_presses[cur_key] = self.do_column_plot
        for cur_key in ['r', 'R', 'h', 'H', 'x', 'X']:
            self.ztv_frame.primary_image_panel.available_key_presses[cur_key] = self.do_row_plot
        for cur_key in ['z', 'Z']:
            self.ztv_frame.primary_image_panel.available_key_presses[cur_key] = self.do_stack_plot

        self.primary_image_patch = None

        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.plot_panel = PlotPlotPanel(self)
        self.sizer.Add(self.plot_panel, 1, wx.LEFT | wx.TOP | wx.EXPAND)

        self.hideshow_button = wx.Button(self, wx.ID_ANY, u"Hide", wx.DefaultPosition, wx.DefaultSize, 0)
        self.sizer.Add(self.hideshow_button, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_BOTTOM, 2)
        self.hideshow_button.Bind(wx.EVT_BUTTON, self.on_hideshow_button)

        self.SetSizer(self.sizer)
        self.Fit()
        self.start_pt = wx.RealPoint(0., 0.)
        self.end_pt = wx.RealPoint(0., 0.)
        self.redraw()
        pub.subscribe(self.on_new_xy0, 'set-new-slice-plot-xy0')
        pub.subscribe(self.on_new_xy1, 'set-new-slice-plot-xy1')
        pub.subscribe(self.queue_redraw, 'primary-xy-limits-changed')
        pub.subscribe(self.queue_redraw, 'recalc-display-image-called')
        pub.subscribe(self.remove_overplot_on_image, 'hide-plot-panel-overplot')
        pub.subscribe(self.redraw_overplot_on_image, 'show-plot-panel-overplot')
        pub.subscribe(self.publish_xy0xy1_to_stream, 'get-slice-plot-coords')
subpanel.py 文件源码 项目:bonsu 作者: bonsudev 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def __init__(self, parent,ancestor):
        wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
        vbox = wx.BoxSizer(wx.VERTICAL)
        title = StaticTextNew(self, label="Pipeline Comments:")
        title.SetToolTipNew("Pipeline Comments.")
        vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.txt = wx.TextCtrl(self, style=wx.TE_BESTWRAP | wx.TE_MULTILINE)
        self.txt.Enable(True)
        vbox.Add(self.txt, 1, wx.EXPAND | wx.ALL, 2)
        self.SetAutoLayout(True)
        self.SetSizer( vbox )
subpanel.py 文件源码 项目:bonsu 作者: bonsudev 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self, parent):
        wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
        vbox = wx.BoxSizer(wx.VERTICAL)
        title = StaticTextNew(self, label="Scale Arrays")
        title.SetToolTipNew("Scale array by a specified factor")
        vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.input_filename = TextPanelObject(self, "Input File: ", "",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
        vbox.Add(self.input_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.output_filename = TextPanelObject(self, "Output File: ", "output.npy",150,"Numpy files (*.npy)|*.npy|All files (*.*)|*.*")
        vbox.Add(self.output_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.scale = SpinnerObject(self,"Scale factor:",MAX_INT,0.0,1.0,1.0,150,150)
        self.scale.label.SetToolTipNew("Scale factor.")
        vbox.Add(self.scale, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.SetAutoLayout(True)
        self.SetSizer( vbox )
subpanel.py 文件源码 项目:bonsu 作者: bonsudev 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, parent):
        wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
        self.panelphase = self.GetParent().GetParent().GetParent()
        self.font = self.GetParent().font
        self.file = None
        vbox = wx.BoxSizer(wx.VERTICAL)
        title = wx.StaticText(self, label="Convert HDF5 to Numpy array.")
        vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.input_filename = TextPanelObject(self, "Input HDF5 File: ", "",150,"HDF files (*.hdf)|*.hdf|HDF5 files (*.h5)|*.h5|All files (*.*)|*.*")
        vbox.Add(self.input_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        label = wx.StaticText(self, -1,"HDF Key Path:" , style =wx.ALIGN_RIGHT, size=(150,-1) )
        label.SetFont(self.font)
        hbox.Add( label, 0, wx.CENTER )
        def OnEdit(event):
            self.objectpath.ChangeValue(event.GetString())
        self.objectpath = TextCtrlNew(self, -1)
        self.objectpath.SetFont(self.font)
        self.objectpath.SetValue("")
        self.objectpath.SetToolTipNew("Comma separated key names.")
        self.objectpath.Bind(wx.EVT_TEXT_ENTER, OnEdit)
        hbox.Add( self.objectpath, 1, wx.CENTER |wx.EXPAND )
        self.button = ButtonNew(self, -1, "Browse")
        self.button.SetFont(self.font)
        self.button.SetToolTipNew("Browse for HDF5 key path.")
        self.button.Bind(wx.EVT_BUTTON, self.OnBrowse)
        hbox.Add( self.button, 0, wx.LEFT|wx.CENTER)
        vbox.Add(hbox, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.output_filename = TextPanelObject(self, "Output File: ", "output.npy",150,'*.npy')
        vbox.Add(self.output_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.SetAutoLayout(True)
        self.SetSizer( vbox )
subpanel.py 文件源码 项目:bonsu 作者: bonsudev 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, parent):
        wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
        vbox = wx.BoxSizer(wx.VERTICAL)
        title = wx.StaticText(self, label="Convert SPE to Numpy array")
        vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.input_filename = TextPanelObject(self, "Input SPE File: ", "",150,'*.SPE')
        vbox.Add(self.input_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.output_filename = TextPanelObject(self, "Output File: ", "",150,'*.npy')
        vbox.Add(self.output_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.SetAutoLayout(True)
        self.SetSizer( vbox )
subpanel.py 文件源码 项目:bonsu 作者: bonsudev 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self, parent):
        wx.Panel.__init__(self, parent, style=wx.SUNKEN_BORDER)
        vbox = wx.BoxSizer(wx.VERTICAL)
        title = wx.StaticText(self, label="Convert Image file to Numpy array")
        vbox.Add(title ,0, flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.input_filename = TextPanelObject(self, "Input Image File: ", "",150,"PNG files (*.png)|*.png|JPEG files (*.jpg)|*.jpg|PPM files (*.ppm)|*.ppm|TIF files (*.tif)|*.tif|All files (*.*)|*.*")
        vbox.Add(self.input_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.output_filename = TextPanelObject(self, "Output File: ", "",150,'*.npy')
        vbox.Add(self.output_filename, 0,  flag=wx.EXPAND|wx.LEFT|wx.RIGHT|wx.TOP, border=2)
        self.SetAutoLayout(True)
        self.SetSizer( vbox )


问题


面经


文章

微信
公众号

扫码关注公众号