#ifndef IPPOWERSPECTRUM_HEADER #define IPPOWERSPECTRUM_HEADER 1 //////////////////////////////////////////////////////////////////////////// //! docentry="Image.Image Processing.Spatial_Filters" //! example=exIPTexture.cc //! file="amma/Image/IPStream/Texture/IPPowerSpectrum.hh" //! rcsid="$Id: IPPowerSpectrum.hh,v 1.3 2001/03/07 18:29:42 ees1cg Exp $" //! author="Kieron Messer" //! date="17/10/2000" #include "amma/DP/Process.hh" #include "amma/NumImage.hh" #include "amma/Complex.hh" #include "amma/Image2Iter.hh" // -------------------------------------------------------------------------- // ********** IPPowerSpectrumBodyC ******************************************** // -------------------------------------------------------------------------- //! userlevel=Develop //: // You should not use this class directly, but rather the handle class // IPPowerSpectrum. // class IPPowerSpectrumBodyC : public DPProcessBodyC, NumImageC > { public: IPPowerSpectrumBodyC (BooleanT root); //: Constructor // (See handle class IPPowerSpectrum) virtual NumImageC Apply (const NumImageC &im); //: Performs window averaging filter on image "im" // Uses neighbourhood specified in constructor. private: BooleanT root; //: Do we want to take root of magnitude }; /////////////////////////////////////////////////// // -------------------------------------------------------------------------- // ********** IPPowerSpectrum ******************************************** // -------------------------------------------------------------------------- //! userlevel=Normal //: Computes the powere spectrum for an image of complex numbers // class IPPowerSpectrumC : public DPProcessC, NumImageC > { public: IPPowerSpectrumC (const BooleanT root) : DPProcessC, NumImageC > (*new IPPowerSpectrumBodyC(root)) {} //: Constructs IPPowerSpectrumC }; #endif