1 /*[- HEADER FILE -------------------------------------------------------------------------*/ 2 /* 3 Name: ds_head_type.h 4 5 Description: The header file defines the data set basic groups as unions for 6 internal use (internal header). 7 Unions are used to overlay a buffer and the group structure for more flexi- 8 bility and compatibility. To expand a group the new item must only be 9 defined at the structure end in header file "ds_head_acr_groups_types.h" or 10 "ds_head_shadow_groups_types.h". 11 12 13 Author: THUMSER, Andreas (TH); Siemens AG UBMed CMS/SCE64; phone: 09131 844797 14 */ 15 /*]-----------------------------------------------------------------------------------------*/ 16 17 #ifndef DS_HEAD_TYPE 18 #define DS_HEAD_TYPE 19 20 typedef union group_0008_tag 21 { 22 char Ide_buf[LENGTH_GROUP_0008]; /* fill-in */ 23 acr_identifying_t Ide; /* work area */ 24 } group_0008_t; 25 26 27 28 typedef union group_0009_tag 29 { 30 char Ide_buf[LENGTH_GROUP_0009]; /* fill-in */ 31 shadow_identifying_t Ide; /* work area */ 32 } group_0009_t; 33 34 35 36 typedef union group_0010_tag 37 { 38 char Pat_buf[LENGTH_GROUP_0010]; /* fill-in */ 39 acr_patient_t Pat; /* work area */ 40 } group_0010_t; 41 42 43 44 typedef union group_0011_tag 45 { 46 char Pat_buf[LENGTH_GROUP_0011]; /* fill-in */ 47 shadow_patient_t Pat; /* work area */ 48 } group_0011_t; 49 50 51 52 typedef union group_0013_tag 53 { 54 char PatMod_buf[LENGTH_GROUP_0013]; /* fill-in */ 55 shadow_patient_modify_t PatMod; /* work area */ 56 } group_0013_t; 57 58 59 60 typedef union group_0018_tag 61 { 62 char Acq_buf[LENGTH_GROUP_0018]; /* fill-in */ 63 acr_acquisition_t Acq; /* work area */ 64 } group_0018_t; 65 66 67 68 typedef union group_0019_part1_tag 69 { 70 char Acq1_buf[LENGTH_GROUP_0019_PART1]; /* fill-in */ 71 shadow_acquisition_cms_t CM; /* work area */ 72 } group_0019_part1_t; 73 74 typedef union group_0019_part2_tag 75 { 76 char Acq2_buf[LENGTH_GROUP_0019_PART2]; /* fill-in */ 77 shadow_acquisition_ct_t Ct; /* CT common work area */ 78 shadow_acquisition_mr_t Mr; /* MR common work area */ 79 } group_0019_part2_t; 80 81 typedef union group_0019_part3_tag 82 { 83 char Acq3_buf[LENGTH_GROUP_0019_PART3]; /* fill-in */ 84 shadow_acquisition_ct_conf_t Ct; /* CT configuration work area */ 85 shadow_acquisition_mr_conf_t Mr; /* MR configuration work area */ 86 } group_0019_part3_t; 87 88 typedef union group_0019_part4_tag 89 { 90 char Acq4_buf[LENGTH_GROUP_0019_PART4]; /* fill-in */ 91 shadow_acquisition_acq_t CM; /* work area */ 92 } group_0019_part4_t; 93 94 typedef struct group_0019_tag 95 { 96 group_0019_part1_t Acq1; /* CMS subgroup */ 97 group_0019_part2_t Acq2; /* common subgroup */ 98 group_0019_part3_t Acq3; /* config. and adjust subgroup */ 99 group_0019_part4_t Acq4; /* acquisition subgroup */ 100 } group_0019_t; 101 102 103 104 typedef union group_0020_tag 105 { 106 char Rel_buf[LENGTH_GROUP_0020]; /* fill-in */ 107 acr_relationship_t Rel; /* work area */ 108 } group_0020_t; 109 110 111 112 typedef union group_0021_part1_tag 113 { 114 char Rel1_buf[LENGTH_GROUP_0021_PART1]; /* fill-in */ 115 shadow_relationship_med_cms_t CM; /* work area */ 116 } group_0021_part1_t; 117 118 typedef union group_0021_part2_tag 119 { 120 char Rel2_buf[LENGTH_GROUP_0021_PART2]; /* fill-in */ 121 shadow_relationship_ct_t Ct; /* CT common work area */ 122 shadow_relationship_mr_t Mr; /* MR common work area */ 123 } group_0021_part2_t; 124 125 typedef union group_0021_part3_tag 126 { 127 char Rel2_buf[LENGTH_GROUP_0021_PART3]; /* fill-in */ 128 shadow_relationship_ct_spe_t Ct; /* CT special work area */ 129 shadow_relationship_mr_spe_t Mr; /* MR special work area */ 130 } group_0021_part3_t; 131 132 typedef struct group_0021_tag 133 { 134 group_0021_part1_t Rel1; /* CMS subgroup */ 135 group_0021_part2_t Rel2; /* common subgroup */ 136 group_0021_part3_t Rel3; /* special subgroup */ 137 } group_0021_t; 138 139 140 141 typedef union group_0028_tag 142 { 143 char Pre_buf[LENGTH_GROUP_0028]; /* fill-in */ 144 acr_presentation_t Pre; /* work area */ 145 } group_0028_t; 146 147 148 149 typedef union group_0029_tag 150 { 151 char Pre_buf[LENGTH_GROUP_0029]; /* fill-in */ 152 shadow_presentation_t Pre; /* work area */ 153 } group_0029_t; 154 155 156 157 typedef union group_0051_tag 158 { 159 char Txt_buf[LENGTH_GROUP_0051]; /* fill-in */ 160 image_text_t Txt; /* work area */ 161 } group_0051_t; 162 163 164 165 typedef union fill_to_border_tag 166 { 167 char Fill_buf[LENGTH_TO_FILL_K_BORDER]; /* fill-in */ 168 } fill_to_border_t; 169 170 171 172 173 /*******************/ 174 /* internal header */ 175 /*******************/ 176 177 typedef struct header_tag 178 { 179 group_0008_t G08; /* Identifying Information */ 180 group_0009_t G09; 181 group_0010_t G10; /* Patient Information */ 182 group_0011_t G11; 183 group_0013_t G13; /* Patient Modify Information */ 184 group_0018_t G18; /* Acquisition Information */ 185 group_0019_t G19; 186 group_0020_t G20; /* Relationship Information */ 187 group_0021_t G21; 188 group_0028_t G28; /* Image Presentation Information */ 189 group_0029_t G29; 190 group_0051_t G51; /* Image Text */ 191 } header_t; 192 193 #endif 194 195 196 /*==========================================================================================*/ 197 198 #ifdef DS_STC_TOOL 199 200 char *_STC_HELP[] = 201 { 202 #include <ds_head_acr_groups_types.h> 203 #include <ds_head_shadow_groups_types.h> 204 0 205 }; 206 207 #endif 208