C# Class Accord.Statistics.Analysis.ProcrustesAnalysis

Class to perform a Procrustes Analysis

Procrustes analysis is a form of statistical shape analysis used to analyze the distribution of a set of shapes. It allows to compare shapes (datasets) that have different rotations, scales and positions. It defines a measure called Procrustes distance that is an image of how different the shapes are.

References: Wikipedia contributors. "Procrustes analysis" Wikipedia, The Free Encyclopedia, 21 Sept. 2015. Available at: https://en.wikipedia.org/wiki/Procrustes_analysis Amy Ross. "Procrustes Analysis" Available at :

Inheritance: IAnalysis
Show file Open project: accord-net/framework Class Usage Examples

Private Properties

Property Type Description
ApplyTranslateScale void
GetDatasetScale double
ProcrustesDistance double
Rotate ].double[
Scale ].double[
Scale ].double[
Translate ].double[
Translate ].double[

Public Methods

Method Description
CheckSampleDataArgument ( ) : void
Compute ( ) : ].double[

Compute the Procrustes analysis to extract Procrustes distances and models

Compute ( int reference_sample_index ) : ].double[

Compute the Procrustes analysis to extract Procrustes distances and models by specifying the reference dataset

Compute ( ) : void

Compute the Procrustes analysis to extract Procrustes distances and models using the constructor parameters

ProcrustesAnalysis ( ) : System

Creates a Procrustes Analysis object using the given sample data

UpdateProcrustesDistances ( ) : void

Updates the Procrustes Distances according to a set of Procrusted samples

Private Methods

Method Description
ApplyTranslateScale ( ProcrustedDataset p, double samples ) : void

Apply Procrustes translation and scale to the given dataset

GetDatasetScale ( double samples ) : double

Calculates the scale of the given dataset

ProcrustesDistance ( double samples1, double samples2 ) : double

Calculate the Procrustes Distance between two sets of data

Rotate ( ProcrustedDataset p, ProcrustedDataset p_reference ) : ].double[

Applies the rotation operator to the given dataset according to the reference dataset

Scale ( double samples ) : ].double[

Applies the scale operator to scale the data to the unitary scale

Scale ( double samples, double scale ) : ].double[

Applies the scale operator to scale the data to the given scale

Translate ( double samples ) : ].double[

Applies the translation operator to translate the dataset to the zero coordinate

Translate ( double samples, double centroid ) : ].double[

Applies the translation operator to translate the dataset to the given coordinate

Method Details

CheckSampleDataArgument() public method

public CheckSampleDataArgument ( ) : void
return void

Compute() public method

Compute the Procrustes analysis to extract Procrustes distances and models
public Compute ( ) : ].double[
return ].double[

Compute() public method

Compute the Procrustes analysis to extract Procrustes distances and models by specifying the reference dataset
public Compute ( int reference_sample_index ) : ].double[
reference_sample_index int Index of the reference dataset. If out of bounds of the sample array, the first dataset is used.
return ].double[

Compute() public method

Compute the Procrustes analysis to extract Procrustes distances and models using the constructor parameters
public Compute ( ) : void
return void

ProcrustesAnalysis() public method

Creates a Procrustes Analysis object using the given sample data
public ProcrustesAnalysis ( ) : System
return System

UpdateProcrustesDistances() public method

Updates the Procrustes Distances according to a set of Procrusted samples
public UpdateProcrustesDistances ( ) : void
return void