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> 98 #endif //mitkThresholdSplit_h
void SetFeatureCalculator(TFeatureCalculator processor)
void SetAdditionalData(AdditionalRFDataAbstract *data)
void set_external_parameters(vigra::ProblemSpec< T > const &in)
void UseRandomSplit(bool split)
int bestSplitColumn() const
DataCollection - Class to facilitate loading/accessing structured data.
void UsePointBasedWeights(bool weightsOn)
double GetPrecision() const
bool IsUsingPointBasedWeights() const
AdditionalRFDataAbstract * GetAdditionalData() const
int GetMaximumTreeDepth() const override
void SetWeights(vigra::MultiArrayView< 2, double > weights)
bool IsCalculatingFeature() const
double bestSplitThreshold() const
void SetPrecision(double value)
void SetMaximumTreeDepth(int value)
static bool in(Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4)
void SetCalculatingFeature(bool calculate)
vigra::MultiArrayView< 2, double > GetWeights() const
int findBestSplit(vigra::MultiArrayView< 2, T, C > features, vigra::MultiArrayView< 2, T2, C2 > labels, Region ®ion, vigra::ArrayVector< Region > &childRegions, Random &randint)
bool IsUsingRandomSplit() const
TFeatureCalculator GetFeatureCalculator() const