13 #ifndef mitkThresholdSplit_h
14 #define mitkThresholdSplit_h
16 #include <vigra/multi_array.hxx>
17 #include <vigra/random_forest.hxx>
22 template<
class TColumnDecisionFunctor,
class TFeatureCalculator,
class TTag = vigra::ClassificationTag>
50 void SetWeights(vigra::MultiArrayView<2, double> weights);
51 vigra::MultiArrayView<2, double>
GetWeights()
const;
61 template<
class T,
class C,
class T2,
class C2,
class Region,
class Random>
63 vigra::MultiArrayView<2, T2, C2> labels,
65 vigra::ArrayVector<Region>& childRegions,
73 typedef vigra::SplitBase<TTag> SB;
76 bool m_CalculatingFeature;
78 bool m_UseRandomSplit;
80 int m_MaximumTreeDepth;
81 TFeatureCalculator m_FeatureCalculator;
82 vigra::MultiArrayView<2, double> m_Weights;
85 vigra::ArrayVector<vigra::Int32> splitColumns;
86 TColumnDecisionFunctor bgfunc;
87 vigra::ArrayVector<double> min_gini_;
88 vigra::ArrayVector<std::ptrdiff_t> min_indices_;
89 vigra::ArrayVector<double> min_thresholds_;
97 #include <../src/Splitter/mitkThresholdSplit.cpp>