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:
CleanUpHandler,StatusMessageHandler,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 StringKEY_ADDITIONALATTRIBUTESstatic StringKEY_DATASETstatic StringKEY_LEFTPANELWIDTHstatic StringKEY_MAXATTRIBUTENAMESstatic StringKEY_MAXATTRIBUTESstatic StringKEY_RANGEstatic StringKEY_SKIPNOMINALstatic StringKEY_VARIANCEprotected BaseButtonm_ButtonStartthe button to start PCA.protected BaseButtonm_ButtonStopthe button to stop PCA.protected BaseCheckBoxm_CheckBoxSkipNominalwhether to skip nominal attributes.protected BaseComboBox<String>m_ComboBoxDatasetsthe datasets.protected DefaultComboBoxModel<String>m_ModelDatasetsthe datasets model.protected JPanelm_PanelLeftthe left panel.protected ScatterPlotm_PanelLoadingsthe loadings plot.protected ParameterPanelm_PanelParametersthe parameter panel.protected JPanelm_PanelRightthe right panel.protected ScatterPlotm_PanelScoresthe scores plot.protected BaseSplitPanem_SplitPanethe split pane.protected BaseTabbedPanem_TabbedPanePlotsthe tabbed pane for the plots.protected BaseTextFieldm_TextAdditionalAttributesthe additional attribute range.protected BaseTextFieldm_TextAttributeRangethe attribute range.protected NumberTextFieldm_TextMaxAttributeNamesthe maximum number of attribute names.protected NumberTextFieldm_TextMaxAttributesthe maximum number of attributes.protected NumberTextFieldm_TextVariancethe variance.-
Fields inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
m_ActualTitle, 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 adams.gui.core.BasePanel
m_FileChooser
-
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 voidaddAdditionalAttributes(SpreadSheet sheet, weka.core.Instances data, int[] additional)Adds the additional columns from the Instances to the spreadsheet.protected StringcanVisualize()Returns whether data can be visualized.voiddataChanged(WekaInvestigatorDataEvent e)Notifies the tab that the data changed.protected voiddoDeserialize(Map<String,Object> data, MessageCollection errors)Restores the objects.protected Map<String,Object>doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)Returns the objects for serialization.protected voidfinishInit()finishes the initialization.protected int[]getAdditionalAttributeIndices(weka.core.Instances data)Returns the additional attribute indices.StringgetTabIcon()Returns the icon name for the tab icon.StringgetTitle()Returns the title of this table.protected voidinitGUI()Initializes the widgets.protected voidinitialize()Initializes the members.booleanisBusy()Returns whether the tab is busy.protected voidpostExecutionFinished()Hook method that gets called after finishing a job.protected voidpostStartExecution(InvestigatorTabJob job)Hook method that gets called after successfully starting a job.protected voidpostStopExecution()Hook method that gets called after stopping a job.protected voidstartExecution()Generates PCA visualization.protected voidupdateButtons()Updates the buttons.-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
canStartExecution, createPopupMenu, deserialize, executionFinished, fireDataChange, getActualTitle, getData, getFileChooserParameters, getOwner, loadParameters, logError, logError, logMessage, saveParameters, serialize, setActualTitle, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.CleanUpHandler
cleanUp
-
-
-
-
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 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 ParameterPanel m_PanelParameters
the parameter panel.
-
m_ModelDatasets
protected DefaultComboBoxModel<String> m_ModelDatasets
the datasets model.
-
m_ComboBoxDatasets
protected BaseComboBox<String> m_ComboBoxDatasets
the datasets.
-
m_TextAttributeRange
protected BaseTextField m_TextAttributeRange
the attribute range.
-
m_TextVariance
protected NumberTextField m_TextVariance
the variance.
-
m_TextMaxAttributes
protected NumberTextField m_TextMaxAttributes
the maximum number of attributes.
-
m_TextMaxAttributeNames
protected NumberTextField m_TextMaxAttributeNames
the maximum number of attribute names.
-
m_CheckBoxSkipNominal
protected BaseCheckBox m_CheckBoxSkipNominal
whether to skip nominal attributes.
-
m_TextAdditionalAttributes
protected BaseTextField m_TextAdditionalAttributes
the additional attribute range.
-
m_ButtonStart
protected BaseButton m_ButtonStart
the button to start PCA.
-
m_ButtonStop
protected BaseButton m_ButtonStop
the button to stop PCA.
-
m_TabbedPanePlots
protected BaseTabbedPane m_TabbedPanePlots
the tabbed pane for the plots.
-
m_PanelLoadings
protected ScatterPlot m_PanelLoadings
the loadings plot.
-
m_PanelScores
protected ScatterPlot m_PanelScores
the scores plot.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initializein classAbstractInvestigatorTab
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUIin classDetachablePanel
-
finishInit
protected void finishInit()
finishes the initialization.- Overrides:
finishInitin classBasePanel
-
getTitle
public String getTitle()
Returns the title of this table.- Specified by:
getTitlein classAbstractInvestigatorTab- Returns:
- the title
-
getTabIcon
public String getTabIcon()
Returns the icon name for the tab icon.- Overrides:
getTabIconin classAbstractInvestigatorTab- Returns:
- the icon name, null if not available
-
dataChanged
public void dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.- Specified by:
dataChangedin interfaceWekaInvestigatorDataListener- Specified by:
dataChangedin classAbstractInvestigatorTab- Parameters:
e- the event
-
isBusy
public boolean isBusy()
Returns whether the tab is busy.- Overrides:
isBusyin 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(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:
postStartExecutionin classAbstractInvestigatorTab- Parameters:
job- the job that got started
-
postStopExecution
protected void postStopExecution()
Hook method that gets called after stopping a job.- Overrides:
postStopExecutionin classAbstractInvestigatorTab
-
postExecutionFinished
protected void postExecutionFinished()
Hook method that gets called after finishing a job.- Overrides:
postExecutionFinishedin classAbstractInvestigatorTab
-
doSerialize
protected Map<String,Object> doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.- Overrides:
doSerializein classAbstractInvestigatorTab- Parameters:
options- what to serialize- Returns:
- the mapping of the objects to serialize
-
doDeserialize
protected void doDeserialize(Map<String,Object> data, MessageCollection errors)
Restores the objects.- Overrides:
doDeserializein classAbstractInvestigatorTab- Parameters:
data- the data to restoreerrors- for storing errors
-
-