likelihoodDetectionModule.normalizer
Class NormalizerProcess

java.lang.Object
  extended by PamguardMVC.PamProcess
      extended by likelihoodDetectionModule.normalizer.NormalizerProcess
All Implemented Interfaces:
Annotator, PamObserver

public class NormalizerProcess
extends PamProcess

This PamProcess implements the normalizer of the likelihood detector. The user can select either a DecayingAverage (exponential), or SplitWindow algorithm. Using the signal/background time constants from the bands passed in, the normalizer produces an estimate of the signal/background levels present in the input spectral band data.

Author:
Dave Flogeras

Nested Class Summary
static class NormalizerProcess.NormalizerAlgorithm
           
 
Field Summary
private  java.util.ArrayList<GuardBand> guardBands
           
private  LikelihoodDetectionUnit likelihoodDetectionUnit
           
private  PamDataBlock<NormalizedDataUnit> normalizedDataBlock
           
(package private)  NormalizerProcess.NormalizerAlgorithm normalizer
           
private  java.util.Map<java.lang.Integer,Normalizer> normalizers
           
(package private)  double referenceGain
           
private  java.util.ArrayList<SignalBand> signalBands
           
private  PamDataBlock<SpectralEtiDataUnit> spectralEtiDataBlock
           
(package private)  double timeResolution
           
 
Fields inherited from class PamguardMVC.PamProcess
outputDataBlocks, processName, sampleRate
 
Constructor Summary
NormalizerProcess(LikelihoodDetectionUnit ldu, PamDataBlock pdb, double referenceGain, NormalizerProcess.NormalizerAlgorithm normalizer, java.util.ArrayList<SignalBand> signalBands, java.util.ArrayList<GuardBand> guardBands, double timeResolution)
           
 
Method Summary
 java.lang.String getProcessName()
           
 long getRequiredDataHistory(PamObservable o, java.lang.Object arg)
           
 void newData(PamObservable o, PamDataUnit unit)
           
 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 setSampleRate(float sampleRate, boolean notify)
          New sample rate
 
Methods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addOutputDataBlock, changedThreading, clearOldData, createAnnotations, destroyProcess, fillXMLElement, fillXMLParameters, getAncestorDataBlock, getAnnotation, getBackendProcess, getChainPosition, getCpuPercent, getNumAnnotations, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOutputDataBlock, getPamControlledUnit, getParentDataBlock, getParentProcess, getRawSourceDataBlock, getSampleRate, getSourceDataBlock, getSourceProcess, isCanMultiThread, makePamProcess, masterClockUpdate, noteNewSettings, notifyModelChanged, relMillisecondsToSamples, relSamplesToMilliseconds, removeObservable, removeOutputDatablock, saveViewerData, setBackendProcess, setCanMultiThread, setParentDataBlock, setParentDataBlock, setProcessName, setupProcess, toString, update, updateData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

normalizers

private java.util.Map<java.lang.Integer,Normalizer> normalizers

likelihoodDetectionUnit

private LikelihoodDetectionUnit likelihoodDetectionUnit

spectralEtiDataBlock

private PamDataBlock<SpectralEtiDataUnit> spectralEtiDataBlock

normalizedDataBlock

private PamDataBlock<NormalizedDataUnit> normalizedDataBlock

signalBands

private final java.util.ArrayList<SignalBand> signalBands

guardBands

private final java.util.ArrayList<GuardBand> guardBands

timeResolution

final double timeResolution

normalizer

final NormalizerProcess.NormalizerAlgorithm normalizer

referenceGain

final double referenceGain
Constructor Detail

NormalizerProcess

public NormalizerProcess(LikelihoodDetectionUnit ldu,
                         PamDataBlock pdb,
                         double referenceGain,
                         NormalizerProcess.NormalizerAlgorithm normalizer,
                         java.util.ArrayList<SignalBand> signalBands,
                         java.util.ArrayList<GuardBand> guardBands,
                         double timeResolution)
Method Detail

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 class PamProcess

pamStop

public void pamStop()
Description copied from class: PamProcess
Stops the process.

Specified by:
pamStop in class PamProcess

getProcessName

public java.lang.String getProcessName()
Overrides:
getProcessName in class PamProcess
Returns:
Name of the PamProcess

prepareProcess

public void prepareProcess()
Description copied from class: PamProcess
Called for each process before any of them receive the PamStart command

Overrides:
prepareProcess in class PamProcess

newData

public void newData(PamObservable o,
                    PamDataUnit unit)
Overrides:
newData in class PamProcess

getRequiredDataHistory

public long getRequiredDataHistory(PamObservable o,
                                   java.lang.Object arg)
Specified by:
getRequiredDataHistory in interface PamObserver
Overrides:
getRequiredDataHistory in class PamProcess
Parameters:
o - PamObservable class requiring the data
arg - optional argument from PamObservable
Returns:
time in milliseconds requried by data held in PamObservable

setSampleRate

public void setSampleRate(float sampleRate,
                          boolean notify)
Description copied from interface: PamObserver
New sample rate

Specified by:
setSampleRate in interface PamObserver
Overrides:
setSampleRate in class PamProcess
notify - Notify other PamObservers and PamObservables in the chain.