Package Azigram
Class AzigramProcess
java.lang.Object
PamguardMVC.PamProcess
Azigram.AzigramProcess
- All Implemented Interfaces:
PamObserver
,ProcessAnnotator
Azigram process will take FFT data from a DIFAR sonobuoy source, demux, and
then compute Azigram (Thode et al 2019 JASA).
NB: This module uses SpectrogramNoiseProcess as a template since they both
take FFT data as input, modify it, and spit out the modified FFT data
in a package that is fit for purpose for display on spectrogram.
- Author:
- brian_mil
-
Constructor Summary
ConstructorDescriptionAzigramProcess
(PamControlledUnit pamControlledUnit, FFTDataBlock parentDataBlock) -
Method Summary
Modifier and TypeMethodDescriptiongetAnnotation
(PamDataBlock pamDataBlock, int annotation) Get an AnnotationA list of data block class types which are compatible as parent data blocks for the PamProcess.An AzigramProcess has one input stream.int
getNumAnnotations
(PamDataBlock pamDataBlock) int
getOfflineData
(OfflineDataLoadInfo offlineLoadDataInfo) void
void
masterClockUpdate
(long milliSeconds, long sampleNumber) As per decimator modulevoid
newData
(PamObservable o, PamDataUnit arg) 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
Called for each process before any of them receive the PamStart commandvoid
setSampleRate
(float sampleRate, boolean notify) Copied from decimatorW modulevoid
called for every process once the systemmodel has been created.Methods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addData, addMultiPlexDataBlock, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, dumpBufferStatus, flushDataBlockBuffers, getAncestorDataBlock, getChainPosition, getCpuPercent, getFrequencyRange, getLastSourceNotificationObject, getLastSourceNotificationType, getMuiltiplexDataBlock, getNumMuiltiplexDataBlocks, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOutputDataBlock, getOutputDataBlocks, getPamControlledUnit, getParentDataBlock, getParentDataBlocks, getParentProcess, getProcessCheck, getProcessName, getRawSourceDataBlock, getRawSourceDataBlock, getRequiredDataHistory, getSampleRate, getSourceDataBlock, getSourceProcess, hasOutputDatablock, isCanMultiThread, isExternalProcess, isMultiplex, makePamProcess, noteNewSettings, notifyModelChanged, prepareProcessOK, processNewBuoyData, receiveSourceNotification, relMillisecondsToSamples, relSamplesToMilliseconds, removeAllDataBlocks, removeAllMultiPlexDataBlocks, removeMultiPlexDataBlock, removeObservable, removeOutputDatablock, resetDataBlocks, saveViewerData, setCanMultiThread, setExternalProcess, setMultiplex, setParentDataBlock, setParentDataBlock, setProcessCheck, setProcessName, toString, updateData
-
Constructor Details
-
AzigramProcess
-
-
Method Details
-
setSampleRate
public void setSampleRate(float sampleRate, boolean notify) Copied from decimatorW module- Specified by:
setSampleRate
in interfacePamObserver
- Overrides:
setSampleRate
in classPamProcess
- Parameters:
notify
- Notify other PamObservers and PamObservables in the chain.
-
masterClockUpdate
public void masterClockUpdate(long milliSeconds, long sampleNumber) As per decimator module- Specified by:
masterClockUpdate
in interfacePamObserver
- Overrides:
masterClockUpdate
in classPamProcess
-
getInputDataBlock
An AzigramProcess has one input stream. Return it, or null if it's not available. -
setupProcess
public void setupProcess()Description copied from class:PamProcess
called for every process once the systemmodel has been created. this is a good time to check out and find input data blocks and similar tasks.- Overrides:
setupProcess
in classPamProcess
-
prepareProcess
public void prepareProcess()Description copied from class:PamProcess
Called for each process before any of them receive the PamStart command- Overrides:
prepareProcess
in classPamProcess
-
newData
- Overrides:
newData
in classPamProcess
-
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
-
getAnnotation
Description copied from interface:ProcessAnnotator
Get an Annotation- Specified by:
getAnnotation
in interfaceProcessAnnotator
- Overrides:
getAnnotation
in classPamProcess
- Parameters:
pamDataBlock
- Annotated datablockannotation
- annotation number- Returns:
- Annotation
-
getNumAnnotations
- Specified by:
getNumAnnotations
in interfaceProcessAnnotator
- Overrides:
getNumAnnotations
in classPamProcess
- Parameters:
pamDataBlock
- Annotated datablock- Returns:
- the number of annotations
-
makeAnnotations
public void makeAnnotations() -
getOutputDataBlock
- Returns:
- the outputData
-
getOfflineData
- Overrides:
getOfflineData
in classPamProcess
-
getCompatibleDataUnits
Description copied from class:PamProcess
A list of data block class types which are compatible as parent data blocks for the PamProcess. This can return null, e.g. in the case of Acquisition process.- Overrides:
getCompatibleDataUnits
in classPamProcess
- Returns:
- a list of PamDataBlock sub class types which can be used as parent data blocks for the process.
-