Class IshDetFnProcess

java.lang.Object
PamguardMVC.PamProcess
IshmaelDetector.IshDetFnProcess
All Implemented Interfaces:
PamObserver, ProcessAnnotator
Direct Known Subclasses:
EnergySumProcess, MatchFiltProcess, MatchFiltProcess2, SgramCorrProcess

public abstract class IshDetFnProcess extends PamProcess
This is the abstract superclass for all the "Ishmael detectors", i.e., the detection PamProcesses that use a detection function and threshold in the course of doing making detections. Currently this means it is the superclass of EnergySumProcess, SgramCorrProcess, and MatchFiltProcess.
Author:
Dave Mellinger and Jamie Macaulay
  • Constructor Details Link icon

    • IshDetFnProcess Link icon

      public IshDetFnProcess(IshDetControl ishDetControl, PamDataBlock parentDataBlock)
      Initialiser.

      IMPORTANT: The subclass initializer should construct the ishDetParams before calling this.

      Parameters:
      ishDetControl - -- e.g., an EnergySumControl, SgramCorrControl, etc.
      parentDataBlock - -- an FFTDataBlock or RawDataBlock
  • Method Details Link icon

    • getLongName Link icon

      public abstract String getLongName()
    • inputDataClass Link icon

      public abstract Class inputDataClass()
    • getDetSampleRate Link icon

      public abstract float getDetSampleRate()
    • getChannelMap Link icon

      public int getChannelMap()
    • getInputDataBlock Link icon

      public PamDataBlock getInputDataBlock()
      An IshDetFnProcess has one input stream. Return it, or null if it's not available.
    • setSampleRate Link icon

      public void setSampleRate(float sampleRate, boolean notify)
      This is called when the sample rate changes. It also gets called on other occasions, like when the model changes (or the FFT size changes??).
      Specified by:
      setSampleRate in interface PamObserver
      Overrides:
      setSampleRate in class PamProcess
      Parameters:
      notify - Notify other PamObservers and PamObservables in the chain.
    • setupConnections Link icon

      public void setupConnections()
    • getOutputDataUnit Link icon

      public IshDetFnDataUnit getOutputDataUnit(PamDataUnit rawOrFftDataUnit)
      Get a new IshDetDataUnit suitable for holding output data. This code was copied from PamFFTProcess.newData() and modified.
      Parameters:
      rawOrFftDataUnit - input to the detector process (EnergySumProcess, etc.).
      Returns:
      a fresh IshDetDataUnit, with time fields and channel bitmap set
    • prepareProcess Link icon

      public void prepareProcess()
      Get a new IshDetDataUnit suitable for holding output data. This code was copied from PamFFTProcess.newData() and modified.
      Overrides:
      prepareProcess in class PamProcess
      Parameters:
      rawDataUnit - input to the detector process (MatchFiltProcess, etc.).
    • pamStart Link icon

      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 Link icon

      public void pamStop()
      Description copied from class: PamProcess
      Stops the process.
      Specified by:
      pamStop in class PamProcess
    • getLoFreq Link icon

      public abstract float getLoFreq()
      Returns:
      the lowest frequency of the detection - e.g. 0 or the lower bound of the detection kernel
    • getHiFreq Link icon

      public abstract float getHiFreq()
      Returns:
      the highest frequency of the detection - e.g. sampleRate/2 or the upper bound of the detection kernel
    • getOutputDataBlock Link icon

      public PamDataBlock getOutputDataBlock()
      Get the output data block.
      Returns:
      the output data block.