Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _ANALYZE_H
00015 #define _ANALYZE_H
00016
00017
00018 #ifndef BACKUP_EXTENSION
00019 #define BACKUP_EXTENSION ".bak"
00020 #endif
00021
00022 #define ANALYZE_HEADER_KEY_SIZE 40
00023 #define ANALYZE_HEADER_IMGDIM_SIZE 108
00024 #define ANALYZE_HEADER_HISTORY_SIZE 200
00025
00026 #define ANALYZE_FLIP_DEFAULT 1
00027
00028
00029 #define ANALYZE_DT_NONE 0
00030 #define ANALYZE_DT_UNKNOWN 0
00031 #define ANALYZE_DT_BINARY 1
00032 #define ANALYZE_DT_UNSIGNED_CHAR 2
00033 #define ANALYZE_DT_SIGNED_SHORT 4
00034 #define ANALYZE_DT_SIGNED_INT 8
00035 #define ANALYZE_DT_FLOAT 16
00036 #define ANALYZE_DT_COMPLEX 32
00037 #define ANALYZE_DT_DOUBLE 64
00038 #define ANALYZE_DT_RGB 128
00039 #define ANALYZE_DT_ALL 255
00040
00041 int ANALYZE_TEST;
00042
00043 typedef struct {
00044 int sizeof_hdr;
00045 char data_type[10];
00046 char db_name[18];
00047 int extents;
00048 short int session_error;
00049 char regular;
00050 char hkey_un0;
00051 } ANALYZE_HEADER_KEY;
00052
00053 typedef struct {
00054 short int dim[8];
00055 short int unused8;
00056 short int unused9;
00057 short int unused10;
00058 short int unused11;
00059 short int unused12;
00060 short int unused13;
00061 short int unused14;
00062 short int datatype;
00063 short int bitpix;
00064 short int dim_un0;
00065 float pixdim[8];
00066 float vox_offset;
00067 float funused1;
00068 float funused2;
00069 float funused3;
00070 float cal_max;
00071 float cal_min;
00072 float compressed;
00073 float verified;
00074 int glmax;
00075 int glmin;
00076 } ANALYZE_HEADER_IMGDIM;
00077
00078 typedef struct {
00079 char descrip[80];
00080 char aux_file[24];
00081 char orient;
00082 char originator[10];
00083 char generated[10];
00084 char scannum[10];
00085 char patient_id[10];
00086 char exp_date[10];
00087 char exp_time[10];
00088 char hist_un0[3];
00089 int views;
00090 int vols_added;
00091 int start_field;
00092 int field_skip;
00093 int omax;
00094 int omin;
00095 int smax;
00096 int smin;
00097 } ANALYZE_HEADER_HISTORY;
00098
00099 typedef struct {
00100 ANALYZE_HEADER_KEY hk;
00101 ANALYZE_HEADER_IMGDIM dime;
00102 ANALYZE_HEADER_HISTORY hist;
00104 int little;
00105 } ANALYZE_DSR;
00106
00107 extern int anaExists(const char *dbname);
00108 extern int anaRemove(const char *dbname);
00109 extern void anaRemoveFNameExtension(char *fname);
00110 extern int anaDatabaseExists(const char *dbname, char *hdrfile, char *imgfile, char *siffile);
00111 extern int anaMakeSIFName(const char *dbname, char *siffile);
00112
00113 extern int anaFlipping();
00114
00115 extern int anaReadHeader(char *filename, ANALYZE_DSR *h);
00116 extern int anaReadImagedata(FILE *fp, ANALYZE_DSR *h, int frame, float *data);
00117
00118 extern int anaWriteHeader(char *filename, ANALYZE_DSR *h);
00119
00120 extern int anaPrintHeader(ANALYZE_DSR *h, FILE *fp);
00121
00122 #endif