public class DifarProcess extends PamProcess
Constructor and Description |
---|
DifarProcess(DifarControl difarControl) |
Modifier and Type | Method and Description |
---|---|
void |
cancelAutoSaveTimer() |
void |
clearOldData()
Clears all data from all output data blocks of this process.
|
double[] |
createMaxAngleSummary(DifarDataUnit difarDataUnit,
double[] freqRange)
Create a summary of angles with maximum DIFAR level for each frequency
|
double[] |
createSummaryLine(DifarDataUnit difarDataUnit,
double[] freqRange)
Create a single line summary of DIFAR level against angle within a selected frequency range
|
double |
difarGridToDegrees(DifarDataUnit difarDataUnit,
double difarGridPos)
Convert a point on the difar grid to an angle in degrees.
|
double |
difarGridToFrequency(DifarDataUnit difarDataUnit,
double gridPos) |
double |
difarGridToFrequency(int nFreqPoints,
double niquist,
double gridPos)
convert a difar grid position to a freqeuncy.
|
void |
difarTrigger(int channelMap,
long signalStartMillis,
long durationMillis,
double[] f,
PamDetection pamDetection,
double displaySampleRate,
java.lang.String triggerSpeciesName,
java.lang.String triggerDataBlockName)
Called when there is a trigger caused whether by a detection or by a mark being made on the spectrogram.
|
DifarDataUnit |
doBuoyCalibration(int buoyCalibrationChannel,
long endSample)
Grab a clip for the latest buoy calibration data.
|
void |
estimateTrackedGroup(DifarDataUnit difarDataUnit)
Match the selected bearing to the nearest mean-bearing to a group, and
Make sure that the matching group is highlighted in the groups panel.
|
void |
finalProcessing(DifarDataUnit difarDataUnit)
Do any final processing of the DIFAR data unit and add it
to the datablock.
|
javax.swing.Timer |
getAutoSaveTimer() |
CalibrationHistogram |
getCalCorrectionHistogram(int channel)
Get the calibration true bearing histogram for a channel.
|
CalibrationProcess |
getCalibrationProcess(int channel)
Get the calibration sub-process for a specific channel.
|
CalibrationHistogram |
getCalTrueBearingHistogram(int channel)
Get the calibration true bearing histogram for a channel.
|
DIFARCrossingInfo |
getDifarRangeInfo(DifarDataUnit difarDataUnit)
Called just before a difar unit is stored.
|
int |
getNumTriggers() |
DifarDataBlock |
getProcessedDifarData() |
DifarDataBlock |
getQueuedDifarData() |
long |
getRequiredDataHistory(PamObservable o,
java.lang.Object arg) |
void |
newData(PamObservable o,
PamDataUnit arg) |
void |
notifyModelChanged(int changeType) |
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 |
processDifarUnit(DifarDataUnit difarDataUnit,
difar.DifarProcess.DifarDemuxWorker demuxWorker)
Process a queued data unit - in normal operation, this involves
first demuxing and decimating the data in order to get the waveforms
for the three sensors, then calculating the difargram.
|
void |
queueDemuxProcess(DifarDataUnit difarDataUnit)
Send a difar unit off for processing in a worker thread.
|
void |
setAutoSaveTimer(difar.DifarProcess.AutoSaveTimer autoSaveTimer) |
void |
setDataKeepTimes() |
void |
setupProcess()
called for every process once the systemmodel has been created.
|
void |
startBuoyCalibration(int channel)
Start a buoy calibration on a specified channel
|
void |
subscribeDataBlocks()
Look through the list of data blocks that could contain DIFAR
detections, and subscribe to them according to the difarParameters
|
absMillisecondsToSamples, absSamplesToMilliseconds, addOutputDataBlock, changedThreading, createAnnotations, destroyProcess, fillXMLElement, flushDataBlockBuffers, getAncestorDataBlock, getAnnotation, getChainPosition, getCpuPercent, getNumAnnotations, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentProcess, getProcessName, getRawSourceDataBlock, getSampleRate, getSourceDataBlock, getSourceProcess, isCanMultiThread, makePamProcess, masterClockUpdate, noteNewSettings, prepareProcess, processNewBuoyData, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setParentDataBlock, setParentDataBlock, setProcessName, setSampleRate, toString, update, updateData
public DifarProcess(DifarControl difarControl)
public void newData(PamObservable o, PamDataUnit arg)
newData
in class PamProcess
public void queueDemuxProcess(DifarDataUnit difarDataUnit)
difarDataUnit
- public void processDifarUnit(DifarDataUnit difarDataUnit, difar.DifarProcess.DifarDemuxWorker demuxWorker)
This is called from within a SwingWorker thread, and can call back through that SwingWorker to update on progress.
difarDataUnit
- demuxWorker
- public void estimateTrackedGroup(DifarDataUnit difarDataUnit)
difarDataUnit
- public double difarGridToDegrees(DifarDataUnit difarDataUnit, double difarGridPos)
difarDataUnit2
- difarGridPos
- position on Grid (double since may interpolate)public double difarGridToFrequency(DifarDataUnit difarDataUnit, double gridPos)
difarDataUnit
- difar data unit.gridPos
- grid positionpublic double difarGridToFrequency(int nFreqPoints, double niquist, double gridPos)
nFreqPoints
- number of frequency points in the gridniquist
- niquist frequency for the decimated datagridPos
- grid positionpublic double[] createSummaryLine(DifarDataUnit difarDataUnit, double[] freqRange)
difarDataUnit
- freqRange
- public double[] createMaxAngleSummary(DifarDataUnit difarDataUnit, double[] freqRange)
difarDataUnit
- freqRange
- 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 startBuoyCalibration(int channel)
channel
- channel numberpublic DifarDataUnit doBuoyCalibration(int buoyCalibrationChannel, long endSample)
buoyCalibrationChannel2
- public void setupProcess()
PamProcess
setupProcess
in class PamProcess
public void subscribeDataBlocks()
public int getNumTriggers()
public void pamStart()
PamProcess
pamStart
in class PamProcess
public void pamStop()
PamProcess
pamStop
in class PamProcess
public javax.swing.Timer getAutoSaveTimer()
public void setDataKeepTimes()
public void clearOldData()
PamProcess
clearOldData
in class PamProcess
public void difarTrigger(int channelMap, long signalStartMillis, long durationMillis, double[] f, PamDetection pamDetection, double displaySampleRate, java.lang.String triggerSpeciesName, java.lang.String triggerDataBlockName)
channel
- (for detections)signalStartMillis
- start time in millisecondsdurationMillis
- duration in millisecondsf1
- min frequencyf2
- max frequencypamDetection
- associated detection (null for spectrogram marks).triggerSpeciesName
- triggerDataBlockName
- upperFreq
- public DifarDataBlock getQueuedDifarData()
public DifarDataBlock getProcessedDifarData()
public void notifyModelChanged(int changeType)
notifyModelChanged
in class PamProcess
public void finalProcessing(DifarDataUnit difarDataUnit)
difarDataUnit
- DIFAR data unitpublic DIFARCrossingInfo getDifarRangeInfo(DifarDataUnit difarDataUnit)
difarDataUnit
- public CalibrationProcess getCalibrationProcess(int channel)
channel
- public CalibrationHistogram getCalTrueBearingHistogram(int channel)
channel
- channel number (0 - 31)public CalibrationHistogram getCalCorrectionHistogram(int channel)
channel
- channel number (0 - 31)public void cancelAutoSaveTimer()
public void setAutoSaveTimer(difar.DifarProcess.AutoSaveTimer autoSaveTimer)