1 #ifndef _MRI_PROCESS_SIEMENS_H_
2 #define _MRI_PROCESS_SIEMENS_H_
3 
4 /* typedefs and functions common to libmri and Dimon */
5 
6 typedef struct {
7   int good ;                       /* data in here is good?                  */
8   int have_data[3] ;               /* do we have slices 0 and 1 in           *
9                                     * each dimension to determine z-spacing? *
10                                     * added 25 Feb 2003 KRH                  */
11   int mos_ix, mos_nx, mos_ny;      /* mosaic properties                      */
12   int mosaic_num ;                 /* how many slices in 1 'image'           */
13   float slice_xyz[NMOMAX][3] ;     /* Sag, Cor, Tra coordinates              */
14   int ImageNumbSag, ImageNumbTra, ImageNumbCor; /* reverse the slices        */
15 } Siemens_extra_info ;
16 
17 int process_siemens_mosaic(
18         Siemens_extra_info * Sinfo, char ** Sstr, char ** epos,
19         char * fname, int assume, int nx, int ny, int nz);
20 
21 int get_siemens_extra_info(char *str, Siemens_extra_info *mi, char ** epos) ;
22 
23 
24 int read_mosaic_data(FILE *fp, MRI_IMAGE *im, MRI_IMARR *imar,
25    int *flip_slices, Siemens_extra_info *mi, int datum, int bpp, int kor,
26    int swap, float dx, float dy, float dz, float dt);
27 
28 int flip_slices_mosaic (Siemens_extra_info *mi, int kor);
29 int apply_z_orient(Siemens_extra_info * Sinfo, char * orients, int * kor,
30                    float * zoff);
31 
32 
33 #endif  /* ifndef  _MRI_PROCESS_SIEMENS_H_ */
34