ITK
6.0.0
Insight Toolkit
|
#include <itkUnaryFrequencyDomainFilter.h>
Performs a unary operation on a frequency domain image.
A frequency filtering functor needs to be supplied via one of SetFunctor() overloads. The functor should take FrequencyIteratorType reference as its only parameter. If functor configurability is required, those parameters should be passed directly to the functor at the place of definition.
Filters in the module ITKImageFrequency work with input images in the frequency domain. This filter is templated over a TFrequencyIterator depending on the frequency layout of the input image.
Images in the dual space can be acquired experimentally, from scattering experiments or other techniques. In that case use FrequencyImageRegionIteratorWithIndex because the layout of dual space images is the same as spatial domain images.
Frequency-domain images can be computed from any spatial-domain applying a Fourier Transform. If ForwardFFTImageFilter was used, template this filter with the FrequencyFFTLayoutImageRegionIteratorWithIndex. Please note that FrequencyFFTLayoutImageRegionIteratorWithIndex requires a full FFT, and is not compatible with the Hermitian optimization.
To use this filter with Hermitian (halved-frequency) FFTs, use FrequencyHalfHermitianFFTLayoutImageRegionIteratorWithIndex or its const version.
If the output of the FFT is shifted, for example after applying FFTShiftImageFilter, use FrequencyShiftedFFTLayoutImageRegionIteratorWithIndex.
Definition at line 61 of file itkUnaryFrequencyDomainFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TImageType::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TImageType, TImageType > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TImageType > | |
static constexpr unsigned int | OutputImageDimension |
Private Attributes | |
bool | m_ActualXDimensionIsOdd { false } |
std::function< void(const ImageRegionType &)> | m_DynamicThreadedGenerateDataFunction {} |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TImageType, TImageType > | |
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
Static Protected Member Functions inherited from itk::ImageSource< TImageType > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Static Protected Member Functions inherited from itk::ProcessObject | |
template<typename TSourceObject > | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
Protected Attributes inherited from itk::ImageSource< TImageType > | |
bool | m_DynamicMultiThreading |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ConstPointer = SmartPointer<const Self> |
Definition at line 70 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ConstRefFunctionType = double(const FrequencyIteratorType &) |
Returns factor with which the current frequency should be multiplied.
Definition at line 109 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::FrequencyIteratorType = TFrequencyIterator |
Frequency Iterator types
Definition at line 95 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::FrequencyValueType = typename FrequencyIteratorType::FrequencyValueType |
Definition at line 96 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ImageConstPointer = typename ImageType::ConstPointer |
Definition at line 81 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ImagePointer = typename ImageType::Pointer |
Definition at line 80 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ImageRegionType = typename TImageType::RegionType |
Typedef to describe the image region type.
Definition at line 86 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ImageType = TImageType |
Typedef to images
Definition at line 79 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::IndexType = typename TImageType::IndexType |
Definition at line 82 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::PixelType = typename TImageType::PixelType |
Definition at line 83 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::Pointer = SmartPointer<Self> |
Definition at line 69 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::Self = UnaryFrequencyDomainFilter |
Standard class type alias.
Definition at line 67 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::Superclass = InPlaceImageFilter<TImageType, TImageType> |
Definition at line 68 of file itkUnaryFrequencyDomainFilter.h.
using itk::UnaryFrequencyDomainFilter< TImageType, TFrequencyIterator >::ValueFunctionType = void(FrequencyIteratorType &) |
Directly modifies the frequency as needed.
Definition at line 112 of file itkUnaryFrequencyDomainFilter.h.
|
protected |
|
virtual |
Set to true when the you are dealing with images in the frequency domain that have been computed using RealToHalfHermitianFFT, and the original image in the spatial domain was odd. Only needed when using HermitianFrequencyIterator and the original image was odd.
|
overrideprotected |
UnaryFrequencyDomainFilter is implemented as a multithreaded filter. Therefore, this implementation provides a DynamicThreadedGenerateData() routine which is called for each processing thread.
The template method is instantiated by the SetFunctor method, and the generated code is run during the update.
|
protected |
UnaryFrequencyDomainFilter is implemented as a multithreaded filter. Therefore, this implementation provides a DynamicThreadedGenerateData() routine which is called for each processing thread.
The template method is instantiated by the SetFunctor method, and the generated code is run during the update.
|
virtual |
Set to true when the you are dealing with images in the frequency domain that have been computed using RealToHalfHermitianFFT, and the original image in the spatial domain was odd. Only needed when using HermitianFrequencyIterator and the original image was odd.
|
overridevirtual |
Reimplemented from itk::ProcessObject.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ProcessObject.
|
virtual |
Set to true when the you are dealing with images in the frequency domain that have been computed using RealToHalfHermitianFFT, and the original image in the spatial domain was odd. Only needed when using HermitianFrequencyIterator and the original image was odd.
|
inline |
The functor returns factor with which the current frequency should be multiplied.
Definition at line 117 of file itkUnaryFrequencyDomainFilter.h.
|
inline |
The functor directly modifies the frequency as needed.
Definition at line 130 of file itkUnaryFrequencyDomainFilter.h.
|
inline |
Set the frequency functor by a "Functor Object"
The functor defines an operation done per scalar frequency. A single copy of the argument is created an used for all threads, so the functor must be concurrent thread-safe. The functor must a have an operator() method which accept arguments of FrequencyIteratorType&.
Definition at line 176 of file itkUnaryFrequencyDomainFilter.h.
|
inline |
The functor returns factor with which the current frequency should be multiplied.
Definition at line 143 of file itkUnaryFrequencyDomainFilter.h.
|
inline |
The functor directly modifies the frequency as needed.
Definition at line 156 of file itkUnaryFrequencyDomainFilter.h.
|
staticconstexpr |
Definition at line 88 of file itkUnaryFrequencyDomainFilter.h.
|
private |
Definition at line 211 of file itkUnaryFrequencyDomainFilter.h.
|
private |
Definition at line 209 of file itkUnaryFrequencyDomainFilter.h.