21 #ifndef otbBandsStatisticsAttributesLabelMapFilter_h
22 #define otbBandsStatisticsAttributesLabelMapFilter_h
50 template <
class TLabelObject,
class TFeatureImage>
89 void AddFeature(
const std::string& name,
const TFeatureImage* img);
138 template <
class TImage,
class TFeatureImage>
141 TImage, typename Functor::BandStatsAttributesLabelObjectFunctor<typename TImage::LabelObjectType, otb::Image<double, 2>>>
164 itkStaticConstMacro(ImageDimension,
unsigned int, TImage::ImageDimension);
173 void SetFeatureImage(
const TFeatureImage* input);
179 void SetReducedAttributeSet(
bool flag);
182 bool GetReducedAttributeSet()
const;
184 itkBooleanMacro(ReducedAttributeSet);
195 void AllocateOutputs()
override;
197 void GenerateInputRequestedRegion()
override;
202 void BeforeThreadedGenerateData()
override;
205 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
215 #ifndef OTB_MANUAL_INSTANTIATION
This filter computes band statistics attributes for each object.
TFeatureImage FeatureImageType
Functor::BandStatsAttributesLabelObjectFunctor< LabelObjectType, InternalImageType > FunctorType
itk::SmartPointer< const Self > ConstPointer
ImageType::RegionType InputImageRegionType
BandsStatisticsAttributesLabelMapFilter Self
BandsStatisticsAttributesLabelMapFilter(const Self &)=delete
~BandsStatisticsAttributesLabelMapFilter() override
ImageType::LabelObjectType LabelObjectType
LabelMapFeaturesFunctorImageFilter< ImageType, FunctorType > Superclass
itk::SmartPointer< Self > Pointer
FeatureImageType::InternalPixelType FeatureInternalPixelType
ImageType::Pointer ImagePointer
void operator=(const Self &)=delete
void EnlargeOutputRequestedRegion(itk::DataObject *) override
Image< InternalPrecisionType, 2 > InternalImageType
double InternalPrecisionType
Functor to compute bands statistics attributes.
StatisticsAttributesLabelObjectFunctor< TLabelObject, TFeatureImage > StatsFunctorType
Statistics functor.
TFeatureImage::PixelType FeatureType
Typedef of the feature image type.
BandStatsAttributesLabelObjectFunctor()
bool GetReducedAttributeSet() const
const TFeatureImage * GetFeatureImage(const std::string &name) const
TFeatureImage::ConstPointer FeatureImageConstPointer
Feature image const pointer.
unsigned int GetNumberOfFeatures() const
std::map< std::string, StatsFunctorType > StatsFunctorsMapType
Map to store the functors.
bool operator!=(const Self &self)
bool RemoveFeature(const std::string &name)
void SetReducedAttributeSet(bool flag)
BandStatsAttributesLabelObjectFunctor Self
virtual ~BandStatsAttributesLabelObjectFunctor()
void AddFeature(const std::string &name, const TFeatureImage *img)
bool operator==(const Self &self)
True to compute only a reduced attribute set.
TLabelObject LabelObjectType
Typedef of the label object.
void operator()(LabelObjectType *lo) const
bool m_ReducedAttributeSet
True to compute only a reduced attribute set.
StatsFunctorsMapType m_StatsFunctorsMap
The Stat functors map.
Functor to compute statistics attributes of one LabelObject.
Creation of an "otb" image which contains metadata.
This class applies a functor to compute new features.
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.