weka.gui.boundaryvisualizer
Class BoundaryPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--weka.gui.boundaryvisualizer.BoundaryPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
BoundaryPanelDistributed

public class BoundaryPanel
extends javax.swing.JPanel

BoundaryPanel. A class to handle the plotting operations associated with generating a 2D picture of a classifier's decision boundaries.

Since:
1.0
Version:
$Revision: 1.19 $
Author:
Mark Hall
See Also:
JPanel, Serialized Form

Field Summary
static java.awt.Color[] DEFAULT_COLORS
           
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BoundaryPanel(int panelWidth, int panelHeight)
          Creates a new BoundaryPanel instance.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener newListener)
          Register a listener to be notified when plotting completes
 FastVector getColors()
          Get the current vector of Color objects used for the classes
 double getGeneratorSamplesBase()
          Get the base used for computing the number of samples to obtain from each generator
 int getNumSamplesPerRegion()
          Get the number of points to sample from a region (fixed dimensions).
 boolean getPlotTrainingData()
          Returns true if training data is to be superimposed
static void main(java.lang.String[] args)
          Main method for testing this class
 void removeActionListener(java.awt.event.ActionListener removeListener)
          Remove a listener
 void replot()
          Quickly replot the display using cached probability estimates
 void setClassifier(Classifier classifier)
          Set the classifier to use.
 void setColors(FastVector colors)
          Set a vector of Color objects for the classes
 void setDataGenerator(DataGenerator dataGenerator)
          Set the data generator to use for generating new instances
 void setGeneratorSamplesBase(double ksb)
          Set the base for computing the number of samples to obtain from each generator.
 void setNumSamplesPerRegion(int num)
          Set the number of points to uniformly sample from a region (fixed dimensions).
 void setPlotTrainingData(boolean pg)
          Set whether to superimpose the training data plot
 void setTrainingData(Instances trainingData)
          Set the training data to use
 void setXAttribute(int xatt)
          Set the x attribute index
 void setYAttribute(int yatt)
          Set the y attribute index
 void start()
          Start the plotting thread
 void stopPlotting()
          Stop the plotting thread
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_COLORS

public static final java.awt.Color[] DEFAULT_COLORS
Constructor Detail

BoundaryPanel

public BoundaryPanel(int panelWidth,
                     int panelHeight)
Creates a new BoundaryPanel instance.

Parameters:
panelWidth - the width in pixels of the panel
panelHeight - the height in pixels of the panel
Method Detail

setNumSamplesPerRegion

public void setNumSamplesPerRegion(int num)
Set the number of points to uniformly sample from a region (fixed dimensions).

Parameters:
num - an int value

getNumSamplesPerRegion

public int getNumSamplesPerRegion()
Get the number of points to sample from a region (fixed dimensions).

Returns:
an int value

setGeneratorSamplesBase

public void setGeneratorSamplesBase(double ksb)
Set the base for computing the number of samples to obtain from each generator. number of samples = base ^ (# non fixed dimensions)

Parameters:
ksb - a double value

getGeneratorSamplesBase

public double getGeneratorSamplesBase()
Get the base used for computing the number of samples to obtain from each generator

Returns:
a double value

stopPlotting

public void stopPlotting()
Stop the plotting thread


start

public void start()
           throws java.lang.Exception
Start the plotting thread

Throws:
java.lang.Exception - if an error occurs

setTrainingData

public void setTrainingData(Instances trainingData)
                     throws java.lang.Exception
Set the training data to use

Parameters:
trainingData - the training data
Throws:
java.lang.Exception - if an error occurs

addActionListener

public void addActionListener(java.awt.event.ActionListener newListener)
Register a listener to be notified when plotting completes

Parameters:
newListener - the listener to add

removeActionListener

public void removeActionListener(java.awt.event.ActionListener removeListener)
Remove a listener

Parameters:
removeListener - the listener to remove

setClassifier

public void setClassifier(Classifier classifier)
Set the classifier to use.

Parameters:
classifier - the classifier to use

setDataGenerator

public void setDataGenerator(DataGenerator dataGenerator)
Set the data generator to use for generating new instances

Parameters:
dataGenerator - the data generator to use

setXAttribute

public void setXAttribute(int xatt)
                   throws java.lang.Exception
Set the x attribute index

Parameters:
xatt - index of the attribute to use on the x axis
Throws:
java.lang.Exception - if an error occurs

setYAttribute

public void setYAttribute(int yatt)
                   throws java.lang.Exception
Set the y attribute index

Parameters:
yatt - index of the attribute to use on the y axis
Throws:
java.lang.Exception - if an error occurs

setColors

public void setColors(FastVector colors)
Set a vector of Color objects for the classes

Parameters:
colors - a FastVector value

setPlotTrainingData

public void setPlotTrainingData(boolean pg)
Set whether to superimpose the training data plot

Parameters:
pg - a boolean value

getPlotTrainingData

public boolean getPlotTrainingData()
Returns true if training data is to be superimposed

Returns:
a boolean value

getColors

public FastVector getColors()
Get the current vector of Color objects used for the classes

Returns:
a FastVector value

replot

public void replot()
Quickly replot the display using cached probability estimates


main

public static void main(java.lang.String[] args)
Main method for testing this class

Parameters:
args - a String[] value


Copyright (c) 2003 David Lindsay, Computer Learning Research Centre, Dept. Computer Science, Royal Holloway, University of London