18#ifndef itkFrequencyBandImageFilter_h
19#define itkFrequencyBandImageFilter_h
52template <
typename TImageType,
typename TFrequencyIterator = FrequencyFFTLayoutImageRegionIteratorWithIndex<TImageType>>
80 static constexpr unsigned int ImageDimension = TImageType::ImageDimension;
129 itkSetMacro(PassLowFrequencyThreshold,
bool);
130 itkGetConstReferenceMacro(PassLowFrequencyThreshold,
bool);
131 itkBooleanMacro(PassLowFrequencyThreshold);
136 itkSetMacro(PassHighFrequencyThreshold,
bool);
137 itkGetConstReferenceMacro(PassHighFrequencyThreshold,
bool);
138 itkBooleanMacro(PassHighFrequencyThreshold);
142 itkSetMacro(PassBand,
bool);
143 itkGetConstReferenceMacro(PassBand,
bool);
144 itkBooleanMacro(PassBand);
157 SetPassBand(
const bool passLowThreshold,
const bool passHighThreshold);
169 SetStopBand(
const bool passLowThreshold,
const bool passHighThreshold);
173 itkSetMacro(RadialBand,
bool);
174 itkGetConstReferenceMacro(RadialBand,
bool);
175 itkBooleanMacro(RadialBand);
180 itkSetMacro(PassNegativeLowFrequencyThreshold,
bool);
181 itkGetConstReferenceMacro(PassNegativeLowFrequencyThreshold,
bool);
182 itkBooleanMacro(PassNegativeLowFrequencyThreshold);
187 itkSetMacro(PassNegativeHighFrequencyThreshold,
bool);
188 itkGetConstReferenceMacro(PassNegativeHighFrequencyThreshold,
bool);
189 itkBooleanMacro(PassNegativeHighFrequencyThreshold);
212 bool m_PassBand{
true };
213 bool m_PassLowFrequencyThreshold{
true };
214 bool m_PassHighFrequencyThreshold{
true };
215 bool m_RadialBand{
true };
216 bool m_PassNegativeLowFrequencyThreshold{
true };
217 bool m_PassNegativeHighFrequencyThreshold{
true };
221#ifndef ITK_MANUAL_INSTANTIATION
222# include "itkFrequencyBandImageFilter.hxx"
Performs a frequency band filtering on a frequency domain image.
TFrequencyIterator FrequencyIteratorType
void SetFrequencyThresholds(const FrequencyValueType &freqLow, const FrequencyValueType &freqHigh)
typename ImageType::Pointer ImagePointer
FrequencyBandImageFilter()
typename TImageType::RegionType ImageRegionType
void SetPassBand(const bool passLowThreshold, const bool passHighThreshold)
void BandPass(FrequencyIteratorType &freqIt)
void PrintSelf(std::ostream &os, Indent indent) const override
typename FrequencyIteratorType::FrequencyValueType FrequencyValueType
typename ImageType::ConstPointer ImageConstPointer
void SetFrequencyThresholdsInRadians(const FrequencyValueType &freqLowInRadians, const FrequencyValueType &freqHighInRadians)
typename TImageType::PixelType PixelType
void SetHighFrequencyThresholdInRadians(const FrequencyValueType &freqHighInRadians)
void SetLowFrequencyThresholdInRadians(const FrequencyValueType &freqLowInRadians)
typename TImageType::IndexType IndexType
void SetStopBand(const bool passLowThreshold, const bool passHighThreshold)
void VerifyPreconditions() const override
Verifies that the process object has been configured correctly, that all required inputs are set,...
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Performs a unary operation on a frequency domain image.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....