Sleipnir
|
Autocorrelates an underlying measure by rotating input vectors and returning the minimum result. More...
#include <measure.h>
Public Member Functions | |
CMeasureAutocorrelate (const IMeasure *pMeasure, bool fMemory) | |
Construct a new autocorrelation measure wrapping the given underlying measure. | |
double | Measure (const float *adX, size_t iN, const float *adY, size_t iM, EMap eMap=EMapNone, const float *adWX=NULL, const float *adWY=NULL) const |
Calculate the measure between two given vectors with optional element weights. | |
const char * | GetName () const |
Return the human-readable unique identifier of the measure type. | |
bool | IsRank () const |
Return true if the measure requires rank-based integer inputs. | |
IMeasure * | Clone () const |
Create a copy of the current measure object. |
Autocorrelates an underlying measure by rotating input vectors and returning the minimum result.
An autocorrelation measure takes an underlying measure U and two input vectors [X0, ..., XN] and [Y0, ..., YM] and returns the maximum of:
U([X0, ..., XN], [Y0, ..., YM]) U([X0, ..., XN], [Y1, ..., YM, Y0]) U([X0, ..., XN], [Y2, ..., YM, Y0, Y1]) ... U([X0, ..., XN], [YM, Y0, ..., YM-1])
This is useful for dealing with periodic signals in data (e.g. cell cycle microarrays).
Sleipnir::CMeasureAutocorrelate::CMeasureAutocorrelate | ( | const IMeasure * | pMeasure, |
bool | fMemory | ||
) | [inline] |
Construct a new autocorrelation measure wrapping the given underlying measure.
pMeasure | Measure whose result should be autocorrelated. |
fMemory | If true, the new autocorrelation measure is responsible for releasing the underlying measure's memory. |
Definition at line 323 of file measure.h.
Referenced by Clone().
IMeasure* Sleipnir::CMeasureAutocorrelate::Clone | ( | ) | const [inline, virtual] |
Create a copy of the current measure object.
Implements Sleipnir::IMeasure.
Definition at line 336 of file measure.h.
References Sleipnir::IMeasure::Clone(), and CMeasureAutocorrelate().
const char* Sleipnir::CMeasureAutocorrelate::GetName | ( | ) | const [inline, virtual] |
Return the human-readable unique identifier of the measure type.
Implements Sleipnir::IMeasure.
Definition at line 328 of file measure.h.
References Sleipnir::IMeasure::GetName().
bool Sleipnir::CMeasureAutocorrelate::IsRank | ( | ) | const [inline, virtual] |
Return true if the measure requires rank-based integer inputs.
Implements Sleipnir::IMeasure.
Definition at line 332 of file measure.h.
References Sleipnir::IMeasure::IsRank().
double Sleipnir::CMeasureAutocorrelate::Measure | ( | const float * | adX, |
size_t | iN, | ||
const float * | adY, | ||
size_t | iM, | ||
EMap | eMap = EMapNone , |
||
const float * | adWX = NULL , |
||
const float * | adWY = NULL |
||
) | const [virtual] |
Calculate the measure between two given vectors with optional element weights.
adX | First array of values. |
iN | Length of first array. |
adY | Second array of values. |
iM | Length of second array. |
eMap | Way in which returned value should be centered (implementation-specific). |
adWX | If non-null, weights of elements in the first array. |
adWY | If non-null, weights of elements in the second array. |
Implements Sleipnir::IMeasure.
Definition at line 684 of file measure.cpp.
References Sleipnir::CMeta::GetNaN(), and Sleipnir::IMeasure::Measure().