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
 
- 
Field Summary
Fields inherited from class PamguardMVC.PamProcess
outputDataBlocks, parentDataBlock, processName, sampleRate - 
Constructor Summary
ConstructorsConstructorDescriptionAzigramProcess(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.intgetNumAnnotations(PamDataBlock pamDataBlock) intgetOfflineData(OfflineDataLoadInfo offlineLoadDataInfo) voidvoidmasterClockUpdate(long milliSeconds, long sampleNumber) As per decimator modulevoidnewData(PamObservable o, PamDataUnit arg) voidpamStart()Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway).voidpamStop()Stops the process.voidCalled for each process before any of them receive the PamStart commandvoidsetSampleRate(float sampleRate, boolean notify) Copied from decimatorW modulevoidcalled 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:
 setSampleRatein interfacePamObserver- Overrides:
 setSampleRatein classPamProcess- Parameters:
 sampleRate-notify- Notify other PamObservers and PamObservables in the chain.
 - 
masterClockUpdate
public void masterClockUpdate(long milliSeconds, long sampleNumber) As per decimator module- Specified by:
 masterClockUpdatein interfacePamObserver- Overrides:
 masterClockUpdatein 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:PamProcesscalled 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:
 setupProcessin classPamProcess
 - 
prepareProcess
public void prepareProcess()Description copied from class:PamProcessCalled for each process before any of them receive the PamStart command- Overrides:
 prepareProcessin classPamProcess
 - 
newData
- Overrides:
 newDatain classPamProcess
 - 
pamStart
public void pamStart()Description copied from class:PamProcessCalled for each process to tell it to start (may not be necessary for processes which are listening for data anyway).- Specified by:
 pamStartin classPamProcess
 - 
pamStop
public void pamStop()Description copied from class:PamProcessStops the process.- Specified by:
 pamStopin classPamProcess
 - 
getAnnotation
Description copied from interface:ProcessAnnotatorGet an Annotation- Specified by:
 getAnnotationin interfaceProcessAnnotator- Overrides:
 getAnnotationin classPamProcess- Parameters:
 pamDataBlock- Annotated datablockannotation- annotation number- Returns:
 - Annotation
 
 - 
getNumAnnotations
- Specified by:
 getNumAnnotationsin interfaceProcessAnnotator- Overrides:
 getNumAnnotationsin classPamProcess- Parameters:
 pamDataBlock- Annotated datablock- Returns:
 - the number of annotations
 
 - 
makeAnnotations
public void makeAnnotations() - 
getOutputDataBlock
- Returns:
 - the outputData
 
 - 
getOfflineData
- Overrides:
 getOfflineDatain classPamProcess
 - 
getCompatibleDataUnits
Description copied from class:PamProcessA 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:
 getCompatibleDataUnitsin classPamProcess- Returns:
 - a list of PamDataBlock sub class types which can be used as parent data blocks for the process.
 
 
 -