Statistics Menu
This menu has a number of options for performing statistical and related operations, which are described here.
Average construction
- Display N
- Displays the number of faces in this average on the status line (at the bottom of the window).
- Add to average
- Prompts for a .obj file to add to the currently displayed (average) surface. Files should have the same mesh structure before calling this method, use Edit->Warp3D.
- Average list
- Average a set of .obj files together. The list is read from a text file with the name of each (aligned) .obj file on each line.
- Iterate average
- Tick this option when averaging lists of faces for improved accuracy of the average. The shape of the average is affected by the (rigid+scale) alignment of the faces, for best results faces to be averaged should be aligned to the average. As the average is initially unknown this iterates by aligning to the current estimate of the average each iteration.
- Auto procrustes normalise
- Procrustes normalisation is rigid body plus scaling to minimise the differences between surfaces. This option should be turned on unless the surface position/orientation/scale are pre-normalised some how.
Groupwise align list
Prompts for a file with a list of .obj files to align. It attempts to match all files to a common average that is generated. Results can be variable and the method takes a while to converge. One of the slowest steps is the original pairwise alignment of the first in the list to all the others based on shape only using non-rigid iterative closest point. If (for some reason) the algorithm fails after performing the initial alignment on a number of files it is possible to skip the initial alignment for those already processed by entering the number pre-processed in the dialog box when prompted. Otherwise this value should remain zero. When the alignment is completed the aligned files are stored in finalX.obj where X is the number of the order in the original list.
Using averages
For all the following operations all files must have the same mesh structure (ie. number of vertices). It is best to warp a standard shape into all the files you want to use using the Batch Warp method before constructing the averages, comparing and transforming.
- Compare individual
-
Compare a single subject to an average. You should have the subject loaded and you are prompted for the average. The results show the Manhalobis distance of each point from the average as a coloGroupwise align list
Prompts for a file with a list of .obj files to align. ur i.e. the distance scaled by the shape of the distribution.
- Compare averages
- Compare two averages using Hotelling's T2 test at each vertex (related to the Student's t-test for 1D distributions). Shows the facial areas where the samples are significantly different.
- Transform
- Adds the differences between two surfaces (usually averages) to alter a facial surface. You are prompted for the two (average) surfaces and the amount to scale the differences by. e.g. to change a female face to their male equivalent load the subject's (standard) mesh, select Transform, load the female then the male average when prompted, then set the change to 1 (100% of the difference between the two).
Super Batch Transform This option applies a custom transform to each 3d model in a list according to rules specified in a text file. Each line can contain the following options, which should be specified in the first line of the file:
image input source target shape colour angle_x angle_y angle_z start_angle_x start_angle_y start_angle_z end_angle_x end_angle_y end_angle_z angle_fraction image_width image_height
Not all options are needed, but there are some interdependencies.
View Morph: Loads a sequence of (aligned) faces over time. The text file should have the name of the file to use and the time point of each on each line. The times should be ordered in increasing value starting at 0 e.g.
face0.obj 0 face1.obj 10 face2.obj 40 face3.obj 45 face4.obj 60
A dialog will be displayed allowing the morph frame to be selected or the sequence animated (using the play button).
Shape PCA
Operations for building shape principal component analysis (PCA) data, analysing and synthesising faces based on the PCA.
- Shape PCA …
- Performs PCA by attempting to load all files into memory. Can be faster than the file version but can run out of memory. You are prompted for the file to save to, best to save in a new folder each time to avoid files being overwritten.
- Shape PCA (Files)
- Performs PCA by loading the data from file each time. Slower than not using the files but has lower memory requirements.
- Shape PCA (Templates)
- Performs PCA on just the 3D template files.
- PCA Analyse shape
- Analyses the shape of all (aligned) files listed in a text file, writes the results to a CSV file. You are prompted for the list, the 3D PCA file (.pc3) and the .csv files to use.
- PCA Reconstruct
- Reconstruct face shapes from 3D PCA data. Prompts for the CSV file containing the PCA weights and file name, the number of components to use, the output directory (will create a new folder if it doesn't exist). Be careful not to overwrite your original files! Use a different directory to output and change the names in the CSV file for extra security.
Build CAM
Builds a combined shape and appearance model using the PCA shape analysis above and an image PCA as created in Psychomorph.
Procrustes Analysis
Do some measurements on 3D templates after best fit alignment. (Not sure why these options are here ...)
- Procrustes absolute distances
- Find the distance between corresponding points after using procrustes alignment.
- Procrustes XYZ distances
- Find the distance between corresponding points in X, Y and Z after using procrustes alignment.