Package qa.analyser

Class QAAnalyser

All Implemented Interfaces:
PamSettings, SettingsNameProvider, PamObserver, ProcessAnnotator

public class QAAnalyser extends QADataProcess implements PamSettings
Used for loading in and analysing test data sets. Will have it's own set of datablocks and SQLLoggers which mirror those in the generator so that data can be loaded entirely independently of what's going on in the generator / viewer.
Author:
dg50
  • Constructor Details

    • QAAnalyser

      public QAAnalyser(QAControl qaControl)
  • Method Details

    • analyseTest

      public void analyseTest(QATestDataUnit testDataUnit)
      This is probably going to get called with a data unit from the generator datablock. If that is the case, then the local datablocks are cleared and the data unit and all it's sub sequences and sounds are loaded into a local set of datablocks, separate from the main list. That way we're able to play about with analysing data over a wide time period even when data collection is ongoing ...
      Parameters:
      testDataUnit -
    • analyseTests

      public void analyseTests(QATestDataUnit[] multiUnits)
      Call to process a whole load of tests, and if necessary, make a combined report with results of many different tests.
      Parameters:
      testDataUnits - List of test data units.
    • analyseTests

      public void analyseTests(List<QATestDataUnit> testDataUnits)
      Call to process a whole load of tests, and if necessary, make a combined report with results of many different tests. This will add the tests to a task list in a queue and return immediately, so no need to worry about execution time. Will clone the list of data units so that the list object can be reused.
      Parameters:
      testDataUnits - List of test data units.
    • processQueuedTask

      public void processQueuedTask(QAQueuedTask queudTask)
      this will get called back in a separate thread, using the queueing and rethreading functionality of the PAMDataBlock
      Parameters:
      queudTask -
    • processTest

      public QATestResult processTest(QATestDataUnit testDataUnit, PamDataBlock aDetector)
    • 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).
      Overrides:
      pamStart in class QADataProcess
    • pamStop

      public void pamStop()
      Description copied from class: PamProcess
      Stops the process.
      Overrides:
      pamStop in class QADataProcess
    • canDetectCluster

      public boolean canDetectCluster(QACluster qaCluster, PamDataBlock dataBlock)
      Parameters:
      qaCluster - Sound type
      dataBlock - detector output
      Returns:
      true if the cluster has a hope of being detected by the given detector output
    • 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
    • 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
    • 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