|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| 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 DataTables. |
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()
PlotterAdapterBasicPlotterCondition allowing for all DataTables. Subclasses
should override this method in order to indicate that they might not be able to handle
certain data tables.
getPlotterCondition in interface PlottergetPlotterCondition in class PlotterAdapterpublic void paintComponent(java.awt.Graphics graphics)
PlotterAdapter
paintComponent in class PlotterAdapterpublic void setDataTable(DataTable dataTable)
PlotterAdapter
setDataTable in interface PlottersetDataTable in class PlotterAdapterpublic boolean canHandleJitter()
canHandleJitter in interface PlottercanHandleJitter in class PlotterAdapterpublic void setJitter(int jitter)
setJitter in interface PlottersetJitter 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 PlottergetOptionsComponent in class PlotterAdapter
public void setPlotColumn(int column,
boolean plot)
PlotterAdapterPlotterAdapter.getPlotColumn(int) should also be overriden.
setPlotColumn in interface PlottersetPlotColumn in class PlotterAdapterpublic boolean getPlotColumn(int dimension)
PlotterAdapter
getPlotColumn in interface PlottergetPlotColumn in class PlotterAdapterpublic java.lang.String getPlotName()
PlotterAdapter
getPlotName in interface PlottergetPlotName in class PlotterAdapterpublic void setProgress(int value)
setProgress in interface ProgressListenerpublic void progressFinished()
progressFinished in interface ProgressListener
public java.lang.String getIdForPos(int x,
int y)
PlotterAdapter
getIdForPos in interface PlottergetIdForPos in class PlotterAdapter
private ExamplePlotterPoint getPlotterPointForPos(int x,
int y)
public void setMousePosInDataSpace(int x,
int y)
setMousePosInDataSpace in interface PlottersetMousePosInDataSpace 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 | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||