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 | |
|---|---|---|---|---|---|
![]() |
inProfile | Profile | Input profile | ||
![]() |
inStart | int | 0 - ![]() |
0 | Beginning index of the sub-profile of interest |
![]() |
inMinPeriod | int | 2 - ![]() |
2 | Minimum period length |
![]() |
inMaxPeriod | int | 2 - ![]() |
2 | Maximum period length |
![]() |
inMinVerifiedLength | int | 1 - ![]() |
1 | Minimum number of profile points that verify single period (increases the actual RepeatCount for small periods) |
![]() |
inFlexibleVerification | bool | Compensates errors resulting from whole-pixel precision | ||
![]() |
inMinRepeatCount | int | 1 - ![]() |
1 | The number of repeats for sufficiently big periods |
![]() |
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 |
![]() |
inPrecisionMethod | PeriodPrecisionMethod | Defines if and how sub-point precision is achieved | ||
![]() |
outAutocorrelationValues | list[float] | Autocorrelation values for consecutive period values | ||
![]() |
outPeriod | float | Estimated period length | ||
![]() |
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.



