Package clickDetector

Class ClickSpectrum

All Implemented Interfaces:
PamSettings, SettingsNameProvider, PamObserver

public class ClickSpectrum extends ClickDisplay implements PamObserver, PamSettings
  • Constructor Details

    • ClickSpectrum

      public ClickSpectrum(ClickControl clickControl, ClickDisplayManager clickDisplayManager, clickDetector.ClickDisplayManager.ClickDisplayInfo clickDisplayInfo)
    • ClickSpectrum

      public ClickSpectrum(STClickControl clickControl, ClickDisplayManager clickDisplayManager, clickDetector.ClickDisplayManager.ClickDisplayInfo clickDisplayInfo)
      Constructor needed when creating the SoundTrap Click Detector - need to explicitly cast from STClickControl to ClickControl, or else constructor fails
      Parameters:
      clickControl -
      clickDisplayManager -
      clickDisplayInfo -
  • Method Details

    • getObserverObject

      public PamObserver getObserverObject()
      Specified by:
      getObserverObject in interface PamObserver
      Returns:
      the actual observer. In most cases concrete classes will just return 'this' in response. The exception is the Threaded observer, which will return the single thread observer.
    • clearTemplates

      public void clearTemplates()
    • getName

      public String getName()
      Description copied from class: PamFramePlots
      Get a unique name for the display
      Specified by:
      getName in class PamFramePlots
      Returns:
      a unique name for the display.
    • newClick

      public void newClick(ClickDetection newClick)
    • getEventClick

      public void getEventClick(ClickDetection newClick)
    • convertTemplate

      public double[] convertTemplate(ClickTemplate clickTemplate, boolean log)
      This function converts a ClickTemplate to an fft which corresponds to the correct samplerate used in the current click data.
      Parameters:
      clickTemplate -
      Returns:
    • getTemplateClick

      public void getTemplateClick()
    • meanSpectrum

      public double[] meanSpectrum(ArrayList<double[]> eventSpectrums)
    • normailiseSpectrum

      public double[] normailiseSpectrum(double[] Spectrum)
    • normailiseSpectrum

      public double[][] normailiseSpectrum(double[][] eventSpectrums)
    • correlate

      public double correlate(double[] wave1, double[] wave2)
      Take two double arrays, not necessarily the same frequency or same number of bins and correlate;
      Returns:
    • getObserverName

      public String getObserverName()
      Specified by:
      getObserverName in interface PamObserver
    • getRequiredDataHistory

      public long getRequiredDataHistory(PamObservable o, Object arg)
      Specified by:
      getRequiredDataHistory in interface PamObserver
      Parameters:
      arg - optional argument from PamObservable
      Returns:
      time in milliseconds required by data held in PamObservable
    • noteNewSettings

      public void noteNewSettings()
      Specified by:
      noteNewSettings in interface PamObserver
      Specified by:
      noteNewSettings in class ClickDisplay
    • removeObservable

      public void removeObservable(PamObservable o)
      Description copied from interface: PamObserver
      called when an Observable (PamDataBlock) is removed from the system
      Specified by:
      removeObservable in interface PamObserver
    • setSampleRate

      public void setSampleRate(float sampleRate, boolean notify)
      Description copied from interface: PamObserver
      New sample rate
      Specified by:
      setSampleRate in interface PamObserver
      Parameters:
      notify - Notify other PamObservers and PamObservables in the chain.
    • masterClockUpdate

      public void masterClockUpdate(long milliSeconds, long sampleNumber)
      Specified by:
      masterClockUpdate in interface PamObserver
    • addData

      public void addData(PamObservable o, PamDataUnit arg)
      Description copied from interface: PamObserver
      Informs the PamObserver that new data have been added to the Observable class
      Specified by:
      addData in interface PamObserver
    • updateData

      public void updateData(PamObservable observable, PamDataUnit pamDataUnit)
      Description copied from interface: PamObserver
      Informs the PamObserver that existing data have been updated
      Specified by:
      updateData in interface PamObserver
    • getStoredClick

      public ClickDetection getStoredClick()
    • clickedOnClick

      public void clickedOnClick(ClickDetection click)
      Overrides:
      clickedOnClick in class ClickDisplay
    • getSettingsReference

      public Serializable getSettingsReference()
      Specified by:
      getSettingsReference in interface PamSettings
      Returns:
      The serialisable object that will be stored
    • getSettingsVersion

      public long getSettingsVersion()
      Specified by:
      getSettingsVersion in interface PamSettings
      Returns:
      An integer version number for the settings
    • getUnitName

      public String getUnitName()
      Specified by:
      getUnitName in interface SettingsNameProvider
      Returns:
      A Name specific to this instance of the particular class, e.g. Sperm whale detector, Beaked whale detector, etc.
    • getUnitType

      public String getUnitType()
      Specified by:
      getUnitType in interface PamSettings
      Returns:
      A Name specific to the type, e.g. Click detector
    • getClickTemplateParams

      public ClickSpectrumTemplateParams getClickTemplateParams()
    • setClickTemplateParams

      public void setClickTemplateParams(ClickSpectrumTemplateParams clickTemplateParams)
    • restoreSettings

      public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
      Specified by:
      restoreSettings in interface PamSettings
      Returns:
      true if successful The object performs final checks (if needed) and then casts the settings data pamcontrolledunitSettings.settings into the correct type and uses as required
    • receiveSourceNotification

      public void receiveSourceNotification(int type, Object object)
      Description copied from interface: PamObserver
      Receive a notification from the data source - typically a change in DAQ status. See the constants listed in AcquisitionProcess for potential change types.
      Specified by:
      receiveSourceNotification in interface PamObserver
      Parameters:
      type - the type of change
      object - generic object added here so that we can include anything in the future