示例#1
0
    def __init__(self,
                 t,
                 x,
                 wavelet_families=wavelets.get_all_wavelet_families()):
        uiutils.Experience.__init__(self)
        self.gui = uiutils.UI(1000, 500, "Wavelet Transform")
        bv = self.gui.add_box(uiutils.VBox())

        self.ctl = bv.add(uiutils.HBox())
        self.view = bv.add(plotutils.BaseCustomCanvas(), True)
        bv.add(plotutils.ExtendedNavigationToolbar(self.view, self.gui))

        self.wavelet = waveletsui.WaveletSelector(self.ctl, self,
                                                  wavelet_families)
        self.scale = uiutils.ScaleRangeParameter(self.ctl, self, "Scale:", 1,
                                                 8, 1, 5)
        decs = {"DWT": wtutils.dwt, "UWT": wtutils.uwt, "UIWT": wtutils.uiwt}
        exts = {"Symmetry": "symm", "Zero": "zero", "Periodic": "wrap"}

        self.dec = uiutils.ListParameter(self.ctl, self, "Transform:", decs)
        self.ext = uiutils.ListParameter(self.ctl, self, "Boundary:", exts)

        self.add_spinner(self.ctl)

        self.x = x
        self.t = t

        self.gui.show()
        self.do_update()
示例#2
0
    def __init__(self, wavelet_families=wavelets.get_all_wavelet_families()):
        uiutils.Experience.__init__(self)
        self.gui = uiutils.UI(900, 500, "Wavelet Browser")

        box = self.gui.add_box(uiutils.VBox())
        self.view = box.add(plotutils.BaseCustomCanvas(), True)
        ctl = box.add(uiutils.HBox())

        [[self.ax1, self.ax2], [self.ax3,
                                self.ax4]] = self.view.figure.subplots(2, 2)

        self.wavelet = waveletsui.WaveletSelector(ctl, self, wavelet_families)
        self.gui.show()

        self.do_update()
示例#3
0
    def __init__(self, wavelet_families=wavelets.get_all_wavelet_families()):
        uiutils.Experience.__init__(self)
        self.gui = uiutils.UI(900, 500, "Wavelet Browser")

        box = self.gui.add_box(uiutils.VBox())
        self.view = box.add(plotutils.BaseCustomCanvas(), True)
        ctl = box.add(uiutils.HBox())

        self.wavelet = waveletsui.WaveletSelector(ctl, self, wavelet_families)
        self.level = uiutils.ScaleRangeParameter(ctl, self, "Level:", 1, 10, 1,
                                                 8)

        self.ax1, self.ax2 = self.view.figure.subplots(1, 2)

        self.gui.show()
        self.do_update()
示例#4
0
    def __init__(self,
                 img,
                 wavelet_families=wavelets.get_all_wavelet_families()):
        uiutils.Experience.__init__(self)
        self.gui = uiutils.UI(1000, 600, "Wavelet Transform 2D")
        bv = self.gui.add_box(uiutils.VBox())
        self.ctl = bv.add(uiutils.HBox())
        self.view = bv.add(plotutils.BaseCustomCanvas(), True)
        bv.add(plotutils.ExtendedNavigationToolbar(self.view, self.gui))

        self.img = uiutils.OpenImage(self.ctl, self, img=img)
        self.wavelet = waveletsui.WaveletSelector(
            self.ctl,
            self,
            wavelet_families,
            initial=wavelets.get_wavelet("b3"))
        self.scale = uiutils.ScaleRangeParameter(self.ctl, self, "Scale:", 1,
                                                 6, 1, 2)
        decs = {
            "DWT": wtutils.dwt,
            "UWT": wtutils.uwt,
            "UIWT": wtutils.uiwt,
            "UIMWT": wtutils.uimwt
        }
        exts = {"Symmetry": "symm", "Zero": "zero", "Periodic": "wrap"}

        self.dec = uiutils.ListParameter(self.ctl, self, "Transform:", decs)
        self.ext = uiutils.ListParameter(self.ctl, self, "Boundary:", exts,
                                         "symm")

        uiutils.Button(self.ctl, self, "Save result", self.on_save)

        self.add_spinner(self.ctl)

        self.ax1, self.ax2 = self.view.figure.subplots(1, 2)

        self.current_wavedec = None

        self.gui.show()
        self.do_update()
示例#5
0
    def __init__(self, img):
        self.gui = uiutils.UI(900, 600, "Wavelet Denoiser 2D")

        uiutils.Experience.__init__(self)
        wavelet_families = wavelets.get_all_wavelet_families()
        self.boundary = "symm"

        bv = self.gui.add_box(uiutils.VBox())
        self.ctl = bv.add(uiutils.HBox())
        self.view = bv.add(plotutils.BaseCustomCanvas(), True)
        bv.add(plotutils.ExtendedNavigationToolbar(self.view, self.gui))

        self.img = uiutils.OpenImage(self.ctl, self, img=img)
        self.wavelet = waveletsui.WaveletSelector(self.ctl, self,
                                                  wavelet_families)
        # self.noise_level = uiutils.SpinRangeParameter(self.ctl, self, "Noise:", 0, 100, 5, 20)
        self.noise_level = uiutils.FloatParamater(self.ctl,
                                                  self,
                                                  "Noise:",
                                                  20,
                                                  max_lenght=5)
        self.scale = uiutils.SpinRangeParameter(self.ctl, self, "Scale:", 1, 6,
                                                1, 3)
        self.threashold_factor = uiutils.SpinRangeParameter(
            self.ctl, self, "Threshold:", 0, 6, 1, 4)
        self.mode = uiutils.ListParameter(self.ctl, self, "Mode:",
                                          ["hard", "soft"])

        self.add_spinner(self.ctl)

        self.ax1, self.ax2, self.ax3 = self.view.figure.subplots(1, 3)

        self.noisy = None

        self.gui.show()
        self.do_update()
示例#6
0
    def __init__(self, img, prj=None, max_ds=10, current_folder=None):
        self.max_ds = max_ds
        self.showverts = True
        self.current_folder = current_folder

        uiutils.UI.__init__(self, 750, 600, "PolyRegion Editor")

        vbox = QtGui.QVBoxLayout()
        self.setLayout(vbox)

        canva_box = QtGui.QHBoxLayout()
        vbox.addLayout(canva_box)

        self.canvas = plotutils.BaseCustomCanvas()
        canva_box.addWidget(self.canvas)

        ctl = QtGui.QHBoxLayout()
        vbox.addLayout(ctl)

        ctl.addWidget(plotutils.NavigationToolbar(self.canvas, self))

        self.title_entry = uiutils.EntryDescription("Title")
        ctl.addWidget(self.title_entry)

        self.color_entry = uiutils.EntryDescription("Color")
        ctl.addWidget(self.color_entry)

        save_bn = QtGui.QPushButton("Save")
        save_bn.clicked.connect(self.on_save_clicked)
        ctl.addWidget(save_bn)

        load_bn = QtGui.QPushButton("Load")
        load_bn.clicked.connect(self.on_load_clicked)
        ctl.addWidget(load_bn)

        save_bn = QtGui.QPushButton("New")
        save_bn.clicked.connect(self.on_new_clicked)
        ctl.addWidget(save_bn)

        self.ax = self.canvas.figure.subplots()

        if prj is None:
            prj = img.get_projection()

        self.prj = prj
        self.img = img

        plotutils.imshow_image(self.ax, self.img, projection=self.prj, title=False)

        self.poly = Polygon([[0, 0]], animated=True,
                            fc='b', ec='none', alpha=0.4)

        self.ax.add_patch(self.poly)
        self.ax.set_clip_on(False)
        self.ax.set_title("Click and drag a point to move it; "
                          "'i' to insert; 'd' to delete.")

        x, y = zip(*self.poly.xy)
        self.line = plt.Line2D(x, y, color='none', marker='o', mfc='r',
                               alpha=0.8, animated=True, lw=2, markersize=self.max_ds)
        self._update_line()
        self.ax.add_line(self.line)

        self.poly.add_callback(self.poly_changed)
        self._ind = None  # the active vert

        canvas = self.poly.figure.canvas
        canvas.mpl_connect('draw_event', self.draw_callback)
        canvas.mpl_connect('button_press_event', self.button_press_callback)
        canvas.mpl_connect('button_release_event', self.button_release_callback)
        canvas.mpl_connect('key_press_event', self.key_press_callback)
        canvas.mpl_connect('motion_notify_event', self.motion_notify_callback)
        self.canvas = canvas

        self.load_default()

        self.canvas.setFocus()