Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

btom_gauss_cylinder.h

Go to the documentation of this file.
00001 #ifndef gauss_cylinder_h_
00002 #define gauss_cylinder_h_
00003 //-----------------------------------------------------------------------------
00004 //:
00005 // \file
00006 // \brief A formulation of a cylinder with Gaussian distribution
00007 //
00008 // \author
00009 //   J.L. Mundy
00010 // \date  March 04, 2003    Initial version.
00011 //
00012 // Intrinsic parameters
00013 //  - xy_sigma_     - the in-slice Gaussian std-dev.
00014 //  - z_sigma_      - the across-slice Gaussian std-dev.
00015 //  - length_sigma_ - truncation of the cylinder axis.
00016 //
00017 // Extrinsic parameters are:
00018 //  - x_origin_     - x coordinate of the cylinder origin
00019 //  - y_origin_     - y coordinate of the cylinder origin
00020 //  - z_origin_     - z coordinate of the cylinder origin
00021 //  - elevation_    - elevation orientation of cylinder axis (deg)
00022 //  - azimuth_      - azimuth orientation of the cylinder axis (deg)
00023 //
00024 // \verbatim
00025 //  Modifications
00026 //   10-sep-2004 Peter Vanroose Added copy ctor with explicit vbl_ref_count init
00027 // \endverbatim
00028 //-----------------------------------------------------------------------------
00029 #include <vcl_iosfwd.h>
00030 #include <vbl/vbl_ref_count.h>
00031 
00032 class btom_gauss_cylinder : public vbl_ref_count
00033 {
00034   // PUBLIC INTERFACE----------------------------------------------------------
00035  public:
00036   // Constructors/Initializers/Destructors-------------------------------------
00037 
00038   btom_gauss_cylinder(float xy_sigma=1.0, float z_sigma=5.0,
00039                       float length_sigma=10.0, float density=1.0,
00040                       float x_origin=0.0, float y_origin=0.0, float z_position=0.0,
00041                       float elevation=0.0, float azimuth=0.0);
00042   btom_gauss_cylinder(btom_gauss_cylinder const& c)
00043     : vbl_ref_count(), xy_sigma_(c.xy_sigma_), z_sigma_(c.z_sigma_),
00044       length_sigma_(c.length_sigma_), density_(c.density_),
00045       x_origin_(c.x_origin_), y_origin_(c.y_origin_), z_position_(c.z_position_),
00046       elevation_(c.elevation_), azimuth_(c.azimuth_) {}
00047   ~btom_gauss_cylinder();
00048 
00049   // Data Access---------------------------------------------------------------
00050   float get_xy_sigma() {return xy_sigma_;}
00051   float get_z_sigma() {return z_sigma_;}
00052   float get_length_sigma() {return length_sigma_;}
00053   float get_density() {return density_;}
00054   float get_x_origin() {return x_origin_;}
00055   float get_y_origin() {return y_origin_;}
00056   float get_z_position() {return z_position_;}
00057   float get_elevation() {return elevation_;}
00058   float get_azimuth() {return azimuth_;}
00059 
00060   void set_xy_sigma(float xy_sigma) {xy_sigma_=xy_sigma;}
00061   void set_z_sigma(float z_sigma) {z_sigma_=z_sigma;}
00062   void set_length_sigma(float length_sigma) {length_sigma_=length_sigma;}
00063   void set_density(float density) {density_ = density;}
00064   void set_x_origin(float x_origin) {x_origin_=x_origin;}
00065   void set_y_origin(float y_origin) {y_origin_=y_origin;}
00066   void set_z_position(float z_position) {z_position_=z_position;}
00067   void set_elevation(float elevation) {elevation_=elevation;}
00068   void set_azimuth(float azimuth) {azimuth_=azimuth;}
00069 
00070   // Utility Methods-------------------------------------------------------
00071   //The main simulation function
00072   float cylinder_intensity(float x, float y);
00073   float radon_transform(float theta, float t);
00074   // print params
00075   friend
00076     vcl_ostream& operator<<(vcl_ostream& os, const btom_gauss_cylinder& gc);
00077 
00078  protected:
00079   // Data Members--------------------------------------------------------------
00080   float xy_sigma_;
00081   float z_sigma_;
00082   float length_sigma_;
00083   float density_;
00084   float x_origin_;
00085   float y_origin_;
00086   float z_position_;
00087   float elevation_;
00088   float azimuth_;
00089 };
00090 
00091 #endif

Generated on Thu Jan 10 14:54:32 2008 for contrib/brl/bmvl/btom by  doxygen 1.4.4