Class ThresholdDetectorProcess
java.lang.Object
PamguardMVC.PamProcess
likelihoodDetectionModule.thresholdDetector.ThresholdDetectorProcess
- All Implemented Interfaces:
PamObserver
,ProcessAnnotator
This PamProcess is the main maximum likelihood threshold detector logic.
Its main features are: Initial signal/noise thresholding, secondary signal->guard band thresholding, and
limiting the number of detections (per channel) by forcing a configurable amount of time to pass between
consecutive detections.
The output data are derivatives of PamDetection, and the data is logged to an SQL database as well (if the
user has configured one).
- Author:
- Dave Flogeras
-
Constructor Summary
ConstructorDescriptionThresholdDetectorProcess
(LikelihoodDetectionUnit ldu, String targetIdentifier, double estimatedPeakTimeAccuracy, PamDataBlock signalEstimate, double secondsBetweenDetections, ArrayList<SignalBand> signalBands, ArrayList<GuardBand> guardBands) Constructor -
Method Summary
Modifier and TypeMethodDescriptionlong
void
newData
(PamObservable o, PamDataUnit arg) 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
Called for each process before any of them receive the PamStart commandvoid
setSampleRate
(float sampleRate, boolean notify) New sample rateMethods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addData, addMultiPlexDataBlock, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, dumpBufferStatus, flushDataBlockBuffers, getAncestorDataBlock, getAnnotation, getChainPosition, getCompatibleDataUnits, getCpuPercent, getFrequencyRange, getLastSourceNotificationObject, getLastSourceNotificationType, getMuiltiplexDataBlock, getNumAnnotations, getNumMuiltiplexDataBlocks, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentDataBlocks, getParentProcess, getProcessCheck, getRawSourceDataBlock, getRawSourceDataBlock, getSampleRate, getSourceDataBlock, getSourceProcess, hasOutputDatablock, isCanMultiThread, isExternalProcess, isMultiplex, makePamProcess, masterClockUpdate, noteNewSettings, notifyModelChanged, prepareProcessOK, processNewBuoyData, receiveSourceNotification, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeAllMultiPlexDataBlocks, removeMultiPlexDataBlock, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setExternalProcess, setMultiplex, setParentDataBlock, setParentDataBlock, setProcessCheck, setProcessName, setupProcess, toString, updateData
-
Constructor Details
-
ThresholdDetectorProcess
public ThresholdDetectorProcess(LikelihoodDetectionUnit ldu, String targetIdentifier, double estimatedPeakTimeAccuracy, PamDataBlock signalEstimate, double secondsBetweenDetections, ArrayList<SignalBand> signalBands, ArrayList<GuardBand> guardBands) Constructor- Parameters:
ldu
- Parent moduletargetIdentifier
- The free form string (user defined) describing the overall target.estimatedPeakTimeAccuracy
-signalEstimate
- The input data blocksecondsBetweenDetections
- The time, in seconds, that must pass between detections on a channel.signalBands
- List of all defined signal bands, must contain at least one.guardBands
- List of all defined noise bands, can be empty.
-
-
Method Details
-
pamStart
public void pamStart()Description copied from class:PamProcess
Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).- Specified by:
pamStart
in classPamProcess
-
pamStop
public void pamStop()Description copied from class:PamProcess
Stops the process.- Specified by:
pamStop
in classPamProcess
-
newData
- Overrides:
newData
in classPamProcess
-
getProcessName
- Overrides:
getProcessName
in classPamProcess
- Returns:
- Name of the PamProcess
-
prepareProcess
public void prepareProcess()Description copied from class:PamProcess
Called for each process before any of them receive the PamStart command- Overrides:
prepareProcess
in classPamProcess
-
getRequiredDataHistory
- Specified by:
getRequiredDataHistory
in interfacePamObserver
- Overrides:
getRequiredDataHistory
in classPamProcess
- Parameters:
arg
- optional argument from PamObservable- Returns:
- time in milliseconds required by data held in PamObservable
-
setSampleRate
public void setSampleRate(float sampleRate, boolean notify) Description copied from interface:PamObserver
New sample rate- Specified by:
setSampleRate
in interfacePamObserver
- Overrides:
setSampleRate
in classPamProcess
- Parameters:
notify
- Notify other PamObservers and PamObservables in the chain.
-