Interface IPeriodAnalysisAlgorithm

All Superinterfaces:
IAlgorithm, IInteruptible
All Known Implementing Classes:
TSDcDft

public interface IPeriodAnalysisAlgorithm extends IAlgorithm
Classes implementing a period analysis algorithm to be executed must realise this interface.
  • Method Details

    • getResultSeries

      Return the result of the period analysis.
    • getTopHits

      Return the "top hits" of the period analysis. It is a precondition that results have been generated, i.e. the execute() method has been invoked.
    • refineByFrequency

      List<PeriodAnalysisDataPoint> refineByFrequency(List<Double> freqs, List<Double> variablePeriods, List<Double> lockedPeriod) throws AlgorithmError, InterruptedException

      Refine the period analysis in some way that makes sense for the algorithm, e.g. for DC DFT, CLEANest.

      Note: This method is provisional. There are all kinds of meanings that could be applied to "refine", e.g. multi-period analysis (such as CLEANest).

      Parameters:
      freqs - A list of frequencies on which to refine the results.
      varPeriods - The variable periods to be included. May be null.
      lockedPeriods - The locked periods to be included. May be null.
      Returns:
      the new top-hits created by this refinement.
      Throws:
      AlgorithmError
      InterruptedException
    • getRefineByFrequencyName

      String getRefineByFrequencyName()
      Get the refine-by-frequency algorithm name.
      Returns:
      The name of the refine-by-frequency algorithm, or null if none.
    • multiPeriodicFit

      Create a multi-periodic fit from the data from a list of harmonics.
      Parameters:
      harmonics - The harmonics to be used to create the fit.
      model - A multi-period fit class that takes place in the context of a period analysis. Data members in this parameter are populated as a result of invoking this method.
      Throws:
      AlgorithmError
      InterruptedException