Package IshmaelDetector
Class SgramCorrProcess
java.lang.Object
PamguardMVC.PamProcess
IshmaelDetector.IshDetFnProcess
IshmaelDetector.SgramCorrProcess
- All Implemented Interfaces:
PamObserver
,ProcessAnnotator
This implements the spectrogram correlation detector.
See Mellinger and Clark, J. Acoust. Soc. Am. 107(6):3518-3529 (2000).
- Author:
- Dave Mellinger and Hisham Qayum
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Information specific to each channel. -
Constructor Summary
ConstructorDescriptionSgramCorrProcess
(SgramCorrControl sgramCorrControl, PamDataBlock parentDataBlock) -
Method Summary
Modifier and TypeMethodDescriptionfloat
float
float
double
gramDotProd
(double[][] ker, double[][] gram, int startI) double
hat
(double x) The derivative of the Gaussian function -- i.e., the 'Mexican hat' function -- with mean 0 and variance 1.void
makeKernel
(SgramCorrParams p, double sRate, double fRate, int gramHeight) Create a spectrogram correlation kernel.void
newData
(PamObservable o, PamDataUnit arg1) void
pamStart()
Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).void
Methods inherited from class IshmaelDetector.IshDetFnProcess
getChannelMap, getInputDataBlock, getOutputDataBlock, getOutputDataUnit, pamStop, prepareProcess, setSampleRate, setupConnections
Methods 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, getProcessName, getRawSourceDataBlock, getRawSourceDataBlock, getRequiredDataHistory, 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
-
SgramCorrProcess
-
-
Method Details
-
getLongName
- Specified by:
getLongName
in classIshDetFnProcess
-
getNumberName
-
inputDataClass
- Specified by:
inputDataClass
in classIshDetFnProcess
-
getDetSampleRate
public float getDetSampleRate()- Specified by:
getDetSampleRate
in classIshDetFnProcess
-
makeKernel
Create a spectrogram correlation kernel.- Parameters:
SgramCorrParams
- p -- defines what the kernel is shaped likedouble
- sRate -- sample ratedouble
- fRate -- frame rate of the spectrogram (slices/s)int
- gramHeight -- in cells; equal to FFT size / 2
-
getHiFreq
public float getHiFreq()- Specified by:
getHiFreq
in classIshDetFnProcess
- Returns:
- the highest frequency of the detection - e.g. sampleRate/2 or the upper bound of the detection kernel
-
getLoFreq
public float getLoFreq()- Specified by:
getLoFreq
in classIshDetFnProcess
- Returns:
- the lowest frequency of the detection - e.g. 0 or the lower bound of the detection kernel
-
hat
public double hat(double x) The derivative of the Gaussian function -- i.e., the 'Mexican hat' function -- with mean 0 and variance 1. -
newData
- Overrides:
newData
in classPamProcess
-
gramDotProd
public double gramDotProd(double[][] ker, double[][] gram, int startI) -
renewPerChannelInfo
public void renewPerChannelInfo() -
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).- Overrides:
pamStart
in classIshDetFnProcess
-