00001
00015 #ifndef MDS_TETRAMEMBERSHIPEM_H
00016 #define MDS_TETRAMEMBERSHIPEM_H
00017
00018 #include "mdsTetraMembershipFunc.h"
00019 #include "mdsTetraContainer.h"
00020
00021
00022 #include <MDSTk/Math/Algorithm/mdsEM.h>
00023
00024
00025 namespace mds
00026 {
00027 namespace seg
00028 {
00029
00030
00035 class CTetraMembershipEM : public CTetraMembershipFunc
00036 {
00037 public:
00039 CTetraMembershipEM(double dMinAddChange);
00040
00042 virtual ~CTetraMembershipEM() {}
00043
00046 virtual bool operator()(vctl::MCTetra *pFirstTetrahedron);
00047
00051 virtual bool operator()(vctl::MCTetra *pFirstTetrahedron,
00052 mds::tSize NumOfClasses
00053 );
00054
00055 protected:
00057 mds::math::CMaxLikelihoodByEM<CTetraContainer, NUM_OF_FEATURES> m_EM;
00058 };
00059
00060
00061 }
00062 }
00063
00064 #endif // MDS_TETRAMEMBERSHIPEM_H
00065