18 #ifndef __otbSFSTexturesImageFilter_h
19 #define __otbSFSTexturesImageFilter_h
52 template <
class TInputImage,
class TOutputImage>
86 itkGetMacro(Radius,
unsigned int);
105 void SetSpatialThreshold(
unsigned int thresh)
107 this->GetFunctor().SetSpatialThreshold(thresh);
111 unsigned int GetSpatialThreshold()
113 return this->GetFunctor().GetSpatialThreshold();
118 this->GetFunctor().SetSpectralThreshold(thresh);
122 return this->GetFunctor().GetSpectralThreshold();
125 void SetRatioMaxConsiderationNumber(
unsigned int value)
127 this->GetFunctor().SetRatioMaxConsiderationNumber(value);
129 unsigned int GetRatioMaxConsiderationNumber()
131 return this->GetFunctor().GetRatioMaxConsiderationNumber();
135 void SetAlpha(
double alpha)
137 this->GetFunctor().SetAlpha(alpha);
141 return this->GetFunctor().GetAlpha();
145 void SetNumberOfDirections(
unsigned int D)
147 this->GetFunctor().SetNumberOfDirections(D);
148 double step =
CONST_2PI /
static_cast<double>(D);
149 this->GetFunctor().SetDirectionStep(step);
151 unsigned int GetNumberOfDirections()
153 return this->GetFunctor().GetNumberOfDirections();
165 typedef enum {LENGTH = 1, WIDTH, PSI,
WMEAN, RATIO, SD} FeatureType;
169 if (static_cast<unsigned int>(
id) > this->GetTexturesStatus().size() ||
id == 0)
172 <<
"Invalid texture index " <<
id <<
", must be in [1;" << this->GetTexturesStatus().size() <<
"]");
176 this->GetFunctor().SetTextureStatus(
id - 1, isSelected);
180 std::vector<bool> GetTexturesStatus()
182 return this->GetFunctor().GetTexturesStatus();
185 void InitFeatureStatus(
bool status);
188 const OutputImageType * GetLengthOutput()
const;
189 OutputImageType * GetLengthOutput();
192 const OutputImageType * GetWidthOutput()
const;
193 OutputImageType * GetWidthOutput();
196 const OutputImageType * GetPSIOutput()
const;
197 OutputImageType * GetPSIOutput();
200 const OutputImageType * GetWMeanOutput()
const;
201 OutputImageType * GetWMeanOutput();
204 const OutputImageType * GetRatioOutput()
const;
205 OutputImageType * GetRatioOutput();
208 const OutputImageType * GetSDOutput()
const;
209 OutputImageType * GetSDOutput();
211 virtual void GenerateOutputInformation();
217 void PrintSelf(std::ostream& os,
itk::Indent indent)
const;
219 virtual void BeforeThreadedGenerateData();
220 virtual void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
int threadId);
222 virtual void GenerateInputRequestedRegion(
void);
226 void operator =(
const Self&);
235 #ifndef OTB_MANUAL_INSTANTIATION