CASToR  1.0
Tomographic Reconstruction (PET/SPECT)
iImageConvolverTemplate.cc
Go to the documentation of this file.
00001 
00002 /*
00003   Implementation of class iImageConvolverTemplate
00004 
00005   - separators: done
00006   - doxygen: done
00007   - default initialization: done
00008   - CASTOR_DEBUG: 
00009   - CASTOR_VERBOSE: 
00010 */
00011 
00018 #include "vImageConvolver.hh"
00019 #include "oImageDimensionsAndQuantification.hh"
00020 #include "oImageSpace.hh"
00021 #include "iImageConvolverTemplate.hh"
00022 
00023 // =====================================================================
00024 // ---------------------------------------------------------------------
00025 // ---------------------------------------------------------------------
00026 // =====================================================================
00027 
00028 iImageConvolverTemplate::iImageConvolverTemplate() : vImageConvolver()
00029 {
00030   // Affect default values to the parameters specific to this convolver
00031 }
00032 
00033 // =====================================================================
00034 // ---------------------------------------------------------------------
00035 // ---------------------------------------------------------------------
00036 // =====================================================================
00037 
00038 iImageConvolverTemplate::~iImageConvolverTemplate()
00039 {
00040   // Delete or free all structures specific to this convolver that were allocated by this convolver
00041 }
00042 
00043 // =====================================================================
00044 // ---------------------------------------------------------------------
00045 // ---------------------------------------------------------------------
00046 // =====================================================================
00047 
00048 int iImageConvolverTemplate::ReadConfigurationFile(const string& a_configurationFile)
00049 {
00050   // Implement here the reading of any options specific to this image convolver, through a configuration file
00051 
00052   // Normal end
00053   return 0;
00054 }
00055 
00056 // =====================================================================
00057 // ---------------------------------------------------------------------
00058 // ---------------------------------------------------------------------
00059 // =====================================================================
00060 
00061 int iImageConvolverTemplate::ReadOptionsList(const string& a_optionsList)
00062 {
00063   // Implement here the reading of any options specific to this image convolver, through a list of options separated by commas
00064 
00065   // Normal end
00066   return 0;
00067 }
00068 
00069 // =====================================================================
00070 // ---------------------------------------------------------------------
00071 // ---------------------------------------------------------------------
00072 // =====================================================================
00073 
00074 void iImageConvolverTemplate::ShowHelp()
00075 {
00076   // Here, display some help and guidance to how to use this image convolver module and what it does.
00077   // Also describes the form of the configuration file or the list of options that parameterize your module.
00078   cout << "This image convolver is a template class dedicated to add your own custom image convolver." << endl;
00079 }
00080 
00081 // =====================================================================
00082 // ---------------------------------------------------------------------
00083 // ---------------------------------------------------------------------
00084 // =====================================================================
00085 
00086 int iImageConvolverTemplate::CheckSpecificParameters()
00087 {
00088   // Implement here all mandatory checks specific to this image convolver needed for a nice use
00089 
00090   // Normal end
00091   return 0;
00092 }
00093 
00094 // =====================================================================
00095 // ---------------------------------------------------------------------
00096 // ---------------------------------------------------------------------
00097 // =====================================================================
00098 
00099 int iImageConvolverTemplate::BuildConvolutionKernel()
00100 {
00101   // Here you must build the convolution kernels. This means first specifying the number of kernels: m_nbKernels.
00102   // If it is stationary (i.e. m_nbKernels=1), then the m_stationary boolean should be set to true, as the Convolve
00103   // function implemented by the mother vImageConvolver will be used. Otherwise, this function Convolve(), as well
00104   // as ConvolveTranspose() must be overloaded by this class in order to properly use the convolution kernels.
00105   // Second, the dimensions of the kernels mp_dimKernelX, mp_dimKernelY and mp_dimKernelZ must first be allocated
00106   // with respect to the number of kernels, and then be specified. Finally, the kernels values m2p_kernel must also be
00107   // allocated with respect to the number of kernels and their dimensions, and then be specified. It is assumed that
00108   // the normalization of the kernels is made in this function.
00109 
00110   // Normal end
00111   return 0;
00112 }
00113 
00114 // =====================================================================
00115 // ---------------------------------------------------------------------
00116 // ---------------------------------------------------------------------
00117 // =====================================================================
 All Classes Files Functions Variables Typedefs Defines