// Path: app/src/main/java/uk/ac/soton/ecs/comp3204/l1/SimpleCameraDemo.java
// @Demonstration(title = "Simple Camera Demo")
// public class SimpleCameraDemo implements Slide {
// 	protected VideoCaptureComponent vc;
// 
// 	@Override
// 	public JPanel getComponent(int width, int height) throws IOException {
// 		// the main panel
// 		final JPanel base = new JPanel();
// 		base.setOpaque(false);
// 		base.setPreferredSize(new Dimension(width, height));
// 		base.setLayout(new GridBagLayout());
// 		vc = new VideoCaptureComponent(640, 480);
// 		base.add(vc);
// 
// 		return base;
// 	}
// 
// 	@Override
// 	public void close() {
// 		vc.close();
// 	}
// 
// 	public static void main(String[] args) throws IOException {
// 		new SlideshowApplication(new SimpleCameraDemo(), 1024, 768, Utils.BACKGROUND_IMAGE);
// 	}
// }
// 
// Path: app/src/main/java/uk/ac/soton/ecs/comp3204/utils/Utils.java
// public class Utils {
// 	public static URL BACKGROUND_IMAGE_URL = Utils.class.getResource("/uk/ac/soton/ecs/comp3204/background.png");
// 	public static BufferedImage BACKGROUND_IMAGE = null;
// 	static {
// 		try {
// 			BACKGROUND_IMAGE = ImageIO.read(BACKGROUND_IMAGE_URL);
// 		} catch (final IOException e) {
// 		}
// 	}
// 
// 	private Utils() {
// 	}
// 
// 	public static JLabel linkify(final String text, String URL, String toolTip)
// 	{
// 		URI temp = null;
// 		try
// 		{
// 			temp = new URI(URL);
// 		} catch (final Exception e)
// 		{
// 			e.printStackTrace();
// 		}
// 		final URI uri = temp;
// 		final JLabel link = new JLabel();
// 		link.setText("<HTML><FONT color=\"#000099\">" + text + "</FONT></HTML>");
// 		if (!toolTip.equals(""))
// 			link.setToolTipText(toolTip);
// 		link.setCursor(new Cursor(Cursor.HAND_CURSOR));
// 		link.addMouseListener(new MouseListener()
// 		{
// 			@Override
// 			public void mouseExited(MouseEvent arg0)
// 			{
// 				link.setText("<HTML><FONT color=\"#000099\">" + text + "</FONT></HTML>");
// 			}
// 
// 			@Override
// 			public void mouseEntered(MouseEvent arg0)
// 			{
// 				link.setText("<HTML><FONT color=\"#000099\"><U>" + text + "</U></FONT></HTML>");
// 			}
// 
// 			@Override
// 			public void mouseClicked(MouseEvent arg0)
// 			{
// 				if (Desktop.isDesktopSupported())
// 				{
// 					try
// 					{
// 						Desktop.getDesktop().browse(uri);
// 					}
// 					catch (final Exception e)
// 					{
// 						e.printStackTrace();
// 					}
// 				}
// 				else
// 				{
// 					final JOptionPane pane = new JOptionPane("Could not open link.");
// 					final JDialog dialog = pane.createDialog(new JFrame(), "");
// 					dialog.setVisible(true);
// 				}
// 			}
// 
// 			@Override
// 			public void mousePressed(MouseEvent e)
// 			{
// 			}
// 
// 			@Override
// 			public void mouseReleased(MouseEvent e)
// 			{
// 			}
// 		});
// 		return link;
// 	}
// }


import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.io.IOException;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import org.openimaj.content.slideshow.SlideshowApplication;
import org.openimaj.image.MBFImage;
import org.openimaj.image.colour.ColourMap;
import org.openimaj.image.feature.local.interest.HarrisIPD;
import org.openimaj.video.VideoDisplay;
import org.openimaj.video.VideoDisplayListener;
import uk.ac.soton.ecs.comp3204.l1.SimpleCameraDemo;
import uk.ac.soton.ecs.comp3204.utils.Utils;
import uk.ac.soton.ecs.comp3204.utils.annotations.Demonstration;
package uk.ac.soton.ecs.comp3204.l6;





@Demonstration(title = "Harris and Stephens Response Function")
public class HarrisResponseDemo extends SimpleCameraDemo implements VideoDisplayListener<MBFImage> {
	static Font FONT = Font.decode("Monaco-32");
	HarrisIPD harris = new HarrisIPD();
// Path: app/src/main/java/uk/ac/soton/ecs/comp3204/l1/SimpleCameraDemo.java
// @Demonstration(title = "Simple Camera Demo")
// public class SimpleCameraDemo implements Slide {
// 	protected VideoCaptureComponent vc;
// 
// 	@Override
// 	public JPanel getComponent(int width, int height) throws IOException {
// 		// the main panel
// 		final JPanel base = new JPanel();
// 		base.setOpaque(false);
// 		base.setPreferredSize(new Dimension(width, height));
// 		base.setLayout(new GridBagLayout());
// 		vc = new VideoCaptureComponent(640, 480);
// 		base.add(vc);
// 
// 		return base;
// 	}
// 
// 	@Override
// 	public void close() {
// 		vc.close();
// 	}
// 
// 	public static void main(String[] args) throws IOException {
// 		new SlideshowApplication(new SimpleCameraDemo(), 1024, 768, Utils.BACKGROUND_IMAGE);
// 	}
// }
// 
// Path: app/src/main/java/uk/ac/soton/ecs/comp3204/utils/Utils.java
// public class Utils {
// 	public static URL BACKGROUND_IMAGE_URL = Utils.class.getResource("/uk/ac/soton/ecs/comp3204/background.png");
// 	public static BufferedImage BACKGROUND_IMAGE = null;
// 	static {
// 		try {
// 			BACKGROUND_IMAGE = ImageIO.read(BACKGROUND_IMAGE_URL);
// 		} catch (final IOException e) {
// 		}
// 	}
// 
// 	private Utils() {
// 	}
// 
// 	public static JLabel linkify(final String text, String URL, String toolTip)
// 	{
// 		URI temp = null;
// 		try
// 		{
// 			temp = new URI(URL);
// 		} catch (final Exception e)
// 		{
// 			e.printStackTrace();
// 		}
// 		final URI uri = temp;
// 		final JLabel link = new JLabel();
// 		link.setText("<HTML><FONT color=\"#000099\">" + text + "</FONT></HTML>");
// 		if (!toolTip.equals(""))
// 			link.setToolTipText(toolTip);
// 		link.setCursor(new Cursor(Cursor.HAND_CURSOR));
// 		link.addMouseListener(new MouseListener()
// 		{
// 			@Override
// 			public void mouseExited(MouseEvent arg0)
// 			{
// 				link.setText("<HTML><FONT color=\"#000099\">" + text + "</FONT></HTML>");
// 			}
// 
// 			@Override
// 			public void mouseEntered(MouseEvent arg0)
// 			{
// 				link.setText("<HTML><FONT color=\"#000099\"><U>" + text + "</U></FONT></HTML>");
// 			}
// 
// 			@Override
// 			public void mouseClicked(MouseEvent arg0)
// 			{
// 				if (Desktop.isDesktopSupported())
// 				{
// 					try
// 					{
// 						Desktop.getDesktop().browse(uri);
// 					}
// 					catch (final Exception e)
// 					{
// 						e.printStackTrace();
// 					}
// 				}
// 				else
// 				{
// 					final JOptionPane pane = new JOptionPane("Could not open link.");
// 					final JDialog dialog = pane.createDialog(new JFrame(), "");
// 					dialog.setVisible(true);
// 				}
// 			}
// 
// 			@Override
// 			public void mousePressed(MouseEvent e)
// 			{
// 			}
// 
// 			@Override
// 			public void mouseReleased(MouseEvent e)
// 			{
// 			}
// 		});
// 		return link;
// 	}
// }


// Path: app/src/main/java/uk/ac/soton/ecs/comp3204/l6/HarrisResponseDemo.java
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.io.IOException;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import org.openimaj.content.slideshow.SlideshowApplication;
import org.openimaj.image.MBFImage;
import org.openimaj.image.colour.ColourMap;
import org.openimaj.image.feature.local.interest.HarrisIPD;
import org.openimaj.video.VideoDisplay;
import org.openimaj.video.VideoDisplayListener;
import uk.ac.soton.ecs.comp3204.l1.SimpleCameraDemo;
import uk.ac.soton.ecs.comp3204.utils.Utils;
import uk.ac.soton.ecs.comp3204.utils.annotations.Demonstration;

package uk.ac.soton.ecs.comp3204.l6;





@Demonstration(title = "Harris and Stephens Response Function")
public class HarrisResponseDemo extends SimpleCameraDemo implements VideoDisplayListener<MBFImage> {
	static Font FONT = Font.decode("Monaco-32");
	HarrisIPD harris = new HarrisIPD();
	private JSpinner windowSizeSpinner;