public class WhistleClassifierProcess extends PamProcess
Receives whistles from either whistle detector. Fragments them and either stores the fragments for later training or builds up information on many fragments and then classifies when it's got enough.
Keeps a list or recent whistle times so that it can clear the store if the whistle rate drops too low.
Constructor and Description |
---|
WhistleClassifierProcess(WhistleClassifierControl whistleClassifierControl) |
Modifier and Type | Method and Description |
---|---|
void |
checkLoggingTables()
Called whenever settings / species list changes to ensure that
database table columns match the species list in use.
|
void |
clearFragmentStore(long clearTime) |
void |
closeTrainingStore() |
FragmentStore |
getFragmentStore() |
boolean |
isTraining()
Flag to say that it's in the process of collecting training data.
|
void |
masterClockUpdate(long timeMilliseconds,
long sampleNumber) |
void |
newData(PamObservable o,
PamDataUnit arg) |
void |
pamHasStopped() |
void |
pamStart()
Called for each process to tell it to start (may not be necessary for
processes which are listening for data anyway).
|
void |
pamStop()
Stops the process.
|
void |
prepareTrainingStore() |
void |
prepareTrainingStore(java.lang.String nameBit,
java.lang.String wavFolder) |
void |
resetClassifier()
Called when reprocessing offline.
|
boolean |
runClassification(long timeMillis)
Run the classification model.
|
void |
runTimingFunctions(long timeMilliseconds) |
void |
setSampleRate(float sampleRate,
boolean notify)
New sample rate
|
void |
setupLogging()
Called after settings read in so that
correct table can be created.
|
void |
writeTrainingStoreData() |
absMillisecondsToSamples, absSamplesToMilliseconds, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, fillXMLElement, flushDataBlockBuffers, getAncestorDataBlock, getAnnotation, getChainPosition, getCpuPercent, getNumAnnotations, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentProcess, getProcessName, getRawSourceDataBlock, getRequiredDataHistory, getSampleRate, getSourceDataBlock, getSourceProcess, isCanMultiThread, makePamProcess, noteNewSettings, notifyModelChanged, prepareProcess, processNewBuoyData, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setParentDataBlock, setParentDataBlock, setProcessName, setupProcess, toString, update, updateData
public WhistleClassifierProcess(WhistleClassifierControl whistleClassifierControl)
public void setupLogging()
public void checkLoggingTables()
public void setSampleRate(float sampleRate, boolean notify)
PamObserver
setSampleRate
in interface PamObserver
setSampleRate
in class PamProcess
notify
- Notify other PamObservers and PamObservables in the chain.public boolean isTraining()
public void pamStart()
PamProcess
pamStart
in class PamProcess
public void pamHasStopped()
public void pamStop()
PamProcess
pamStop
in class PamProcess
public void prepareTrainingStore()
public void prepareTrainingStore(java.lang.String nameBit, java.lang.String wavFolder)
public void writeTrainingStoreData()
public void closeTrainingStore()
public void masterClockUpdate(long timeMilliseconds, long sampleNumber)
masterClockUpdate
in interface PamObserver
masterClockUpdate
in class PamProcess
public void newData(PamObservable o, PamDataUnit arg)
newData
in class PamProcess
public void runTimingFunctions(long timeMilliseconds)
public void resetClassifier()
public void clearFragmentStore(long clearTime)
public boolean runClassification(long timeMillis)
public FragmentStore getFragmentStore()