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,
45 void UpdatePUCounts();
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();
58 void UsePointWeights(
bool useWeights);
59 bool IsUsingPointWeights();
61 void SetPointWeights(TWeightContainer weight);
62 WeightContainerType GetPointWeights();
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> 84 #endif //mitkImpurityLoss_h vigra::ArrayVector< double > kappa_
DataCollection - Class to facilitate loading/accessing structured data.
TLabelContainer LabelContainerType
TWeightContainer WeightContainerType