Package clickDetector

Class IDI_Display

All Implemented Interfaces:
PamSettings, SettingsNameProvider, PamObserver

public class IDI_Display extends ClickDisplay implements PamObserver, PamSettings
Creates a click ICI histogram display add-in
Author:
Michael Oswald
  • Constructor Details

    • IDI_Display

      public IDI_Display(ClickControl clickControl, ClickDisplayManager clickDisplayManager, clickDetector.ClickDisplayManager.ClickDisplayInfo clickDisplayInfo)
      Main constructor
      Parameters:
      clickControl -
      clickDisplayManager -
      clickDisplayInfo -
    • IDI_Display

      public IDI_Display(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

    • setParameters

      public void setParameters()
      Sets the axes parameters, based on the current IDI_DisplayParams object. This method is called from PamStart, and also when the Parameters Dialog is closed.
    • setTimer

      public void setTimer()
      Creates a new timer and sets the schedule. If a timer already exists when this method is called, it is canceled first
    • pamStart

      public void pamStart()
      On audio start, start the timer and create a new histogram object in the array. Use the highest bin in the low-resolution display to set the size of the histogram.
      Overrides:
      pamStart in class ClickDisplay
    • pamStop

      public void pamStop()
      called when user stops the audio capture
      Overrides:
      pamStop in class ClickDisplay
    • addData

      public void addData(PamObservable o, PamDataUnit arg)
      On new data, add ICI variable to current histogram
      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
    • getHeaderString

      public String getHeaderString()
      Creates a header string for the output file, based on the current high- and low-res bin values (high-res histogram first, then low).
      Returns:
      the header string
    • getDataString

      public String getDataString()
      Creates a string of counts from the high-res and low-res histogram bins (high-res histogram first, then low).
      Returns:
      the data string
    • noteNewSettings

      public void noteNewSettings()
      Class containing the axis, histogram and color bar
      Specified by:
      noteNewSettings in interface PamObserver
      Specified by:
      noteNewSettings in class ClickDisplay
    • getObserverName

      public String getObserverName()
      Specified by:
      getObserverName in interface PamObserver
    • 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.
    • 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
    • masterClockUpdate

      public void masterClockUpdate(long milliSeconds, long sampleNumber)
      Specified by:
      masterClockUpdate in interface PamObserver
    • 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.
    • 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
    • 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.
    • 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
    • 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