Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

radon.h

Go to the documentation of this file.
00001 
00020 
00021 
00022 #ifndef RADON_H
00023 #define RADON_H
00024 /**********************************************************/
00025 /**********************************************************/
00026 #include "ellipse.h"
00027 #include "prmat.h"
00028 /**********************************************************/
00029 /**********************************************************/
00030 /*Definitions for radon transform status*/
00032 #define RADON_STATUS_UNINITIALIZED 0
00033 
00034 #define RADON_STATUS_INITIALIZED 1
00035 
00036 #define RADON_STATUS_OCCUPIED 2
00037 
00038 #define RADON_STATUS_ERROR 3
00039 /**********************************************************/ 
00041 int RADON_TEST;
00043 int RADON_VERBOSE;
00044 /**********************************************************/ 
00045 
00046 typedef struct{
00047 
00049   char status;
00050 
00051   /*Properties of this Radon transform*/
00052 
00054   char mode;
00055 
00057   int imgDim;
00058   
00060   int viewNr;
00061 
00063   int binNr;
00064 
00066   int half;
00067 
00069   int centerBin;
00070 
00072   float sampleDist;
00073 
00075   float *sines;
00076 
00077 }RADON;
00078 
00079 /*********************************************************
00080  *
00081  * Function definitions.
00082  *
00083  *********************************************************/
00084 /* Initialization and memory handling for radon transform data*/
00085 
00093 void radonEmpty(RADON *radtra);
00094 
00106 int radonSet(RADON *radtra,int mode,int imgDim,int viewNr,int binNr);
00107 
00108 /*Get functions for Radon data*/
00109 
00115 int radonGetMO(RADON *radtra);
00116 
00122 int radonGetID(RADON *radtra);
00123 
00129 int radonGetNV(RADON *radtra);
00130 
00136 int radonGetNB(RADON *radtra);
00137 
00143 float radonGetSD(RADON *radtra);
00144 
00150 int radonGetHI(RADON *radtra);
00151 
00157 int radonGetCB(RADON *radtra);
00158 
00165 float radonGetSin(RADON *radtra, int nr);
00166 
00167 
00169 
00186 int radonFwdTransform(RADON *radtra, int set, int setNr, float *imgdata, float *scndata);
00187 
00194 int radonFwdTransformEA(RADON *radtra, int set, int setNr, float *imgdata, float *scndata);
00195 
00204 int radonFwdTransformSA(RADON *radtra, int set, int setNr, float *imgdata, float *scndata);
00205 
00222 int radonFwdTransformPRM(PRMAT *mat, int set, int setNr, float *imgdata, float *scndata);
00223 
00240 int radonBackTransform(RADON *radtra, int set, int setNr, float *scndata, float *imgdata);
00241 
00248 int radonBackTransformEA(RADON *radtra, int set, int setNr, float *scndata, float *imgdata);
00249 
00258 int radonBackTransformSA(RADON *radtra, int set, int setNr, float *imgdata, float *scndata);
00259 
00277 int radonBackTransformPRM(PRMAT *mat, int set, int setNr, float *scndata, float *imgdata);
00278 
00280 
00294 int radonSetBases(RADON *radtra,ELLIPSE *elli, PRMAT *mat);
00295 
00302 int radonSetBasesEA(RADON *radtra,ELLIPSE *elli, PRMAT *mat);
00303 
00316 int radonSetLUT(RADON *radtra, ELLIPSE *elli, PRMAT *mat);
00317 
00330 int radonSetLORS(RADON *radtra,ELLIPSE *elli, PRMAT *mat);
00331 
00332 #endif

Generated on Tue Nov 29 15:16:09 2005 by  doxygen 1.4.1