00001 #ifndef ALIGNOPTIONS_H 00002 #define ALIGNOPTIONS_H 00003 00004 #include "mpi.h" 00005 #include "emdata.h" 00006 #include <string> 00007 00008 using namespace EMAN; 00009 00010 class AlignOptions { 00011 public: 00012 AlignOptions(); 00013 AlignOptions(Vec3i& volsize); 00014 AlignOptions(const AlignOptions& old_options); 00015 virtual ~AlignOptions(); 00016 00017 void set_mask3D(EMData * mask3D); 00018 void set_first_ring(int first_ring); 00019 void set_last_ring(int last_ring); 00020 void set_rstep(int rstep); 00021 void set_ri(int ri); 00022 void set_xrng(float xrng); 00023 void set_yrng(float yrng); 00024 void set_step(float step); 00025 void set_dtheta(float dtheta); 00026 void set_snr(float snr); 00027 void set_symmetry(std::string symmetry); 00028 void set_CTF(bool CTF); 00029 void set_have_angles(bool have_angles); 00030 void set_ref_angle_type(std::string ref_angle_type); 00031 void set_use_sirt(bool use_sirt); 00032 void set_sirt_tol(float sirt_tol); 00033 void set_sirt_lam(float sirt_lam); 00034 void set_sirt_maxit(int sirt_maxit); 00035 void set_maxit(int maxit); 00036 00037 EMData * get_mask3D(); 00038 int get_first_ring(); 00039 int get_last_ring(); 00040 int get_rstep(); 00041 int get_ri(); 00042 float get_xrng(); 00043 float get_yrng(); 00044 float get_step(); 00045 float get_dtheta(); 00046 float get_snr(); 00047 std::string get_symmetry(); 00048 bool get_CTF(); 00049 bool get_have_angles(); 00050 std::string get_ref_angle_type(); 00051 bool get_use_sirt(); 00052 float get_sirt_tol(); 00053 float get_sirt_lam(); 00054 int get_sirt_maxit(); 00055 int get_maxit(); 00056 private: 00057 00058 EMData * mask3D; 00059 int first_ring; 00060 int last_ring; 00061 int rstep; 00062 int ri; 00063 float xrng; 00064 float yrng; 00065 float step; 00066 float dtheta; 00067 float snr; 00068 std::string symmetry; 00069 bool CTF; 00070 bool have_angles; 00071 std::string ref_angle_type; 00072 bool use_sirt; 00073 float sirt_tol; 00074 float sirt_lam; 00075 int sirt_maxit; 00076 int maxit; 00077 }; 00078 #endif // ALIGNOPTIONS_H