13 #ifndef mitkPUImpurityLoss_h
14 #define mitkPUImpurityLoss_h
16 #include <vigra/multi_array.hxx>
17 #include <vigra/random_forest.hxx>
23 template<
class LabelType =
double>
31 template <
class TLossFunction = vigra::GiniCriterion,
class TLabelContainer = vigra::MultiArrayView<2,
int>,
class TWeightContainer = vigra::MultiArrayView<2,
double> >
40 vigra::ProblemSpec<T>
const &ext,
47 template <
class TDataIterator>
48 double Increment(TDataIterator begin, TDataIterator end);
50 template <
class TDataIterator>
51 double Decrement(TDataIterator begin, TDataIterator end);
53 template <
class TArray>
54 double Init(TArray initCounts);
56 vigra::ArrayVector<double>
const&
Response();
65 bool m_UsePointWeights;
66 TWeightContainer m_PointWeights;
69 TLabelContainer
const& m_Labels;
70 vigra::ArrayVector<double> m_Counts;
71 vigra::ArrayVector<double> m_PUCounts;
72 vigra::ArrayVector<double> m_Kappa;
73 vigra::ArrayVector<double> m_ClassWeights;
75 double m_PUTotalCount;
77 TLossFunction m_LossFunction;
82 #include <../src/Splitter/mitkPUImpurityLoss.cpp>