Interface MHTChi2Var<T>

All Superinterfaces:
Cloneable
All Known Implementing Classes:
AmplitudeChi2, BearingChi2, BearingChi2Delta, CorrelationChi2, IDIChi2, LengthChi2, PeakFrequencyChi2, SimpleChi2Var, SimpleChi2VarDelta, TimeDelayChi2Delta

public interface MHTChi2Var<T> extends Cloneable
A variable which is used to calculate chi2 value.

Multiple variables can be used to calculate the chi^2 value of a track. For example a slowly changing ICI might be used or a combination of ICI, amplitude, bearing and/or correlation. MHTChi2Var is a single variable which can be extracted from a list of T data items and the chi2 value calculated.

All the MHT calculation are based somewhat on ICI because error values depend on the ICI value. For example a low ICI might mean that amplitude changes are likely to be significantly less on a click by click basis.

Note, these should be made serilizable. To save settings use the getSettingsObject() instead.

Author:
Jamie Macaulay
  • Method Details

    • getName

      String getName()
      Get the name of the chi^2 variable.
      Returns:
      the name of the chi^2 variable.
    • getUnits

      String getUnits()
      Get the data units for the MHTChi2 var.
      Returns:
      the units.
    • calcChi2

      double calcChi2(ArrayList<T> mhtDataUnits, IDIManager iciManager)
      Calculate the chi2 value for a particular variable from a list of data units in a track.
      Parameters:
      mhtDataUnits - - a list of items in the track
      iciManager - - class with the the times of the data series starting from data unit 0 at time 0 in seconds. The time series may be based on simply the millisecond time or a more accurate time using sample number and cross correlation.
      Returns:
      chi2 value.
    • updateChi2

      double updateChi2(PamDataUnit newdataUnit, BitSet bitSet, int bitcount, int kcount, IDIManager iciManager)
      Update the existing chi2 value with a new data unit and track bitset.
      Parameters:
      newdataUnit - - the new data unit.
      bitSet - - the bitset for the track.
      bitcount - - the number of detections in the track.
      kcount - - the current kcount, the total number of detections added to possibility mix.
      iciManager - - the IDI manager.
      Returns:
      the new chi^2 value
    • getChi2

      double getChi2()
      Get the current chi^2 value i.e. the chi2 value since the last update.
      Returns:
      the current chi^2 value
    • getError

      double getError()
      Get the error estimate for chi2 values.
      Returns:
      the current chi^2 error.
    • getSettingsPane

      MHTVarSettingsPane getSettingsPane()
      Get the settings pane with controls to change MHTChi2Var settings
      Returns:
      the MHTChiVar specific settings pane.
    • getSettingsObject

      Object getSettingsObject()
      Get the settings object for the variable
      Returns:
      the settings object.
    • setSettingsObject

      void setSettingsObject(Object object)
      Set the settings object for saving the parameters. This is only used for saving params.
      Parameters:
      object - - the settings object.
    • clear

      void clear()
      Resets the variable and clear chi2 values etc.
    • clone

      Deep clone of the variable.
      Returns:
      deep clone of the variable.
    • isDataBlockCompatible

      boolean isDataBlockCompatible(PamDataBlock parentDataBlock)
      Check whether a data block is compatible with this type of data unit.
      Parameters:
      parentDataBlock - - the parent data block
      Returns:
      true if the data block is allowed