Esempio n. 1
0
    def cmd_open_img(self):
        """
        Command to open picture(s)
        """
        self.str_info_message.set("")
        self.picN = 0
        self.picI = 0
        self.auto_reshape = []
        self.reshape_parameters = []
        try:
            # Choose of the picture(s) using a dialog window
            self.picadresses = filedialog.askopenfilenames(
                title='Open image(s)',
                filetypes=[("tif files", "*.tif"), ("jpg files", "*.jpg"),
                           ("jpeg files", "*.jpeg"), ("png files", "*.png"),
                           ("asc files", "*.asc"), ("bmp files", "*.bmp")])

            self.picadresses = np.sort(self.picadresses)
            self.picadress = self.picadresses[0]
            self.image = import_image(self.picadress)
            self.picN = len(self.picadresses)
            self.picI = 0
            self.var_picadress.set(self.picadresses[self.picI])
            self.str_info_message.set("Files have been opened")
            self.cmd_plot_image()
        except (Exception, ):
            self.str_info_message.set("Opening failed")
Esempio n. 2
0
 def __init__(self, master):
     """
     Constructor of the class
     @param master:
     """
     # constructor of the parent class
     tkinter.Toplevel.__init__(self, master)
     # Main frame
     self.frame = tkinter.Frame(self)
     self.frame.pack()
     # initialisation of the variables
     self.x1, self.y1, self.x2, self.y2 = 0, 0, 0, 0
     self.click_number = 0
     # importation the picture
     self.img = import_image(master.var_picadress.get())
     # Plotting of the figure
     self.fig = Figure(figsize=(5, 5))
     self.canvas = FigureCanvasTkAgg(self.fig, master=self.frame)
     self.canvas.mpl_connect('motion_notify_event', self.get_xy_position)
     self.canvas.mpl_connect('button_press_event',
                             self.click_choose_position)
     self.canvas.draw()
     self.canvas.get_tk_widget().pack()
     self.subplot = self.fig.add_subplot(111)
     self.subplot.imshow(self.img)
     self.title("Reshape picture")
     self.last = self.subplot.plot(self.x1, self.y1, '+', lw=10)
     self.plot()
     # The form
     self.frame_form = tkinter.Frame(self.frame)
     self.frame_form.pack()
     tkinter.Label(self.frame_form, text="x1").grid(row=0, column=0)
     self.x1_form = tkinter.Entry(self.frame_form, width=5)
     self.x1_form.grid(row=0, column=1)
     tkinter.Label(self.frame_form, text="y1").grid(row=0, column=2)
     self.y1_form = tkinter.Entry(self.frame_form, width=5)
     self.y1_form.grid(row=0, column=3)
     tkinter.Label(self.frame_form, text="x2").grid(row=0, column=4)
     self.x2_form = tkinter.Entry(self.frame_form, width=5)
     self.x2_form.grid(row=0, column=5)
     tkinter.Label(self.frame_form, text="y2").grid(row=0, column=6)
     self.y2_form = tkinter.Entry(self.frame_form, width=5)
     self.y2_form.grid(row=0, column=7)
     # The buttons
     self.frame_btn = tkinter.Frame(self.frame)
     self.frame_btn.pack()
     self.btn_clear_button = tkinter.Button(master=self.frame_btn,
                                            text='Clear',
                                            command=self.cmd_clear)
     self.btn_clear_button.grid(row=0, column=0)
     self.btn_draw_button = tkinter.Button(master=self.frame_btn,
                                           text='Draw',
                                           command=self.cmd_draw)
     self.btn_draw_button.grid(row=0, column=1)
     self.btn_reshape_button = tkinter.Button(master=self.frame_btn,
                                              text='Reshape',
                                              command=self.cmd_reshape)
     self.btn_reshape_button.grid(row=0, column=2)
Esempio n. 3
0
 def cmd_go_left(self):
     """
     To go the previous picture
     """
     if self.picI - 1 >= 0:
         self.picI -= 1
         self.picadress = self.picadresses[self.picI]
         self.image = import_image(self.picadress)
         self.refresh_plot()
         self.var_picadress.set(self.picadresses[self.picI])
Esempio n. 4
0
 def cmd_go_right(self):
     """
     To go the next picture
     """
     if self.picI + 1 < self.picN:
         self.picI += 1
         self.picadress = self.picadresses[self.picI]
         self.image = import_image(self.picadress)
         self.cmd_plot_image()
         self.refresh_plot()
         self.var_picadress.set(self.picadresses[self.picI])
Esempio n. 5
0
 def plot_3d(self, fig):
     """
     3D plot of the image
     @param fig: matplotlib.pylot.Figure
         The figure where is plotted the image
     @return: Nothing
     """
     img = import_image(self.picadress)
     y = np.arange(len(img))
     x = np.arange(len(img[0]))
     x, y = np.meshgrid(x, y)
     z = img
     subplot = fig.add_subplot(111, projection='3d')
     subplot.plot_surface(x,
                          y,
                          z,
                          cmap=cm.plasma,
                          linewidth=0,
                          antialiased=False)