public class BoundaryPanel extends JPanel
JPanel
,
Serialized FormModifier and Type | Class and Description |
---|---|
protected class |
BoundaryPanel.PlotThread |
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
static Color[] |
DEFAULT_COLORS
default colours for classes
|
protected Classifier |
m_classifier
distribution classifier to use
|
protected FastVector |
m_Colors |
protected DataGenerator |
m_dataGenerator
data generator to use
|
protected double |
m_maxX |
protected double |
m_maxY |
protected double |
m_minX |
protected double |
m_minY |
protected int |
m_numOfSamplesPerGenerator |
protected int |
m_numOfSamplesPerRegion |
protected Image |
m_osi
used for offscreen drawing
|
protected int |
m_panelHeight |
protected int |
m_panelWidth |
protected double |
m_pixHeight |
protected double |
m_pixWidth |
protected boolean |
m_plotTrainingData
plot the training data
|
protected double[][][] |
m_probabilityCache
cache of probabilities for fast replotting
|
protected double |
m_samplesBase |
protected boolean |
m_stopPlotting
Stop the plotting thread
|
protected boolean |
m_stopReplotting
Stop any replotting threads
|
protected Instances |
m_trainingData
training data
|
protected int |
m_xAttribute |
protected int |
m_yAttribute |
static double |
REMOVE_POINT_RADIUS
The distance we can click away from a point in the GUI and still remove it.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
BoundaryPanel(int panelWidth,
int panelHeight)
Creates a new
BoundaryPanel instance. |
Modifier and Type | Method and Description |
---|---|
void |
addActionListener(ActionListener newListener)
Register a listener to be notified when plotting completes
|
void |
addMouseListener(MouseListener l)
Adds a mouse listener.
|
void |
addTrainingInstance(Instance instance)
Adds a training instance to the visualization dataset.
|
void |
addTrainingInstanceFromMouseLocation(int mouseX,
int mouseY,
int classAttIndex,
double classValue)
Adds a training instance to our dataset, based on the coordinates of the mouse on the panel.
|
void |
computeMinMaxAtts()
Set up the bounds of our graphic based by finding the smallest reasonable
area in the instance space to surround our data points.
|
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
|
double |
getMaxXBound()
Gets the maximum x-coordinate bound, in training-instance units (not mouse coordinates).
|
double |
getMaxYBound()
Gets the maximum x-coordinate bound, in training-instance units (not mouse coordinates).
|
double |
getMinXBound()
Gets the minimum x-coordinate bound, in training-instance units (not mouse coordinates).
|
double |
getMinYBound()
Gets the minimum y-coordinate bound, in training-instance units (not mouse coordinates).
|
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
|
protected void |
initialize()
Set up the off screen bitmap for rendering to
|
static void |
main(String[] args)
Main method for testing this class
|
protected void |
plotPoint(int x,
int y,
double[] probs,
boolean update)
Plot a point in our visualization on-screen.
|
void |
plotTrainingData()
Render the training points on-screen.
|
void |
removeActionListener(ActionListener removeListener)
Remove a listener
|
void |
removeAllInstances()
Deletes all training instances from our dataset.
|
void |
removeTrainingInstanceFromMouseLocation(int mouseX,
int mouseY)
Removes a single training instance from our dataset, if there is one that is close enough
to the specified mouse location.
|
void |
replot()
Quickly replot the display using cached probability estimates
|
protected void |
saveImage(String fileName) |
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 |
startPlotThread()
Starts the plotting thread.
|
void |
stopPlotting()
Stop the plotting thread
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final Color[] DEFAULT_COLORS
public static final double REMOVE_POINT_RADIUS
protected FastVector m_Colors
protected Instances m_trainingData
protected Classifier m_classifier
protected DataGenerator m_dataGenerator
protected int m_xAttribute
protected int m_yAttribute
protected double m_minX
protected double m_minY
protected double m_maxX
protected double m_maxY
protected double m_pixHeight
protected double m_pixWidth
protected Image m_osi
protected int m_panelWidth
protected int m_panelHeight
protected int m_numOfSamplesPerRegion
protected int m_numOfSamplesPerGenerator
protected double m_samplesBase
protected boolean m_stopPlotting
protected boolean m_stopReplotting
protected double[][][] m_probabilityCache
protected boolean m_plotTrainingData
public BoundaryPanel(int panelWidth, int panelHeight)
BoundaryPanel
instance.panelWidth
- the width in pixels of the panelpanelHeight
- the height in pixels of the panelpublic void setNumSamplesPerRegion(int num)
num
- an int
valuepublic int getNumSamplesPerRegion()
int
valuepublic void setGeneratorSamplesBase(double ksb)
ksb
- a double
valuepublic double getGeneratorSamplesBase()
double
valueprotected void initialize()
public void stopPlotting()
public void computeMinMaxAtts()
public void start() throws Exception
Exception
- if an error occurspublic void plotTrainingData()
protected void plotPoint(int x, int y, double[] probs, boolean update)
public void setTrainingData(Instances trainingData) throws Exception
trainingData
- the training dataException
- if an error occurspublic void addTrainingInstance(Instance instance)
public void addActionListener(ActionListener newListener)
newListener
- the listener to addpublic void removeActionListener(ActionListener removeListener)
removeListener
- the listener to removepublic void setClassifier(Classifier classifier)
classifier
- the classifier to usepublic void setDataGenerator(DataGenerator dataGenerator)
dataGenerator
- the data generator to usepublic void setXAttribute(int xatt) throws Exception
xatt
- index of the attribute to use on the x axisException
- if an error occurspublic void setYAttribute(int yatt) throws Exception
yatt
- index of the attribute to use on the y axisException
- if an error occurspublic void setColors(FastVector colors)
colors
- a FastVector
valuepublic void setPlotTrainingData(boolean pg)
pg
- a boolean
valuepublic boolean getPlotTrainingData()
boolean
valuepublic FastVector getColors()
FastVector
valuepublic void replot()
protected void saveImage(String fileName)
public void addTrainingInstanceFromMouseLocation(int mouseX, int mouseY, int classAttIndex, double classValue)
mouseX
- the x coordinate of the mouse, in pixels.mouseY
- the y coordinate of the mouse, in pixels.classAttIndex
- the index of the attribute that is currently selected as the class attribute.classValue
- the value to set the class to in our new point.public void removeAllInstances()
public void removeTrainingInstanceFromMouseLocation(int mouseX, int mouseY)
public void startPlotThread()
public void addMouseListener(MouseListener l)
addMouseListener
in class Component
public double getMinXBound()
public double getMinYBound()
public double getMaxXBound()
public double getMaxYBound()
public static void main(String[] args)
args
- a String[]
valueCopyright © 2015 University of Waikato, Hamilton, NZ. All rights reserved.