Package boofcv.alg.transform.fft
Class GDiscreteFourierTransformOps
java.lang.Object
boofcv.alg.transform.fft.GDiscreteFourierTransformOps
Implementation of functions in
DiscreteFourierTransformOps which are image type agnostic-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends GrayF<T>,W extends ImageInterleaved>
DiscreteFourierTransform<T,W> createTransform(ImageDataType type) Creates aDiscreteFourierTransformfor the specified type.static voidmagnitude(ImageInterleaved transform, GrayF magnitude) Computes the magnitude of the complex image:
magnitude = sqrt( real2 + imaginary2 )static voidmultiplyComplex(ImageInterleaved complexA, ImageInterleaved complexB, ImageInterleaved complexC) Performs element-wise complex multiplication between two complex images.static voidmultiplyRealComplex(GrayF realA, ImageInterleaved complexB, ImageInterleaved complexC) Performs element-wise complex multiplication between a real image and a complex image.static voidphase(ImageInterleaved transform, GrayF phase) Computes the phase of the complex image:
phase = atan2( imaginary , real )static voidrealToComplex(GrayF real, ImageInterleaved complex) Converts a regular image into a complex interleaved image with the imaginary component set to zero.static voidshiftZeroFrequency(ImageInterleaved transform, boolean forward) Moves the zero-frequency component into the image center (width/2,height/2).
-
Constructor Details
-
GDiscreteFourierTransformOps
public GDiscreteFourierTransformOps()
-
-
Method Details
-
createTransform
public static <T extends GrayF<T>,W extends ImageInterleaved> DiscreteFourierTransform<T,W> createTransform(ImageDataType type) Creates aDiscreteFourierTransformfor the specified type.- Parameters:
type- Image data type- Returns:
DiscreteFourierTransform- See Also:
-
shiftZeroFrequency
Moves the zero-frequency component into the image center (width/2,height/2). This function can be called to undo the transform.- Parameters:
transform- the DFT which is to be shifted.forward- If true then it does the shift in the forward direction. If false then it undoes the transforms.
-
magnitude
Computes the magnitude of the complex image:
magnitude = sqrt( real2 + imaginary2 )- Parameters:
transform- (Input) Complex interleaved imagemagnitude- (Output) Magnitude of image
-
phase
Computes the phase of the complex image:
phase = atan2( imaginary , real )- Parameters:
transform- (Input) Complex interleaved imagephase- (output) Phase of image
-
realToComplex
Converts a regular image into a complex interleaved image with the imaginary component set to zero.- Parameters:
real- (Input) Regular image.complex- (Output) Equivalent complex image.
-
multiplyRealComplex
public static void multiplyRealComplex(GrayF realA, ImageInterleaved complexB, ImageInterleaved complexC) Performs element-wise complex multiplication between a real image and a complex image.- Parameters:
realA- (Input) Regular imagecomplexB- (Input) Complex imagecomplexC- (Output) Complex image
-
multiplyComplex
public static void multiplyComplex(ImageInterleaved complexA, ImageInterleaved complexB, ImageInterleaved complexC) Performs element-wise complex multiplication between two complex images.- Parameters:
complexA- (Input) Complex imagecomplexB- (Input) Complex imagecomplexC- (Output) Complex image
-