CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
iDeformationRigid.hh
Go to the documentation of this file.
00001 
00009 #ifndef IDEFORMATIONRIGID_HH
00010 #define IDEFORMATIONRIGID_HH 1
00011 
00012 #include "oImageSpace.hh"
00013 #include "sAddonManager.hh"
00014 #include "vDeformation.hh"
00015 
00022 class iDeformationRigid : public vDeformation
00023 {
00024   // -----------------------------------------------------------------------------------------
00025   // Constructor & Destructor
00026   public:
00031     iDeformationRigid();
00036     ~iDeformationRigid();
00037 
00038 
00039   // -----------------------------------------------------------------------------------------
00040   // Public member functions
00041   public:
00042     // Function for automatic insertion (put the class name as the parameters and do not add semi-colon at the end of the line)
00043     FUNCTION_DEFORMATION(iDeformationRigid)
00050     int ReadAndCheckConfigurationFile(const string& a_fileOptions);
00058     int ReadAndCheckOptionsList(const string& a_listOptions);
00065     int CheckSpecificParameters();
00072     int Initialize();
00077     void ShowHelp();
00091     int ApplyDeformations(FLTNB* ap_inputImage, FLTNB* ap_outputImage, int a_direction, int a_defIdx);
00092 
00093 
00094   // -----------------------------------------------------------------------------------------
00095   // Private member functions
00096   private:
00109     int WarpImage(string a_vectorFileIdx, double *ap_inputImage, double *ap_outputImage);
00116     int LoadVectorFiles(string a_vectorFileIdx);
00117 
00118 
00119   // -----------------------------------------------------------------------------------------
00120   // Data members
00121   private:
00122     vector<string> 
00123       m_pathToFwdDeformationFiles; 
00125     vector<string> 
00126       m_pathToBwdDeformationFiles; 
00128     double* m_OriginalArray;       
00129     double* m_OutputArray;         
00130     FLTNB* mp_vectorX;             
00131     FLTNB* mp_vectorY;             
00132     FLTNB* mp_vectorZ;             
00133 };
00134 
00135 // Class for automatic insertion (set here the visible image deformation's name, put the class name as the parameters and do not add semi-colon at the end of the line)
00136 CLASS_DEFORMATION(deformationRigid,iDeformationRigid)
00137 
00138 #endif
 All Classes Files Functions Variables Typedefs Defines