
modifié : include/ArrayTree/ArrayTreeBuilder.tpp modifié : include/ArrayTree/Border.hpp modifié : include/ArrayTree/Border.tpp modifié : include/ArrayTree/GraphWalker.tpp modifié : include/ArrayTree/Leader.hpp modifié : include/ArrayTree/Leader.tpp modifié : include/Attribute.hpp modifié : include/AttributeProfiles.hpp modifié : include/AttributeProfiles.tpp modifié : include/CompAttribute.hpp modifié : include/CompAttribute.tpp modifié : include/IImage.hpp modifié : include/IImage.tpp modifié : include/Tree.hpp modifié : include/Tree.tpp modifié : include/TreeBuilder.hpp modifié : include/TreeBuilder.tpp supprimé : src/Attribute.cpp modifié : src/CMakeLists.txt modifié : src/QuadTree/QuadTreeBuilder.cpp modifié : src/TestArrayTreeBuilder.cpp modifié : src/Tree.cpp modifié : src/XMLTree/XMLTreeBuilder.cpp modifié : src/apGenerator.cpp
73 lines
2.1 KiB
C++
73 lines
2.1 KiB
C++
#ifndef _OTB_TRISKELE_COMP_ATTRIBUTE_HPP
|
|
#define _OTB_TRISKELE_COMP_ATTRIBUTE_HPP
|
|
|
|
#include <vector>
|
|
|
|
#include "triskeleDebug.hpp"
|
|
#include "triskeleBase.hpp"
|
|
#include "Tree.hpp"
|
|
#include "AttributeProfiles.hpp"
|
|
|
|
namespace otb {
|
|
namespace triskele {
|
|
|
|
template<typename AttrT>
|
|
class CompAttribute {
|
|
public:
|
|
inline CompAttribute (const Tree &tree);
|
|
inline ~CompAttribute ();
|
|
|
|
inline void updateTranscient ();
|
|
inline const AttrT *getValues () const;
|
|
inline AttrT *getValues ();
|
|
inline AttrT getMaxValue () const;
|
|
|
|
virtual inline ostream &print (ostream &out) const { print (out, ""); }
|
|
|
|
protected:
|
|
const Tree &tree;
|
|
DimNodeId leafCount;
|
|
vector<AttrT> values;
|
|
|
|
inline void free ();
|
|
inline void book (const DimImg &leafCount);
|
|
|
|
ostream &print (ostream &out, const string &msg) const;
|
|
friend ostream &operator << (ostream& out, const CompAttribute &ca) { return ca.print (out); }
|
|
};
|
|
|
|
} // triskele
|
|
} // otb
|
|
|
|
#include "Attributes/WeightAttributes.hpp"
|
|
|
|
namespace otb {
|
|
namespace triskele {
|
|
|
|
template<typename AttrT>
|
|
class CompAttributeC : public CompAttribute<AttrT> {
|
|
public:
|
|
inline CompAttributeC (const Tree &tree);
|
|
inline ~CompAttributeC ();
|
|
|
|
static inline vector<AttrT> getScaledThresholds (const vector<double> &thresholds, const AttrT &maxValue);
|
|
|
|
template<typename PixelT>
|
|
inline void cut (vector<vector<PixelT> > &allBands, const AttributeProfiles<PixelT> &attributeProfiles,
|
|
const AttrT &pixelAttrValue, const vector<AttrT> &thresholds) const;
|
|
|
|
template<typename PixelT>
|
|
inline void cutOnPos (vector<vector<PixelT> > &allBands, const AttributeProfiles<PixelT> &attributeProfiles,
|
|
const DimImg &pixelId, const AttrT &pixelAttrValue, const vector<AttrT> &thresholds) const;
|
|
|
|
protected:
|
|
template<typename CumpFunctPSE>
|
|
inline void computeSameCompLevel (const CumpFunctPSE &cumpFunctPSE /* cumpFunctPSE (DimImg parentId)*/) const;
|
|
};
|
|
|
|
#include "CompAttribute.tpp"
|
|
} // triskele
|
|
} // otb
|
|
|
|
#endif // _OTB_TRISKELE_COMP_ATTRIBUTE_HPP
|