public class ClickDetector extends PamProcess
Observes a raw data block, filters and thresholds the data to create Click objects
ClickDetection
Modifier and Type | Class and Description |
---|---|
class |
ClickDetector.ChannelGroupDetector |
Constructor and Description |
---|
ClickDetector(ClickControl clickControl) |
Modifier and Type | Method and Description |
---|---|
void |
closeOutputFile() |
void |
createFilters() |
ClickDetector.ChannelGroupDetector |
findChannelGroupDetector(int channelBitmap) |
boolean |
flushDataBlockBuffers(long maxWait)
Work through all the output datablocks and wait for their
internal buffers to flush through.
|
ClickDetector.ChannelGroupDetector |
getChannelGroupDetector(int i) |
ClickBinaryDataSource |
getClickBinaryDataSource() |
ClickControl |
getClickControl() |
long |
getClickCount() |
ClickDataBlock |
getClickDataBlock() |
Correlations |
getCorrelations() |
FFTFilter |
getFFTFilter(FFTFilterParams fftFilterParams)
Get an FFT filter, mainly used to generate filtered waveforms within click detections.
|
PamRawDataBlock[] |
getFilteredDataBlocks() |
Hilbert |
getHilbert() |
int |
getnChannelGroups() |
OfflineEventDataBlock |
getOfflineEventDataBlock() |
OfflineEventLogging |
getOfflineEventLogging() |
PamDataBlock<ClickDetection> |
getOutputClickData() |
long |
getRequiredDataHistory(PamObservable o,
java.lang.Object arg) |
long |
getSamplesProcessed() |
long |
getStartTimeMillis() |
PamDataBlock<ClickDetection> |
getTrackedClicks() |
PamDataBlock<TriggerLevelDataUnit> |
getTriggerDataBlock() |
ClickTriggerFunctionDataBlock |
getTriggerFunctionDataBlock() |
void |
masterClockUpdate(long timeMilliseconds,
long sampleNumber) |
void |
newData(PamObservable obs,
PamDataUnit newData) |
void |
newParameters() |
void |
notifyArrayChanged() |
boolean |
openOutputFile(boolean doHeader) |
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 |
prepareProcess()
Called for each process before any of them receive the PamStart command
|
void |
processNewBuoyData(BuoyStatusDataUnit buoyStatus,
PamDataUnit dataUnit) |
boolean |
reWriteClick(ClickDetection click,
boolean waveformToo) |
void |
secondTimer(long sampleNumber) |
void |
setSampleRate(float sampleRate,
boolean notify)
New sample rate
|
void |
setupProcess()
called for every process once the systemmodel has been created.
|
boolean |
wantClick(ClickDetection click,
ClickIdInformation idInfo)
Return true if the click should be processed and stored.
|
absMillisecondsToSamples, absSamplesToMilliseconds, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, fillXMLElement, getAncestorDataBlock, getAnnotation, getChainPosition, getCpuPercent, getNumAnnotations, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentProcess, getProcessName, getRawSourceDataBlock, getSampleRate, getSourceDataBlock, getSourceProcess, isCanMultiThread, makePamProcess, noteNewSettings, notifyModelChanged, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setParentDataBlock, setParentDataBlock, setProcessName, toString, update, updateData
public ClickDetector(ClickControl clickControl)
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 void setupProcess()
PamProcess
setupProcess
in class PamProcess
public void createFilters()
public void newParameters()
public ClickDataBlock getClickDataBlock()
public OfflineEventDataBlock getOfflineEventDataBlock()
public long getRequiredDataHistory(PamObservable o, java.lang.Object arg)
getRequiredDataHistory
in interface PamObserver
getRequiredDataHistory
in class PamProcess
o
- PamObservable class requiring the dataarg
- optional argument from PamObservablepublic void secondTimer(long sampleNumber)
public void newData(PamObservable obs, PamDataUnit newData)
newData
in class PamProcess
public void masterClockUpdate(long timeMilliseconds, long sampleNumber)
masterClockUpdate
in interface PamObserver
masterClockUpdate
in class PamProcess
public void prepareProcess()
PamProcess
prepareProcess
in class PamProcess
public void pamStart()
PamProcess
pamStart
in class PamProcess
public void processNewBuoyData(BuoyStatusDataUnit buoyStatus, PamDataUnit dataUnit)
processNewBuoyData
in class PamProcess
public boolean openOutputFile(boolean doHeader)
public void closeOutputFile()
public void pamStop()
PamProcess
pamStop
in class PamProcess
public long getStartTimeMillis()
public boolean reWriteClick(ClickDetection click, boolean waveformToo)
public ClickControl getClickControl()
public long getSamplesProcessed()
public long getClickCount()
public PamDataBlock<TriggerLevelDataUnit> getTriggerDataBlock()
public PamDataBlock<ClickDetection> getOutputClickData()
public boolean flushDataBlockBuffers(long maxWait)
PamProcess
This is used when stopping PAMGUARD to ensure that all data complete processing before anything else happens.
flushDataBlockBuffers
in class PamProcess
maxWait
- maxWait time in milliseconds.public boolean wantClick(ClickDetection click, ClickIdInformation idInfo)
If there is no online classification, we want everything If there is classification, but we've not told it to discard, etc
click
- idInfo
- public PamRawDataBlock[] getFilteredDataBlocks()
public ClickTriggerFunctionDataBlock getTriggerFunctionDataBlock()
public PamDataBlock<ClickDetection> getTrackedClicks()
public Hilbert getHilbert()
public void notifyArrayChanged()
public ClickDetector.ChannelGroupDetector findChannelGroupDetector(int channelBitmap)
public ClickBinaryDataSource getClickBinaryDataSource()
public FFTFilter getFFTFilter(FFTFilterParams fftFilterParams)
fftFilterParams
- public Correlations getCorrelations()
public int getnChannelGroups()
public ClickDetector.ChannelGroupDetector getChannelGroupDetector(int i)
public OfflineEventLogging getOfflineEventLogging()