whistleClassifier.training
Class ClassifierTrainingDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by PamView.PamDialog
                          extended by whistleClassifier.training.ClassifierTrainingDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, TrainingObserver

public class ClassifierTrainingDialog
extends PamDialog
implements TrainingObserver

See Also:
Serialized Form

Nested Class Summary
private  class ClassifierTrainingDialog.CreateTraining
           
(package private)  class ClassifierTrainingDialog.DataViewPanel
          Show all the data, listed by species in a treeview.
(package private)  class ClassifierTrainingDialog.FolderChanged
           
(package private)  class ClassifierTrainingDialog.ProgressPanel
           
(package private)  class ClassifierTrainingDialog.RunTrainingPanel
           
(package private)  class ClassifierTrainingDialog.UseFolderNamesChange
           
 
Nested classes/interfaces inherited from class PamView.PamDialog
PamDialog.PopupListener
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  ClassifierTrainer classifierTrainer
           
private  boolean creating
           
private  ClassifierTrainingDialog.DataViewPanel dataViewPanel
           
private  javax.swing.JCheckBox dumpTextFile
           
private  FragmentClassifierParams fragmentClassifierParams
           
private  java.awt.Frame frame
           
private  boolean needsSave
           
private  ClassifierTrainingDialog.ProgressPanel progressPanel
           
private  ClassifierTrainingDialog.RunTrainingPanel runTrainingPanel
           
private  SelectFolder selectFolder
           
private static ClassifierTrainingDialog singleInstance
           
private  TrainingDataCollection trainingDataCollection
           
private  int trainingStatus
           
private  javax.swing.JCheckBox useFolderNames
           
private  WhistleClassificationParameters whistleClassificationParameters
           
private  WhistleClassifierControl whistleClassifierControl
           
 
Fields inherited from class PamView.PamDialog
serialVersionUID
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface whistleClassifier.training.TrainingObserver
ABORT, COMPLETE, IDLE, START
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ClassifierTrainingDialog(java.awt.Window parentFrame, java.lang.String title)
           
 
Method Summary
 void cancelButtonPressed()
          called when the cancel button is pressed before the dialog closes.
private  void copyConfusion()
          Copy the mean and std confusion matrices to the clipboard.
private  void createTrainingStore()
          Creates the training store.
(package private)  void enableControls()
           
 boolean getFixedParams()
           
 boolean getParams()
          called when the Ok button is pressed.
 void restoreDefaultSettings()
          standard function which should us used to copy default parameters into the dialog controls.
private  void runCreateTrainingThread()
          This has to run in a different thread to get the progress bar to work correctly
private  void saveSettings()
          An export function which saves the classifier settings separately from the main PAMGUARD settings file data.
private  void setParams()
           
 void setStatus(int statusMessage, int statusValue)
           
static WhistleClassificationParameters showDialog(java.awt.Frame parentFrame, WhistleClassifierControl wc)
           
private  void startTraining()
           
private  void stopTraining()
           
 
Methods inherited from class PamView.PamDialog
addComponent, enableHelpButton, formatDouble, getButtonPanel, getCancelButton, getDefaultButton, getHelpButton, getHelpPoint, getOkButton, getWarningTitle, isSendGeneralSettingsNotification, isWarnDefaultSetting, okButtonPressed, positionInFrame, restoreDefaultSettingsQ, setDialogComponent, setHelpPoint, setSendGeneralSettingsNotification, setVisible, setWarnDefaultSetting, setWarningTitle, showWarning, showWarning, showWarning
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

whistleClassificationParameters

private WhistleClassificationParameters whistleClassificationParameters

fragmentClassifierParams

private FragmentClassifierParams fragmentClassifierParams

singleInstance

private static ClassifierTrainingDialog singleInstance

whistleClassifierControl

private WhistleClassifierControl whistleClassifierControl

selectFolder

private SelectFolder selectFolder

useFolderNames

private javax.swing.JCheckBox useFolderNames

dumpTextFile

private javax.swing.JCheckBox dumpTextFile

dataViewPanel

private ClassifierTrainingDialog.DataViewPanel dataViewPanel

progressPanel

private ClassifierTrainingDialog.ProgressPanel progressPanel

runTrainingPanel

private ClassifierTrainingDialog.RunTrainingPanel runTrainingPanel

classifierTrainer

private ClassifierTrainer classifierTrainer

frame

private java.awt.Frame frame

needsSave

private boolean needsSave

trainingStatus

private int trainingStatus

trainingDataCollection

private TrainingDataCollection trainingDataCollection

creating

private volatile boolean creating
Constructor Detail

ClassifierTrainingDialog

public ClassifierTrainingDialog(java.awt.Window parentFrame,
                                java.lang.String title)
Method Detail

showDialog

public static WhistleClassificationParameters showDialog(java.awt.Frame parentFrame,
                                                         WhistleClassifierControl wc)

setStatus

public void setStatus(int statusMessage,
                      int statusValue)
Specified by:
setStatus in interface TrainingObserver

runCreateTrainingThread

private void runCreateTrainingThread()
This has to run in a different thread to get the progress bar to work correctly


createTrainingStore

private void createTrainingStore()
Creates the training store. Ideally, this should only ever be run from inside the CreateTraining thread.


enableControls

void enableControls()

cancelButtonPressed

public void cancelButtonPressed()
Description copied from class: PamDialog
called when the cancel button is pressed before the dialog closes. Generally you should set the parameters returned by the dialog to null or some default value, or in some other way indicate that Cancel was pressed.

Specified by:
cancelButtonPressed in class PamDialog

setParams

private void setParams()

getFixedParams

public boolean getFixedParams()

getParams

public boolean getParams()
Description copied from class: PamDialog
called when the Ok button is pressed. This must return true in order that the dialog may close. It should also copy all parameters into an object that will be returned by showDialog.

Specified by:
getParams in class PamDialog

startTraining

private void startTraining()

stopTraining

private void stopTraining()

saveSettings

private void saveSettings()
An export function which saves the classifier settings separately from the main PAMGUARD settings file data.


copyConfusion

private void copyConfusion()
Copy the mean and std confusion matrices to the clipboard.


restoreDefaultSettings

public void restoreDefaultSettings()
Description copied from class: PamDialog
standard function which should us used to copy default parameters into the dialog controls.

Specified by:
restoreDefaultSettings in class PamDialog