FTransform.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. #ifdef NOVISUAL
  10. #include <vislearning/nice_nonvis.h>
  11. #else
  12. #include <vislearning/nice.h>
  13. #endif
  14. #include "core/basics/Persistent.h"
  15. namespace OBJREC {
  16. /** __DESC__ */
  17. class FTransform: public NICE::Persistent
  18. {
  19. protected:
  20. public:
  21. /** simple constructor */
  22. FTransform();
  23. /** simple destructor */
  24. virtual ~FTransform();
  25. /**
  26. * Whitening of a dataset
  27. * @param features feature Matrix
  28. * @param whitefeatures feature Matrix after whitening
  29. * @param whitefeatures feature NICE::Matrix after whitening
  30. */
  31. void whitening(const NICE::Matrix &features,NICE::Matrix &whitefeatures);
  32. /**
  33. * get Basis Vectors of FTransform
  34. * @param features Input Features
  35. * @param dimension Dimension size / number of principal components
  36. * @return Basis Vectors
  37. */
  38. virtual void calculateBasis(const NICE::Matrix &features,const uint targetDimension=10,const uint mode=0)=0;
  39. /**
  40. * Features of FTransform Space
  41. * @param basis Base coefficients
  42. * @param data input data
  43. * @return Features as Vector
  44. */
  45. virtual NICE::Vector getFeatureVector(const NICE::Vector &data,const bool normalize=true)=0;
  46. };
  47. } // namespace
  48. #endif