Gaia
|
The inverse projection Analyzer computes the inverse the previous transformation, given it was a linear projection (such as PCA or RCA). More...
#include <inverseprojection.h>
Public Member Functions | |
InverseProjection (const ParameterMap ¶ms) | |
Transformation | analyze (const DataSet *dataset) const |
![]() | |
Analyzer (const ParameterMap ¶ms) | |
virtual Transformation | analyze (const DataSet *dataset, const Region ®ion) const |
void | checkDataSet (const DataSet *dataset) const |
Checks that the given dataset is valid. More... | |
void | checkMinPoints (const DataSet *dataset, int n) const |
Checks that the given dataset as at least the specified number of points. More... | |
const Region & | checkFixedLength (const Region ®ion, const PointLayout &layout) const |
Checks that the given Region only contains fixed-length descriptors and throws an exception if not. More... | |
Protected Attributes | |
int | _targetDimension |
Real | _coveredVariance |
![]() | |
ParameterMap | _params |
QStringList | _descriptorNames |
QStringList | _exclude |
Additional Inherited Members | |
![]() | |
QString | name |
Name for the algorithm, usually the key that was used to instantiate it from the factory. | |
QStringList | validParams |
List of valid parameters this analyzer accepts. More... | |
The inverse projection Analyzer computes the inverse the previous transformation, given it was a linear projection (such as PCA or RCA).
Actually, as not all projections are invertible, in effect it does a projection using the transposed matrix of the previous one.
In the case of PCA and RCA, it does correspond to the inverse projection, because the projection matrix is the unitary basis for the covariance matrix, which is positive-(semi)definite.
The resulting layout will be the same as if you had used the MergeRegion transformation on the dataset before calling the projection transformation.
NB: this transformation requires that the last transformation applied to the dataset is a projection.