Interface MHTChi2Var<T>
- All Superinterfaces:
Cloneable
- All Known Implementing Classes:
AmplitudeChi2
,BearingChi2
,BearingChi2Delta
,CorrelationChi2
,IDIChi2
,LengthChi2
,PeakFrequencyChi2
,SimpleChi2Var
,SimpleChi2VarDelta
,TimeDelayChi2Delta
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 Summary
Modifier and TypeMethodDescriptiondouble
calcChi2
(ArrayList<T> mhtDataUnits, IDIManager iciManager) Calculate the chi2 value for a particular variable from a list of data units in a track.void
clear()
Resets the variable and clear chi2 values etc.clone()
Deep clone of the variable.double
getChi2()
Get the current chi^2 value i.e.double
getError()
Get the error estimate for chi2 values.getName()
Get the name of the chi^2 variable.Get the settings object for the variableGet the settings pane with controls to change MHTChi2Var settingsgetUnits()
Get the data units for the MHTChi2 var.boolean
isDataBlockCompatible
(PamDataBlock parentDataBlock) Check whether a data block is compatible with this type of data unit.void
setSettingsObject
(Object object) Set the settings object for saving the parameters.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.
-
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
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 trackiciManager
- - 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
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
MHTChi2Var<PamDataUnit> clone()Deep clone of the variable.- Returns:
- deep clone of the variable.
-
isDataBlockCompatible
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
-