## Projection

The Projection panel allows to test, tweak and observe how different algorithms perform projection or data dimensionality reduction on samples living in a N-dimensional space: "the canvas".
Projection is usually performed in one of two ways:

- N-dimensions to 1-dimension (e.g. LDA)
- N-dimensions to M-dimensions (e.g. PCA)

where M is usually lower than N (a counter-example: Kernel PCA).
The projection is the only type of algorithm that affects the current data within the canvas (all other methods only do computation on the basis of the canvas data). It however stores a copy of the original data that is used by all projection methods (useful e.g. for comparison). To revert to the original unprojected data, it suffices to use the Revert button.
However, if multiple projections need to be applied (e.g. to combine PCA + LDA in successive iterations), the user needs to use the Project button for the first method, and the Re-Project button for the second one. Re-Project will replace the current stored data with the first projection, and perform the second projection on it. The projected (or re-projected) data can then be used for classification, clustering or other problems.
The canvas will display the results of the projection in multiple layers, which can be changed using the display options. These are:

- Samples: the projected samples, these replace the original data (which can be re-obtained using the Revert button)
- Learned Model: Additional information about the projection (e.g. projection lines)

The other display layers (e.g. Density Map) are not used in projection.
In Practice
The easiest way to perform projection is to:

1. Draw some samples (left-click) somewhere in the canvas
2. Click on "Project"

This should compute the projection according to the algorithm selected, and replace the current samples with the projected ones.
Options and Commands
The interface for projection (the right-hand side of the Algorithm Options dialog) provides the following commands:

- Project: perform the projection using the currently selected algorithm and options, pressing this button multiple times will always perform the projection from the same original data
- Revert: return the original data into the canvas (erase the projected data)
- ReProject: perform a new projection on top of the current projected data (instead of the stored original data)

and the following options:

- Auto-Fit: adjust the canvas to fit the projected data after the projection (useful for widespread data that will be normalized by the projection)
- Manual Selection: manually select the training samples (if the algorithm requires training data)

All other options are algorithm-dependent and should be described in the help menu of the algorithm itself.