|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
edu.udo.cs.yale.gui.plotter.PlotterAdapter
edu.udo.cs.yale.gui.plotter.som.SOMPlotter
public class SOMPlotter
This is the main class for the SOMPlotter. It uses the KohonenNet class for generating a self-organizing map. Different properties of the resulting map may be shown as background while the examples are shown as points. There are different styled visualizations of the properties.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class edu.udo.cs.yale.gui.plotter.PlotterAdapter |
---|
PlotterAdapter.LineStyle, PlotterAdapter.LineStyleIcon |
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
javax.swing.JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
private javax.swing.JButton |
approveButton
|
private int |
colorColumn
|
private SOMMatrixColorizer[] |
colorizer
|
private javax.swing.JComboBox |
colorSelection
|
private java.lang.String |
currentToolTip
|
private RandomDataContainer |
data
|
private DataTable |
dataTable
|
private int[] |
dimensions
|
private javax.swing.JTextField |
dimensionX
|
private javax.swing.JTextField |
dimensionY
|
private java.util.ArrayList<ExamplePlotterPoint> |
exampleCoordinates
|
private boolean |
examplesApplied
|
private java.awt.image.BufferedImage |
image
|
private static int |
IMAGE_HEIGHT
|
private static int |
IMAGE_WIDTH
|
private int |
jitterAmount
|
private javax.swing.JComboBox |
matrixSelection
|
private double |
maxP
|
private double |
maxU
|
private double |
maxUStar
|
private KohonenNet |
net
|
private double[][] |
pMatrix
|
private javax.swing.JProgressBar |
progressBar
|
private javax.swing.JTextField |
radiusSelection
|
private javax.swing.JTextField |
roundSelection
|
private static long |
serialVersionUID
|
private boolean |
show
|
private int |
showColor
|
private int |
showMatrix
|
private double |
toolTipX
|
private double |
toolTipY
|
private double[][] |
uMatrix
|
private double[][] |
uStarMatrix
|
Fields inherited from class edu.udo.cs.yale.gui.plotter.PlotterAdapter |
---|
GRID_COLOR, LABEL_FONT, LINE_COLORS, LINE_STROKES, LINE_STYLE_ICONS, LINE_STYLES, MARGIN, POINTSIZE, TOOLTIP_COLOR, WEIGHT_BORDER_WIDTH |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, 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 edu.udo.cs.yale.gui.plotter.Plotter |
---|
MULTIPLE_SELECTION, NO_SELECTION, SINGLE_SELECTION |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
SOMPlotter()
|
Method Summary | |
---|---|
boolean |
canHandleJitter()
Returns true. |
private void |
createMatrices()
|
private void |
drawToolTip(java.awt.Graphics2D g)
|
private double[] |
getDoubleArrayFromRow(DataTableRow row,
DataTable table)
|
java.lang.String |
getIdForPos(int x,
int y)
Returns null. |
javax.swing.JComponent |
getOptionsComponent(int index)
Returns null. |
boolean |
getPlotColumn(int dimension)
Returns false. |
java.lang.String |
getPlotName()
Returns null. |
PlotterCondition |
getPlotterCondition()
Returns a BasicPlotterCondition allowing for all DataTable s. |
private ExamplePlotterPoint |
getPlotterPointForPos(int x,
int y)
|
private double[][] |
getPMatrix(KohonenNet net,
RandomDataContainer data,
int[] dimensions)
|
private double[][] |
getUMatrix(KohonenNet net,
int[] dimensions)
|
private double[][] |
getUStarMatrix(double[][] uMatrix,
double[][] pMatrix,
double meanP,
double maxP,
int[] dimensions)
|
private void |
interpolateRect(java.awt.image.BufferedImage image,
int posX,
int posY,
double width,
double height,
double[][] matrix,
int matrixX,
int matrixY,
double colorScale,
SOMMatrixColorizer colorizer)
|
void |
paintComponent(java.awt.Graphics graphics)
Invokes super method and sets correct color schemes. |
private void |
prepareSOM(DataTable dataTable,
double adaptionRadius,
int trainRounds)
|
void |
progressFinished()
|
private void |
recalculateBackgroundImage()
|
void |
setDataTable(DataTable dataTable)
Since this method already adds this object as a listener, all methods overriding this one should invoke the super method. |
void |
setJitter(int jitter)
Sets the level of jitter and initiates a repaint. |
void |
setMousePosInDataSpace(int x,
int y)
Sets the mouse position in the shown data space. |
void |
setPlotColumn(int column,
boolean plot)
Does nothing. |
void |
setProgress(int value)
|
private void |
setToolTip(java.lang.String toolTip,
double x,
double y)
|
Methods inherited from class edu.udo.cs.yale.gui.plotter.PlotterAdapter |
---|
canHandleZooming, dataTableUpdated, drawLegend, drawLegend, drawPoint, drawToolTip, drawWeightRectangle, getAxis, getAxisName, getIcon, getInitialZoomFactor, getMaxWeight, getNumberOfAxes, getNumberOfPlots, getNumericalTicSize, getPlotter, getPointColor, getPointColor, getPointColorValue, getPositionInDataSpace, getTicSize, getValuePlotSelectionType, getWeightColor, hasOptionsDialog, hasSaveImageButton, isProvidingCoordinates, isSaveable, save, setAxis, setDragBounds, setDrawRange, setKey, setZooming, showOptionsDialog |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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 |
Methods inherited from class java.awt.Container |
---|
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, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, 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, hide, 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, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface edu.udo.cs.yale.gui.plotter.Plotter |
---|
addMouseListener, addMouseMotionListener |
Field Detail |
---|
private static final long serialVersionUID
private static final int IMAGE_WIDTH
private static final int IMAGE_HEIGHT
private int[] dimensions
private java.util.ArrayList<ExamplePlotterPoint> exampleCoordinates
private boolean examplesApplied
private double[][] uMatrix
private double maxU
private double[][] pMatrix
private double maxP
private double[][] uStarMatrix
private double maxUStar
private DataTable dataTable
private boolean show
private java.lang.String currentToolTip
private double toolTipX
private double toolTipY
private int showMatrix
private int showColor
private int colorColumn
private RandomDataContainer data
private KohonenNet net
private javax.swing.JButton approveButton
private javax.swing.JComboBox matrixSelection
private javax.swing.JComboBox colorSelection
private javax.swing.JTextField roundSelection
private javax.swing.JTextField radiusSelection
private javax.swing.JTextField dimensionX
private javax.swing.JTextField dimensionY
private javax.swing.JProgressBar progressBar
private SOMMatrixColorizer[] colorizer
private int jitterAmount
private java.awt.image.BufferedImage image
Constructor Detail |
---|
public SOMPlotter()
Method Detail |
---|
public PlotterCondition getPlotterCondition()
PlotterAdapter
BasicPlotterCondition
allowing for all DataTable
s. Subclasses
should override this method in order to indicate that they might not be able to handle
certain data tables.
getPlotterCondition
in interface Plotter
getPlotterCondition
in class PlotterAdapter
public void paintComponent(java.awt.Graphics graphics)
PlotterAdapter
paintComponent
in class PlotterAdapter
public void setDataTable(DataTable dataTable)
PlotterAdapter
setDataTable
in interface Plotter
setDataTable
in class PlotterAdapter
public boolean canHandleJitter()
canHandleJitter
in interface Plotter
canHandleJitter
in class PlotterAdapter
public void setJitter(int jitter)
setJitter
in interface Plotter
setJitter
in class PlotterAdapter
private void prepareSOM(DataTable dataTable, double adaptionRadius, int trainRounds)
private void createMatrices()
private void recalculateBackgroundImage()
private void interpolateRect(java.awt.image.BufferedImage image, int posX, int posY, double width, double height, double[][] matrix, int matrixX, int matrixY, double colorScale, SOMMatrixColorizer colorizer)
private double[] getDoubleArrayFromRow(DataTableRow row, DataTable table)
private double[][] getUMatrix(KohonenNet net, int[] dimensions)
private double[][] getPMatrix(KohonenNet net, RandomDataContainer data, int[] dimensions)
private double[][] getUStarMatrix(double[][] uMatrix, double[][] pMatrix, double meanP, double maxP, int[] dimensions)
public javax.swing.JComponent getOptionsComponent(int index)
PlotterAdapter
getOptionsComponent
in interface Plotter
getOptionsComponent
in class PlotterAdapter
public void setPlotColumn(int column, boolean plot)
PlotterAdapter
PlotterAdapter.getPlotColumn(int)
should also be overriden.
setPlotColumn
in interface Plotter
setPlotColumn
in class PlotterAdapter
public boolean getPlotColumn(int dimension)
PlotterAdapter
getPlotColumn
in interface Plotter
getPlotColumn
in class PlotterAdapter
public java.lang.String getPlotName()
PlotterAdapter
getPlotName
in interface Plotter
getPlotName
in class PlotterAdapter
public void setProgress(int value)
setProgress
in interface ProgressListener
public void progressFinished()
progressFinished
in interface ProgressListener
public java.lang.String getIdForPos(int x, int y)
PlotterAdapter
getIdForPos
in interface Plotter
getIdForPos
in class PlotterAdapter
private ExamplePlotterPoint getPlotterPointForPos(int x, int y)
public void setMousePosInDataSpace(int x, int y)
setMousePosInDataSpace
in interface Plotter
setMousePosInDataSpace
in class PlotterAdapter
private void setToolTip(java.lang.String toolTip, double x, double y)
private void drawToolTip(java.awt.Graphics2D g)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |