ProfileAutocorrelation


Computes the correlation between neighboring sub-profiles of different sizes and infers the most probable period length.

Syntax

C++
C#
Python
 
def ProfileAutocorrelation(
	inProfile: Profile,
	inFlexibleVerification: bool,
	inPrecisionMethod: PeriodPrecisionMethod,
	/,
	*,
	inStart: int = 0,
	inMinPeriod: int = 2,
	inMaxPeriod: int = 2,
	inMinVerifiedLength: int = 1,
	inMinRepeatCount: int = 1,
	inHarmonicHysteresis: float = 0.05
)
-> (
	outAutocorrelationValues: list[float],
	outPeriod: float,
	outPeriodScore: float
)

Parameters

Name Type Range Default Description
Input value inProfile Profile Input profile
Input value inStart int 0 - 0 Beginning index of the sub-profile of interest
Input value inMinPeriod int 2 - 2 Minimum period length
Input value inMaxPeriod int 2 - 2 Maximum period length
Input value inMinVerifiedLength int 1 - 1 Minimum number of profile points that verify single period (increases the actual RepeatCount for small periods)
Input value inFlexibleVerification bool Compensates errors resulting from whole-pixel precision
Input value inMinRepeatCount int 1 - 1 The number of repeats for sufficiently big periods
Input value inHarmonicHysteresis float 0.0 - 1.0 0.05 Defines how much better must be the period T than T/2, T/3 etc. to be accepted
Input value inPrecisionMethod PeriodPrecisionMethod Defines if and how sub-point precision is achieved
Output value outAutocorrelationValues list[float] Autocorrelation values for consecutive period values
Output value outPeriod float Estimated period length
Output value outPeriodScore float Correlation value for the estimated period length

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

This operation is optimized for AVX2 technology.