|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectPamguardMVC.PamProcess
whistleDetector.WhistleDetector
public class WhistleDetector
Re-implementation of the IFAW 2003 whistle detector
Uses the PeakDetector and WhistleLinker to do the actual work
| Field Summary | |
|---|---|
(package private) long |
currentSample
|
(package private) AcquisitionProcess |
daqProcess
|
(package private) DetectionGroupLocaliser |
detectionGroupLocaliser
|
(package private) WhistleEventDetector |
eventDetector
|
(package private) FFTDataBlock |
fftDataBlock
|
(package private) int |
fftHop
|
(package private) int |
fftLength
|
private int |
nChannelGroups
|
(package private) PamDataBlock<PeakDataUnit> |
peakDataBlock
|
(package private) PeakDetector[] |
peakDetectors
|
private int |
peakDetectorType
|
(package private) FFTDataBlock |
supressedSpectrogram
|
(package private) WhistleControl |
whistleControl
|
(package private) AbstractWhistleDataBlock |
whistleDataBlock
|
(package private) WhistleLinker[] |
whistleLinkers
|
(package private) PamDataBlock<WhistleGroupDetection> |
whistleLocations
Cross channel grouping. |
| Fields inherited from class PamguardMVC.PamProcess |
|---|
outputDataBlocks, processName, sampleRate |
| Constructor Summary | |
|---|---|
WhistleDetector(WhistleControl whistleControl)
|
|
| Method Summary | |
|---|---|
double |
binsToHz(int nFrequencyBins)
Convert a number of frequency bins in the spectrgram matrix to a frequency in Hz. |
double |
binsToSeconds(int nTimeBins)
Convert a number of time bins in the spectrgram matris to a a time in seconds |
private void |
buildDetectors()
|
(package private) ShapeDataUnit |
crossChannelLink(ShapeDataUnit newUnit)
|
private void |
destroyDetectors()
|
void |
destroyProcess()
Called from the PamControlled unit when a PamControlled unit is removed from the model. |
FFTDataBlock |
getFftDataBlock()
|
int |
getFftHop()
|
int |
getFftLength()
|
(package private) double |
getFOverlap(ShapeDataUnit w1,
ShapeDataUnit w2)
|
long |
getRequiredDataHistory(PamObservable o,
java.lang.Object arg)
|
(package private) double |
getTOverlap(ShapeDataUnit w1,
ShapeDataUnit w2)
|
WhistleControl |
getWhistleControl()
|
int |
hzToBins(double frequency)
|
private boolean |
isGoodWhistle(WhistleShape newWhistle)
|
private boolean |
localiseWhistle(ShapeDataUnit shapeDataUnit)
sorts out the bearing(s) for a single whistle (any number of close together channels) |
void |
newData(PamObservable obs,
PamDataUnit obj)
|
(package private) boolean |
newWhistleEmbryo(WhistleShape newWhistle,
int groupChannels,
int detectionChannel)
|
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. |
private void |
prepareEqualisedSpectrumData(FFTDataUnit fftData,
double[] background)
|
void |
prepareProcess()
Called for each process before any of them receive the PamStart command |
void |
setSampleRate(float sampleRate,
boolean notify)
New sample rate |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
WhistleControl whistleControl
PeakDetector[] peakDetectors
WhistleLinker[] whistleLinkers
WhistleEventDetector eventDetector
PamDataBlock<PeakDataUnit> peakDataBlock
AbstractWhistleDataBlock whistleDataBlock
FFTDataBlock supressedSpectrogram
PamDataBlock<WhistleGroupDetection> whistleLocations
AcquisitionProcess daqProcess
FFTDataBlock fftDataBlock
int fftLength
int fftHop
long currentSample
private int nChannelGroups
DetectionGroupLocaliser detectionGroupLocaliser
private int peakDetectorType
| Constructor Detail |
|---|
public WhistleDetector(WhistleControl whistleControl)
whistleControl - reference ot a WhistleControl PamControlledUnit pamguard plug-in| Method Detail |
|---|
private void buildDetectors()
private void destroyDetectors()
public void destroyProcess()
PamProcess
destroyProcess in class PamProcess
public void setSampleRate(float sampleRate,
boolean notify)
PamObserver
setSampleRate in interface PamObserversetSampleRate in class PamProcessnotify - Notify other PamObservers and PamObservables in the chain.
public void newData(PamObservable obs,
PamDataUnit obj)
newData in class PamProcess
private void prepareEqualisedSpectrumData(FFTDataUnit fftData,
double[] background)
public long getRequiredDataHistory(PamObservable o,
java.lang.Object arg)
getRequiredDataHistory in interface PamObservergetRequiredDataHistory in class PamProcesso - PamObservable class requiring the dataarg - optional argument from PamObservable
boolean newWhistleEmbryo(WhistleShape newWhistle,
int groupChannels,
int detectionChannel)
private boolean isGoodWhistle(WhistleShape newWhistle)
private boolean localiseWhistle(ShapeDataUnit shapeDataUnit)
shapeDataUnit -
ShapeDataUnit crossChannelLink(ShapeDataUnit newUnit)
double getTOverlap(ShapeDataUnit w1,
ShapeDataUnit w2)
double getFOverlap(ShapeDataUnit w1,
ShapeDataUnit w2)
public void prepareProcess()
PamProcess
prepareProcess in class PamProcesspublic void pamStart()
PamProcess
pamStart in class PamProcesspublic void pamStop()
PamProcess
pamStop in class PamProcesspublic double binsToHz(int nFrequencyBins)
nFrequencyBins - number of frequency bins
public int hzToBins(double frequency)
public double binsToSeconds(int nTimeBins)
nTimeBins - number of time bins
public int getFftHop()
public int getFftLength()
public WhistleControl getWhistleControl()
public FFTDataBlock getFftDataBlock()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||