Interface TethysDataProvider

All Known Implementing Classes:
AutoTethysProvider, ClickEventTethysDataProvider, ClickTethysDataProvider, DLTethysDataProvider, IshmaelTethysProvider, RWTethysDataProvider, TethysNoiseDataProvider, WhistleMoanTethysProvider

public interface TethysDataProvider
Any PAMGuard data stream which can provide Detection data to PAMGuard will be able to return one of these. It will provide a schema and a function which can turn individual data units into data formatted for Tethys. The nature of how these work TBD.
Author:
dg50
  • Method Details

    • getDetectionsMethod

      String getDetectionsMethod()
      Get a standard Method string for each detector. This can be a bit verbose and might even have a reference to a paper ? Is this the best place for this ?
      Returns:
    • getDescription

      nilus.DescriptionType getDescription(nilus.Deployment deployment, TethysExportParams tethysExportParams)
      Get DescriptionType object to include in a Tethys Detections document.
      Parameters:
      deployment -
      tethysExportParams -
      Returns:
      Tethys DescriptionType object, which contains infromation about detections
    • getAlgorithm

      nilus.AlgorithmType getAlgorithm(Collection collection)
      Get Algorithm information for a Tethys Detections document
      Parameters:
      collection - Detections or Localisations may have different parameter sets.
      Returns:
      Algorithm information
    • getAllowedGranularities

      nilus.GranularityEnumType[] getAllowedGranularities()
      Get a list of allowed granularity types for this output
      Returns:
      list of granularities.
    • getDetectionsName

      String getDetectionsName()
      Get a name for the detections documents. This will be appended to the Deployment name and may also have a number after it.
      Note that the name isn't really important since all the matching between different documents is done internally, but it helps to make everything human readable.
      Returns:
      A name, similar to datablock.getLongDataName(), but no spaces.
    • hasDetections

      boolean hasDetections()
      True if the datablock is detections. This will (nearly) always be true or the block wouldn't have a TethysDataProvider, however there may be one or two localisers that should really only output localisation information.
      Returns:
    • canExportLocalisations

      boolean canExportLocalisations(nilus.GranularityEnumType granularityType)
      See if it's possible for this block to export localisations. This may depend on the selected granularity.
      Parameters:
      granularityType -
      Returns:
    • createDetection

      nilus.Detection createDetection(PamDataUnit dataUnit, TethysExportParams tethysExportParams, StreamExportParams streamExportParams)
      Create a Tethys Detection object from a PamDataUnit.
      It's OK for this to return null if for some reason the unit shouldn't be stored.
      Parameters:
      dataUnit - PAMGuard data unit
      tethysExportParams -
      streamExportParams -
      Returns:
      Detection Tethys Detection object.
    • getAlgorithmParameters

      nilus.AlgorithmType.Parameters getAlgorithmParameters()
      Get the algorithm parameters.
      Returns:
    • getEffortKinds

      void getEffortKinds(PDeployment pDeployment, List<nilus.DetectionEffortKind> effortKinds, StreamExportParams exportParams)
      Fill in the effort kind list for the top of a Detections document. This must contain a list of every species that's going to be output within this effort period. Any species assigned to an actual detection must be in this list, or the document will be rejected.
      Parameters:
      pDeployment -
      effortKinds - tethys object list to add to.
      exportParams -
    • wantExportDialogCard

      boolean wantExportDialogCard(ExportWizardCard wizPanel)
      See if a particular card should be used in the export wizard. This may not be the best way of doing this, but will do for now.
      Parameters:
      wizPanel -
      Returns:
    • getLocalisationInfo

      TethysLocalisationInfo getLocalisationInfo()
      Get localisation info for the datablock. Can be null, but probably never is. More likely to have a zero of available types;
      Returns: