contrib/brl/bseg/vpro/vpro_spatial_filter_params.h
Go to the documentation of this file.
00001 // This is brl/bseg/vpro/vpro_spatial_filter_params.h
00002 #ifndef vpro_spatial_filter_params_h_
00003 #define vpro_spatial_filter_params_h_
00004 //:
00005 // \file
00006 // \brief parameter mixin for the vpro_spatial_filter_process
00007 //
00008 // \author
00009 //    Joseph L. Mundy - October 28, 2003
00010 //    Brown University
00011 //
00012 //-----------------------------------------------------------------------------
00013 #include <gevd/gevd_param_mixin.h>
00014 #include <vcl_iosfwd.h>
00015 
00016 class vpro_spatial_filter_params : public gevd_param_mixin
00017 {
00018  public:
00019   vpro_spatial_filter_params(const bool show_filtered_fft = false,
00020                              const float dir_fx = 53.0f,
00021                              const float dir_fy = 81.0f,
00022                              const float f0     = 30.0f,
00023                              const float radius = 20.0f);
00024 
00025   vpro_spatial_filter_params(const vpro_spatial_filter_params& old_params);
00026  ~vpro_spatial_filter_params(){}
00027 
00028   bool SanityCheck();
00029   friend
00030     vcl_ostream& operator<<(vcl_ostream&,const vpro_spatial_filter_params& sfp);
00031  protected:
00032   void InitParams(bool show_filtered_fft,
00033                   float dir_fx, float dir_fy, float f0, float radius);
00034 
00035  public:
00036   //
00037   // Parameter blocks and parameters
00038   //
00039   bool show_filtered_fft_; //!< output the filtered fft magnitude
00040   float dir_fx_; //!< x component of blocking filter direction
00041   float dir_fy_; //!< y component of blocking filter direction
00042   float f0_;     //!< center frequency of blocking filter (+- f0)
00043   float radius_; //!< radius of blocking filter lobe
00044 };
00045 
00046 #endif // vpro_spatial_filter_params_h_