Class PrincipalComponentsTab
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.DetachablePanel
-
- adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
-
- adams.gui.tools.wekainvestigator.tab.PrincipalComponentsTab
-
- All Implemented Interfaces:
adams.core.CleanUpHandler
,adams.core.StatusMessageHandler
,adams.gui.core.PopupMenuProvider
,WekaInvestigatorDataListener
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class PrincipalComponentsTab extends AbstractInvestigatorTab
Visualizes the PCA loadings and PCA space calculated from the selected dataset.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
AbstractInvestigatorTab.SerializationOption
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_ADDITIONALATTRIBUTES
static String
KEY_DATASET
static String
KEY_LEFTPANELWIDTH
static String
KEY_MAXATTRIBUTENAMES
static String
KEY_MAXATTRIBUTES
static String
KEY_RANGE
static String
KEY_SKIPNOMINAL
static String
KEY_VARIANCE
protected adams.gui.core.BaseButton
m_ButtonStart
the button to start PCA.protected adams.gui.core.BaseButton
m_ButtonStop
the button to stop PCA.protected adams.gui.core.BaseCheckBox
m_CheckBoxSkipNominal
whether to skip nominal attributes.protected adams.gui.core.BaseComboBox<String>
m_ComboBoxDatasets
the datasets.protected DefaultComboBoxModel<String>
m_ModelDatasets
the datasets model.protected JPanel
m_PanelLeft
the left panel.protected adams.gui.visualization.stats.scatterplot.ScatterPlot
m_PanelLoadings
the loadings plot.protected adams.gui.core.ParameterPanel
m_PanelParameters
the parameter panel.protected JPanel
m_PanelRight
the right panel.protected adams.gui.visualization.stats.scatterplot.ScatterPlot
m_PanelScores
the scores plot.protected adams.gui.core.BaseSplitPane
m_SplitPane
the split pane.protected adams.gui.core.BaseTabbedPane
m_TabbedPanePlots
the tabbed pane for the plots.protected adams.gui.core.BaseTextField
m_TextAdditionalAttributes
the additional attribute range.protected adams.gui.core.BaseTextField
m_TextAttributeRange
the attribute range.protected adams.gui.core.NumberTextField
m_TextMaxAttributeNames
the maximum number of attribute names.protected adams.gui.core.NumberTextField
m_TextMaxAttributes
the maximum number of attributes.protected adams.gui.core.NumberTextField
m_TextVariance
the variance.-
Fields inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
m_FileChooserParameters, m_Owner, m_Worker
-
Fields inherited from class adams.gui.core.DetachablePanel
DETACH_ICON, m_ButtonReattach, m_ContentPanel, m_DetachedFrame, m_DetachListeners, m_FrameTitle, m_LastFramePosition, m_LastFrameSize, m_PanelReattach, m_PopupMenuCustomizer, m_ReattachListeners, REATTACH_ICON
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description PrincipalComponentsTab()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addAdditionalAttributes(adams.data.spreadsheet.SpreadSheet sheet, weka.core.Instances data, int[] additional)
Adds the additional columns from the Instances to the spreadsheet.protected String
canVisualize()
Returns whether data can be visualized.void
dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.protected void
doDeserialize(Map<String,Object> data, adams.core.MessageCollection errors)
Restores the objects.protected Map<String,Object>
doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.protected void
finishInit()
finishes the initialization.protected int[]
getAdditionalAttributeIndices(weka.core.Instances data)
Returns the additional attribute indices.String
getTabIcon()
Returns the icon name for the tab icon.String
getTitle()
Returns the title of this table.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.boolean
isBusy()
Returns whether the tab is busy.protected void
postExecutionFinished()
Hook method that gets called after finishing a job.protected void
postStartExecution(InvestigatorTabJob job)
Hook method that gets called after successfully starting a job.protected void
postStopExecution()
Hook method that gets called after stopping a job.protected void
startExecution()
Generates PCA visualization.protected void
updateButtons()
Updates the buttons.-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
canStartExecution, createPopupMenu, deserialize, executionFinished, fireDataChange, getData, getFileChooserParameters, getOwner, loadParameters, logError, logError, logMessage, saveParameters, serialize, setOwner, showStatus, startExecution, stopExecution, toParamsArray
-
Methods inherited from class adams.gui.core.DetachablePanel
addDetachListener, addReattachListener, cleanUp, clearDetachListeners, clearReattachListeners, detach, getContentPanel, getFrameTitle, getPopupMenu, getPopupMenuCustomizer, isDetached, notifyDetachListeners, notifyReattachListeners, reattach, removeDetachListener, removeReattachListener, setFrameTitle, setPopupMenuCustomizer
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, 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, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
KEY_LEFTPANELWIDTH
public static final String KEY_LEFTPANELWIDTH
- See Also:
- Constant Field Values
-
KEY_DATASET
public static final String KEY_DATASET
- See Also:
- Constant Field Values
-
KEY_RANGE
public static final String KEY_RANGE
- See Also:
- Constant Field Values
-
KEY_VARIANCE
public static final String KEY_VARIANCE
- See Also:
- Constant Field Values
-
KEY_MAXATTRIBUTES
public static final String KEY_MAXATTRIBUTES
- See Also:
- Constant Field Values
-
KEY_MAXATTRIBUTENAMES
public static final String KEY_MAXATTRIBUTENAMES
- See Also:
- Constant Field Values
-
KEY_SKIPNOMINAL
public static final String KEY_SKIPNOMINAL
- See Also:
- Constant Field Values
-
KEY_ADDITIONALATTRIBUTES
public static final String KEY_ADDITIONALATTRIBUTES
- See Also:
- Constant Field Values
-
m_SplitPane
protected adams.gui.core.BaseSplitPane m_SplitPane
the split pane.
-
m_PanelLeft
protected JPanel m_PanelLeft
the left panel.
-
m_PanelRight
protected JPanel m_PanelRight
the right panel.
-
m_PanelParameters
protected adams.gui.core.ParameterPanel m_PanelParameters
the parameter panel.
-
m_ModelDatasets
protected DefaultComboBoxModel<String> m_ModelDatasets
the datasets model.
-
m_ComboBoxDatasets
protected adams.gui.core.BaseComboBox<String> m_ComboBoxDatasets
the datasets.
-
m_TextAttributeRange
protected adams.gui.core.BaseTextField m_TextAttributeRange
the attribute range.
-
m_TextVariance
protected adams.gui.core.NumberTextField m_TextVariance
the variance.
-
m_TextMaxAttributes
protected adams.gui.core.NumberTextField m_TextMaxAttributes
the maximum number of attributes.
-
m_TextMaxAttributeNames
protected adams.gui.core.NumberTextField m_TextMaxAttributeNames
the maximum number of attribute names.
-
m_CheckBoxSkipNominal
protected adams.gui.core.BaseCheckBox m_CheckBoxSkipNominal
whether to skip nominal attributes.
-
m_TextAdditionalAttributes
protected adams.gui.core.BaseTextField m_TextAdditionalAttributes
the additional attribute range.
-
m_ButtonStart
protected adams.gui.core.BaseButton m_ButtonStart
the button to start PCA.
-
m_ButtonStop
protected adams.gui.core.BaseButton m_ButtonStop
the button to stop PCA.
-
m_TabbedPanePlots
protected adams.gui.core.BaseTabbedPane m_TabbedPanePlots
the tabbed pane for the plots.
-
m_PanelLoadings
protected adams.gui.visualization.stats.scatterplot.ScatterPlot m_PanelLoadings
the loadings plot.
-
m_PanelScores
protected adams.gui.visualization.stats.scatterplot.ScatterPlot m_PanelScores
the scores plot.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractInvestigatorTab
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classadams.gui.core.DetachablePanel
-
finishInit
protected void finishInit()
finishes the initialization.- Overrides:
finishInit
in classadams.gui.core.BasePanel
-
getTitle
public String getTitle()
Returns the title of this table.- Specified by:
getTitle
in classAbstractInvestigatorTab
- Returns:
- the title
-
getTabIcon
public String getTabIcon()
Returns the icon name for the tab icon.- Overrides:
getTabIcon
in classAbstractInvestigatorTab
- Returns:
- the icon name, null if not available
-
dataChanged
public void dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.- Specified by:
dataChanged
in interfaceWekaInvestigatorDataListener
- Specified by:
dataChanged
in classAbstractInvestigatorTab
- Parameters:
e
- the event
-
isBusy
public boolean isBusy()
Returns whether the tab is busy.- Overrides:
isBusy
in classAbstractInvestigatorTab
- Returns:
- true if busy
-
canVisualize
protected String canVisualize()
Returns whether data can be visualized.- Returns:
- null if can visualize, otherwise error message
-
updateButtons
protected void updateButtons()
Updates the buttons.
-
getAdditionalAttributeIndices
protected int[] getAdditionalAttributeIndices(weka.core.Instances data)
Returns the additional attribute indices.- Parameters:
data
- the data to use- Returns:
- the indices
-
addAdditionalAttributes
protected void addAdditionalAttributes(adams.data.spreadsheet.SpreadSheet sheet, weka.core.Instances data, int[] additional)
Adds the additional columns from the Instances to the spreadsheet.- Parameters:
sheet
- the spreadsheet to extenddata
- the data to useadditional
- the additional attribute indices to add
-
startExecution
protected void startExecution()
Generates PCA visualization.
-
postStartExecution
protected void postStartExecution(InvestigatorTabJob job)
Hook method that gets called after successfully starting a job.- Overrides:
postStartExecution
in classAbstractInvestigatorTab
- Parameters:
job
- the job that got started
-
postStopExecution
protected void postStopExecution()
Hook method that gets called after stopping a job.- Overrides:
postStopExecution
in classAbstractInvestigatorTab
-
postExecutionFinished
protected void postExecutionFinished()
Hook method that gets called after finishing a job.- Overrides:
postExecutionFinished
in classAbstractInvestigatorTab
-
doSerialize
protected Map<String,Object> doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.- Overrides:
doSerialize
in classAbstractInvestigatorTab
- Parameters:
options
- what to serialize- Returns:
- the mapping of the objects to serialize
-
doDeserialize
protected void doDeserialize(Map<String,Object> data, adams.core.MessageCollection errors)
Restores the objects.- Overrides:
doDeserialize
in classAbstractInvestigatorTab
- Parameters:
data
- the data to restoreerrors
- for storing errors
-
-