Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals

experience.h

Go to the documentation of this file.
00001 /************************************************************************* 00002 * $Id: experience.h,v 1.45 2005/09/07 07:13:31 yougz Exp $ 00003 ************************************************************************** 00004 This software is governed by the CeCILL license under French law and 00005 abiding by the rules of distribution of free software. You can use, 00006 modify and/ or redistribute the software under the terms of the CeCILL 00007 license as circulated by CEA, CNRS and INRIA at the following URL 00008 "http://www.cecill.info". 00009 00010 As a counterpart to the access to the source code and rights to copy, 00011 modify and redistribute granted by the license, users are provided only 00012 with a limited warranty and the software's author, the holder of the 00013 economic rights, and the successive licensors have only limited 00014 liability. 00015 00016 In this respect, the user's attention is drawn to the risks associated 00017 with loading, using, modifying and/or developing or reproducing the 00018 software by the user in light of its specific status of free software, 00019 that may mean that it is complicated to manipulate, and that also 00020 therefore means that it is reserved for developers and experienced 00021 professionals having in-depth computer knowledge. Users are therefore 00022 encouraged to load and test the software's suitability as regards their 00023 requirements in conditions enabling the security of their systems and/or 00024 data to be ensured and, more generally, to use and operate it in the 00025 same conditions as regards security. 00026 00027 The fact that you are presently reading this means that you have had 00028 knowledge of the CeCILL license and that you accept its terms. 00029 00030 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de 00031 l'Image). All rights reserved. See License.txt for details. 00032 00033 Version 1.0 05/09/2005 00034 *************************************************************************/ 00035 00036 #ifndef _EXPERIENCE_H 00037 #define _EXPERIENCE_H 00038 00039 #include <stdio.h> 00040 #include <stdlib.h> 00041 #include <math.h> 00042 #include <string.h> 00043 #include <idseq.h> 00044 #include <idvol.h> 00045 #include "simri3d.h" 00046 #include "object.h" 00047 00048 #define ATT_INIT 1000000 /* Temps d'attente en debut de sequence pour laisser 00049 remonter l'aimantation en z */ 00050 #define ON 1 00051 #define OFF 0 00052 00053 /************************************************* 00054 * Structure qui regroupe l'objet et les conditions 00055 * de l'experience 00056 **************************************************/ 00057 typedef struct _Experience3D { 00058 char name[TAILLE_NOM]; 00059 00061 int ntx, nty, ntz; 00063 double readout_time; 00065 int nfovx, nfovy, nfovz; 00066 #ifdef HAVE_MPI 00067 00069 int mpi_slice_x0; 00070 int mpi_slice_width; 00071 #endif 00072 00073 float lx,ly,lz; 00075 double fovx,fovy,fovz; 00077 double obx,oby,obz; 00079 float ***t1; 00081 float ***t2; 00083 float ***ro; 00085 double to; 00087 float *** deltaB0; 00089 float ****sgn; 00091 double ****magstate; 00092 /* Object center posiition */ 00093 double xf,yf,zf; 00095 double px,py,pz; 00097 double pt; 00099 int FLAG_DECH; 00101 float ***G_deche; 00103 double B0; 00105 double b0def; 00107 double G_edw; 00109 double FLAG_RESONANCE; 00110 00111 } EXPERIENCE3D; 00112 00113 /*************************************************** 00114 * Functions prototype 00115 ***************************************************/ 00116 EXPERIENCE3D * AllocExperience(); 00117 EXPERIENCE3D * AllocExperienceSgn(int ,int , int); 00118 void FreeExperience (EXPERIENCE3D *); 00119 void FreeExperienceSgn (EXPERIENCE3D *); 00120 void SetNameExperience (EXPERIENCE3D *, char *); 00121 void ResetToExperience(EXPERIENCE3D *); 00122 void InitToExperience (EXPERIENCE3D *); 00123 void SetT1Experience (EXPERIENCE3D *,OBJECT3D *,int); 00124 void SetT2Experience (EXPERIENCE3D *,OBJECT3D *,int); 00125 void SetRoExperience (EXPERIENCE3D *,OBJECT3D *,int); 00126 void InitMagstateExperience(EXPERIENCE3D *); 00127 void SetB0Experience (EXPERIENCE3D *,double); 00128 void SetB0DefExperience(EXPERIENCE3D *,double); 00129 void SetDeltaB0Experience(EXPERIENCE3D *,OBJECT3D *); 00130 void SetGdechExperience(EXPERIENCE3D *,OBJECT3D *); 00131 void SetResonanceExperience(EXPERIENCE3D *,int); 00132 void SetFlagdechExperience (EXPERIENCE3D *,int); 00133 void SetObjectExperienceComponent(EXPERIENCE3D *, OBJECT3D *,int,int); 00134 void SetFovExperience (EXPERIENCE3D *,double,double,double, 00135 double,double,double); 00136 void InitRFSigExperience(EXPERIENCE3D *); 00137 void SetAcqExperience (EXPERIENCE3D *,int,int,int,double); 00138 void NormalizeRFSignal (EXPERIENCE3D *); 00139 00140 PPIMAGE_UCHAR GetkSpaceImage2DFromExperience (EXPERIENCE3D *,int, int); 00141 PPPVOLUME_FLOAT GetSignalRFComponentFromExperience(EXPERIENCE3D *,int); 00142 PPPVOLUME_COMPLEX_DOUBLE GetSignalRFComplexFromExperience (EXPERIENCE3D *); 00143 PPPVOLUME_FLOAT GetSignalRFModuleFromExperience (EXPERIENCE3D *); 00144 PPPVOLUME_FLOAT GetSignalRFPhaseFromExperience (EXPERIENCE3D *); 00145 EXPERIENCE3D * GetSumSignalRFComplex(PPPVOLUME_COMPLEX_DOUBLE , 00146 PPPVOLUME_COMPLEX_DOUBLE ); 00147 EXPERIENCE3D * GetDiffSignalRFComplex(PPPVOLUME_COMPLEX_DOUBLE , 00148 PPPVOLUME_COMPLEX_DOUBLE ); 00149 void AddComplexVolRF(PPPVOLUME_COMPLEX_DOUBLE, PPPVOLUME_COMPLEX_DOUBLE); 00150 00151 00152 #endif

Generated on Wed Oct 19 09:28:33 2005 for SIMRI3D by doxygen 1.3.7