public class WhistleClassifierControl extends PamControlledUnit implements PamSettings
Two main run modes / Three main tasks.
While running PAMGUARD, the classifier can either accumulate contours in training data files, or it can run a species classifier.
While PAMGUARD is idle, the user can run the training dialog which will take a set of training contours for various species and use them to tune a classifier.
The output from the classifier training is held in the normal module settings (in the psg files), but there is a facility for the specific training data to be exported to other files so that they can be loaded separately into different PAMGUARD configurations.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
classifierFileEnd
File end for whistle classifier data (i.e.
|
static java.lang.String |
trainingFileEnd
File end for training data (contour) files
|
Constructor and Description |
---|
WhistleClassifierControl(java.lang.String unitName) |
Modifier and Type | Method and Description |
---|---|
javax.swing.JMenuItem |
createDetectionMenu(java.awt.Frame parentFrame)
Create a JMenu object containing MenuItems associated with PamProcesses
|
Classifier |
getFragmentClassifier() |
FragmentParameteriser |
getFragmentParameteriser() |
java.io.Serializable |
getSettingsReference() |
long |
getSettingsVersion() |
PamTabPanel |
getTabPanel()
Gets a reference to a panel to be added to a view
|
WhistleClassificationParameters |
getWhistleClassificationParameters() |
WhistleClassifierProcess |
getWhistleClassifierProcess() |
WhistleFragmenter |
getWhistleFragmenter() |
FragmentClassifierParams |
loadFragmentClassifierParams(java.awt.Frame frame,
WhistleClassificationParameters whistleClassificationParameters) |
void |
notifyModelChanged(int changeType)
General notification when the PAMGAURD model changes.
|
void |
pamHasStopped()
Called for all controlled units after Pam acquisition has stopped
|
boolean |
restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) |
boolean |
saveClassifierParams(java.awt.Window frame,
FragmentClassifierParams params)
Save a set of classifier params.
|
void |
setFragmentClassifier(Classifier fragmentClassifier) |
void |
setFragmentParameteriser(FragmentParameteriser fragmentParameteriser) |
void |
settingsDialog(java.awt.Frame parentFrame) |
void |
setWhistleClassificationParameters(WhistleClassificationParameters whistleClassificationParameters) |
void |
setWhistleFragmenter(WhistleFragmenter whistleFragmenter) |
void |
updateClassification(boolean ok)
called from the Classification Process whenever the statistical model has run
|
addOfflineTaskGroup, addOtherRelatedMenuItems, addPamProcess, addRelatedMenuItems, addXMLParameter, addXMLParameter, addXMLParameter, addXMLParameter, canClose, canPlayViewerSound, createDisplayMenu, createFileMenu, createHelpMenu, fillXMLElement, flushDataBlockBuffers, getFrameNumber, getGuiFrame, getModuleSummary, getNumOfflineTaskGroups, getNumPamProcesses, getOfflineTaskGroup, getPamController, getPamModuleInfo, getPamProcess, getPamView, getShortUnitType, getSidePanel, getTabClipCopier, getTabSpecificMenuBar, getToolbarComponent, getUnitName, getUnitType, getVerboseLevel, gotoTab, isViewer, pamClose, pamToStart, playViewerSound, removePamProcess, removeUnit, rename, saveViewerData, setFrameNumber, setPamController, setPamModuleInfo, setPamView, setSidePanel, setTabPanel, setupControlledUnit, stopViewerSound, terminalPrint, terminalPrintln, toString
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getUnitName, getUnitType
public static final java.lang.String trainingFileEnd
public static final java.lang.String classifierFileEnd
public WhistleClassifierControl(java.lang.String unitName)
public WhistleClassifierProcess getWhistleClassifierProcess()
public javax.swing.JMenuItem createDetectionMenu(java.awt.Frame parentFrame)
PamControlledUnit
createDetectionMenu
in class PamControlledUnit
parentFrame
- The owner frame of the menuNote that if multiple views are to use the same menu, then they should each create a new menu (by setting Create to true) the first time they call this method.
public void settingsDialog(java.awt.Frame parentFrame)
public void pamHasStopped()
PamControlledUnit
pamHasStopped
in class PamControlledUnit
public void notifyModelChanged(int changeType)
PamControlledUnit
notifyModelChanged
in class PamControlledUnit
changeType
- type of changepublic PamTabPanel getTabPanel()
PamControlledUnit
getTabPanel
in class PamControlledUnit
PamTabPanel
,
PamSidePanel
public void updateClassification(boolean ok)
ok
- public java.io.Serializable getSettingsReference()
getSettingsReference
in interface PamSettings
public long getSettingsVersion()
getSettingsVersion
in interface PamSettings
public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
restoreSettings
in interface PamSettings
public boolean saveClassifierParams(java.awt.Window frame, FragmentClassifierParams params)
params
- parameters to savepublic FragmentClassifierParams loadFragmentClassifierParams(java.awt.Frame frame, WhistleClassificationParameters whistleClassificationParameters)
public void setWhistleFragmenter(WhistleFragmenter whistleFragmenter)
whistleFragmenter
- the whistleFragmenter to setpublic WhistleFragmenter getWhistleFragmenter()
public void setWhistleClassificationParameters(WhistleClassificationParameters whistleClassificationParameters)
whistleClassificationParameters
- the whistleClassificationParameters to setpublic WhistleClassificationParameters getWhistleClassificationParameters()
public FragmentParameteriser getFragmentParameteriser()
public void setFragmentParameteriser(FragmentParameteriser fragmentParameteriser)
public void setFragmentClassifier(Classifier fragmentClassifier)
fragmentClassifier
- the fragmentClassifier to setpublic Classifier getFragmentClassifier()