private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 800, 600);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);

		imagePanel = new JPanel();
		imagePanel.setBounds(10, 30, 293, 447);
		frame.getContentPane().add(imagePanel);

		imageLabel = new JLabel("");
		imageLabel.setIcon(new ImageIcon(IMAGE_ORIGINAL));
		imagePanel.add(imageLabel);

		btnClear = new JButton("Clear");
		btnClear.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent arg0) {
				imageLabel.setIcon(new ImageIcon(IMAGE_ORIGINAL));
				imagePanel.add(imageLabel);
				update();

			}
		});
		btnClear.setBounds(685, 64, 89, 23);
		frame.getContentPane().add(btnClear);

		btnProcess = new JButton("Process");
		btnProcess.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				try {
					float lowThresholdValue = Float.parseFloat(lowThreshold
							.getText());
					float highThresholdValue = Float.parseFloat(highThreshold
							.getText());
					;
					float gaussianKernelRadiusValue = Float
							.parseFloat(gaussianKernelRadius.getText());
					;
					int gaussianKernelWidthValue = Integer
							.parseInt(gaussianKernelWidth.getText());
					boolean contrastNormalizedValue = false;

					ImageUtil.generateImageEdge(gaussianKernelRadiusValue,
							lowThresholdValue, highThresholdValue,
							gaussianKernelWidthValue, contrastNormalizedValue);
					imageLabel.setIcon(new ImageIcon((ImageUtil.count - 1)
							+ IMAGE_EDGE));
					imagePanel.add(imageLabel);

				} catch (IOException e1) {

					e1.printStackTrace();
				}

			}
		});
		btnProcess.setBounds(685, 30, 89, 23);
		frame.getContentPane().add(btnProcess);
		init();

	}