FTransform.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * @file FTransform.h
  3. * @brief FTransform Class Definition
  4. * @author Michael Koch
  5. * @date 08/19/2008
  6. */
  7. #ifndef FTRANSFORMINCLUDE
  8. #define FTRANSFORMINCLUDE
  9. #include "core/vector/VectorT.h"
  10. #include "core/vector/MatrixT.h"
  11. #include "core/basics/Persistent.h"
  12. namespace OBJREC {
  13. /** Abstract class for feature transformations */
  14. class FTransform: public NICE::Persistent
  15. {
  16. protected:
  17. public:
  18. /** simple constructor */
  19. FTransform();
  20. /** simple destructor */
  21. virtual ~FTransform();
  22. /**
  23. * Whitening of a dataset
  24. * @param features feature Matrix
  25. * @param whitefeatures feature Matrix after whitening
  26. * @param whitefeatures feature NICE::Matrix after whitening
  27. */
  28. void whitening(const NICE::Matrix &features,NICE::Matrix &whitefeatures);
  29. /**
  30. * get Basis Vectors of FTransform
  31. * @param features Input Features
  32. * @param dimension Dimension size / number of principal components
  33. * @return Basis Vectors
  34. */
  35. virtual void calculateBasis(const NICE::Matrix &features,const uint targetDimension=10,const uint mode=0)=0;
  36. /**
  37. * Features of FTransform Space
  38. * @param basis Base coefficients
  39. * @param data input data
  40. * @return Features as Vector
  41. */
  42. virtual NICE::Vector getFeatureVector(const NICE::Vector &data,const bool normalize=true)=0;
  43. };
  44. } // namespace
  45. #endif