Package difar.trackedGroups
Class TrackedGroupProcess
java.lang.Object
PamguardMVC.PamProcess
difar.trackedGroups.TrackedGroupProcess
- All Implemented Interfaces:
PamObserver
,ProcessAnnotator
Subscribe to DifarDataBlocks and assign new bearings to groups of whales
- Author:
- Brian Miller
-
Constructor Summary
ConstructorDescriptionTrackedGroupProcess
(DifarControl difarControl, PamDataBlock parentDataBlock, String processName) -
Method Summary
Modifier and TypeMethodDescriptiongetDifarRangeInfo
(TrackedGroupDataUnit trackedGroupDataUnit) Called just before a difar unit is stored.void
newData
(PamObservable o, PamDataUnit dataUnit) Check if a group already exists, and if so add the data to that group.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.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, prepareProcess, prepareProcessOK, processNewBuoyData, receiveSourceNotification, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeAllMultiPlexDataBlocks, removeMultiPlexDataBlock, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setExternalProcess, setMultiplex, setParentDataBlock, setParentDataBlock, setProcessCheck, setProcessName, setSampleRate, setupProcess, toString, updateData
-
Constructor Details
-
TrackedGroupProcess
public TrackedGroupProcess(DifarControl difarControl, PamDataBlock parentDataBlock, String processName)
-
-
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
-
getTrackedGroups
-
newData
Check if a group already exists, and if so add the data to that group. Otherwise create a new group.- Overrides:
newData
in classPamProcess
-
getDifarRangeInfo
Called just before a difar unit is stored. Looks at other channels that have recently had a data unit stored and decides whether or not they are likely to be the same vocalisation. If they are, calculate a crossed bearing to them both. If > 2 channels do some kind of optimised fit.- Parameters:
trackedGroupDataUnit
-- Returns:
- information about the range (will already have been put into affected units)
-