1 /*[-  HEADER FILE  -------------------------------------------------------------------------*/
2 /*
3    Name:        ds_head_acr_groups_types.h
4 
5    Description: The header file defines the NEMA defined data set basic groups (even group
6                 numbers) as structures for internal use (internal header).
7 
8 
9    Author:      THUMSER, Andreas (TH); Siemens AG UBMed CMS/SCE64; phone: 09131 844797
10 */
11 /*]-----------------------------------------------------------------------------------------*/
12 
13 #ifndef DS_HEAD_ACR_GROUPS_TYPES
14 #define DS_HEAD_ACR_GROUPS_TYPES
15 
16 /******************************************/
17 /* Identifying Information (Group 0008'H) */
18 /******************************************/
19 
20 typedef struct acr_identifying_tag
21 {
22   ds_date_t StudyDate;					   /* (0008,0020)   10  AT DF 2NS-NEM */
23   ds_date_t AcquisitionDate;				   /* (0008,0022)   10  AT DF 2NS-CMS */
24   ds_date_t ImageDate;					   /* (0008,0023)   10  AT DF 2NS-CMS */
25   ds_time_t StudyTime;					   /* (0008,0030)   12  AT DF 2NS-NEM */
26   ds_time_t AcquisitionTime;				   /* (0008,0032)   12  AT DF 2NS-CMS */
27   ds_time_t ImageTime;					   /* (0008,0033)   12  AT DF 2NS-CMS */
28   data_set_subtype_t DataSetSubtype;			   /* (0008,0041)    8  AT EV 2NS-CMS */
29   modality_t Modality;					   /* (0008,0060)    2  AT EV 1NS-CMS */
30   char Manufacturer[LENGTH_MANUFACTURER + 1];		   /* (0008,0070)    8  AT FF 2NS-NEM */
31   char InstitutionID[LENGTH_LABEL + 1];			   /* (0008,0080)   26  AT FF 2NS-NEM */
32   char ReferringPhysician[LENGTH_LABEL + 1];		   /* (0008,0090)   26  AT FF 2NS-NEM */
33   char StationID[LENGTH_LABEL + 1];			   /* (0008,1010)   26  AT FF 2NS-NEM */
34   char ProcedureDescription_1[LENGTH_COMMENT + 1];	   /* (0008,1030)   52  AT FF 2DS-CMS */
35   char ProcedureDescription_2[LENGTH_COMMENT + 1];
36   char AdmittingDiagnosis[LENGTH_DIAGNOSIS + 1];	   /* (0008,1080)   40  AT FF 2DS-CMS */
37   char ManufacturerModel[LENGTH_LABEL + 1];		   /* (0008,1090)   26  AT FF 2DS-CMS */
38 } acr_identifying_t;
39 
40 
41 /**************************************/
42 /* Patient Information (Group 0010'H) */
43 /**************************************/
44 
45 typedef struct acr_patient_tag
46 {
47   char PatientName[LENGTH_LABEL + 1];		           /* (0010,0010)   26  AT FF 2NS-NEM */
48   char PatientId[LENGTH_PATIENT_ID + 1];		   /* (0010,0020)   12  AT FF 2NS-NEM */
49   ds_date_t PatientBirthdate;				   /* (0010,0030)   10  AT DF 2NS-NEM */
50   sex_t PatientSex;					   /* (0010,0040)    2  AT EV 2NS-NEM */
51   char PatientMaidenName[LENGTH_LABEL + 1];		   /* (0010,1005)   26  AT FF 2DS-CMS */
52   char PatientAge[LENGTH_AGE + 1];			   /* (0010,1010)    4  AT DF 2NS-CMS */
53   double PatientSize;					   /* (0010,1020)    6  AN FF 3NS-NEM */
54   long PatientWeight;					   /* (0010,1030)    6  AN FF 2NS-CMS */
55 } acr_patient_t;
56 
57 
58 
59 /******************************************/
60 /* Acquisition Information (Group 0018'H) */
61 /******************************************/
62 
63 typedef struct acr_acquisition_tag
64 {
65   contrast_t Contrast;					   /* (0018,0010)    8  AT EV 2DS-NEM */
66   int Pad1;					           /* Dummy for byte alignment */
67   double SliceThickness;				   /* (0018,0050)   14  AN FF 2NS-NEM */
68   long GeneratorVoltage;				   /* (0018,0060)    6  AN FF 2NM-NEM */
69   long GeneratorVoltageDual;				   /* (0018,0060) */
70   double RepetitionTime;				   /* (0018,0080)   14  AN FF 2NS-NEM */
71   double EchoTime;					   /* (0018,0081)   14  AN FF 2NS-NEM */
72   double InversionTime;					   /* (0018,0082)   14  AN FF 2NS-NEM */
73   long NumberOfAverages;				   /* (0018,0083)    6  AN FF 3NS-NEM */
74   int Pad2;					           /* Dummy for byte alignment */
75   double ImagingFrequency;				   /* (0018,0084)   14  AN FF 2NS-NEM */
76   nucleus_t Gap0085;
77   long EchoNumber;					   /* (0018,0086)    6  AN FF 3NS-CMS */
78   long DataCollectionDiameter;				   /* (0018,0090)    6  AN FF 3NS-NEM */
79   char DeviceSerialNumber[LENGTH_LABEL + 1];		   /* (0018,1000)   26  AT FF 2DS-CMS */
80   char SoftwareVersion[LENGTH_SOFTWARE_VERSION + 1];	   /* (0018,1020)    8  AT FF 2DS-CMS */
81   long DistanceSourceToDetector;			   /* (0018,1110)    6  AN FF 3NS-NEM */
82   long DistanceSourceToPatient;				   /* (0018,1111)    6  AN FF 3NS-NEM */
83   long GantryTilt;					   /* (0018,1120)    6  AN FF 2NS-CMS */
84   long TableHeight;					   /* (0018,1130)    6  AN FF 3NS-NEM */
85   rotation_direction_t RotationDirection;		   /* (0018,1140)    2  AT EV 3NS-NEM */
86   long ExposureTime;					   /* (0018,1150)    6  AN FF 2NS-CMS */
87   long Exposure;					   /* (0018,1152)    6  AN FF 2NS-CMS */
88   char FilterIdLabel[LENGTH_FILTER_ID + 1];		   /* (0018,1160)   12  AT FF 3NS-NEM */
89   int Pad3;					           /* Dummy for byte alignment */
90   double GeneratorPower;				   /* (0018,1170)   14  AN FF 2NS-CMS */
91   double FocalSpot;					   /* (0018,1190    14  AN FF 3NS-NEM) */
92   ds_date_t CalibrationDate;				   /* (0018,1200)   10  AT DF 3NS-NEM */
93   ds_time_t CalibrationTime;				   /* (0018,1201)   12  AT DF 3NS-NEM */
94   char ConvolutionKernel[LENGTH_LABEL + 1];		   /* (0018,1210)   12  AT DF 3NS-NEM */
95   char ReceivingCoil[LENGTH_LABEL + 1];			   /* (0018,1250)   26  AT FF 2DS-CMS */
96   char Gap1251[LENGTH_LABEL + 1];
97   patient_position_t PatientPosition;			   /* (0018,5100)    8  AT EV 2NS-CMS */
98   char ImagedNucleus[LENGTH_NUCLEUS + 1];		   /* (0018,0085)    8  AT FF 2NS-NEM */
99 } acr_acquisition_t;
100 
101 
102 
103 /*******************************************/
104 /* Relationship Information (Group 0020'H) */
105 /*******************************************/
106 
107 typedef struct acr_relationship_tag
108 {
109   long Study;						   /* (0020,0010)    6  AN FF 2NS-NEM */
110   long Gap0011;
111   long Acquisition;					   /* (0020,0012)    6  AN FF 2DS-NEM */
112   long Image;						   /* (0020,0013)    6  AN FF 2DS-NEM */
113   long Gap0030[3];
114   int Pad1;                                                /* Dummy for byte alignment */
115   double Gap0035[6];
116   long Location;					   /* (0020,0050)    6  AN FF 3NS-NEM */
117   laterality_t Laterality;				   /* (0020,0060)    2  AT EV 2DS-NEM */
118   geometry_t ImageGeometryType;				   /* (0020,0070)    8  AT EV 2DS-NEM */
119   long AcquisitionsInSeries;				   /* (0020,1001)    6  AN FF 3NS-NEM */
120   reference_t Reference;				   /* (0020,1020)    n  AT FF 3NM-NEM */
121 } acr_relationship_t;
122 
123 
124 
125 /*************************************************/
126 /* Image Presentation Information (Group 0028'H) */
127 /*************************************************/
128 
129 typedef struct acr_presentation_tag
130 {
131   short ImageDimension;					   /* (0028,0005)    2  BI HX 1DS-NEM */
132   short Rows;						   /* (0028,0010)    2  BI HX 1NS-NEM */
133   short Columns;					   /* (0028,0011)    2  BI HX 1NS-NEM */
134   pixel_size_t PixelSize;				   /* (0028,0030)   30  AN FF 2NM-NEM */
135   image_format_t ImageFormat;				   /* (0028,0040)    4  AT EV 1DS-NEM */
136   compression_code_t CompressionCode;			   /* (0028,0060)    4  AT EV 1DS-NEM */
137   short BitsAllocated;					   /* (0028,0100)    2  BI HX 1DS-NEM */
138   short BitsStored;					   /* (0028,0101)    2  BI HX 1DS-NEM */
139   short HighBit;					   /* (0028,0102)    2  BI HX 1DS-NEM */
140   short PixelRepresentation;				   /* (0028,0103)    2  BI HX 1DS-NEM */
141   windows_t WindowCenter;				   /* (0028,1050)   12  AN DF 2NM-MED */
142   windows_t WindowWidth;				   /* (0028,1051)   12  AN DF 2NM-MED */
143   long RescaleIntercept;				   /* (0028,1052)    6  AN FF 2NS-MED */
144   long RescaleSlope;					   /* (0028,1053)    6  AN FF 2NS-MED */
145 } acr_presentation_t;
146 
147 #endif
148 
149 
150 
151 
152 /*==  HELP TEXT  ===========================================================================*/
153 
154 #ifdef DS_STC_TOOL
155 
156 "G08.Ide.StudyDate.Year", "Study Date (0008,0020)",
157 "G08.Ide.AcquisitionDate.Year", "Acquisition Date (0008,0022)",
158 "G08.Ide.ImageDate.Year", "Image Date (0008,0023)",
159 "G08.Ide.StudyTime.Hour", "Study Time (0008,0030)",
160 "G08.Ide.AcquisitionTime.Hour", "Acquisition Time (0008,0032)",
161 "G08.Ide.ImageTime.Hour", "Image Time (0008,0033)",
162 "G08.Ide.DataSetSubtype.M", "Data Set Subtype (0008,0041)",
163 "G08.Ide.Modality", "Modality (0008,0060)",
164 "G08.Ide.Manufacturer", "Manufacturer (0008,0070)",
165 "G08.Ide.InstitutionID", "Institution ID (0008,0080)",
166 "G08.Ide.ReferringPhysician", "Referring Physician (0008,0090)",
167 "G08.Ide.StationID", "Station ID (0008,1010)",
168 "G08.Ide.ProcedureDescription_1", "Procedure Description (0008,1030) - first part",
169 "G08.Ide.ProcedureDescription_2", "Procedure Description (0008,1030) - second part",
170 "G08.Ide.AdmittingDiagnosis", "Admitting Diagnosis (0008,1080)",
171 "G08.Ide.ManufacturerModel", "Manufacturer Model (0008,1090)",
172 
173 "G10.Pat.PatientName", "Patient Name (0010,0010)",
174 "G10.Pat.PatientId", "Patient Id (0010,0020)",
175 "G10.Pat.PatientBirthdate.Year", "Patient Birthdate (0010,0030)",
176 "G10.Pat.PatientSex", "Patient Sex (0010,0040): Female | Male | Others",
177 "G10.Pat.PatientMaidenName", "Patient Maiden Name (0010,1005)",
178 "G10.Pat.PatientAge", "Patient Age (0010,1010) in Years | Months | Days",
179 "G10.Pat.PatientSize", "Patient Size (0010,1020) in meters",
180 "G10.Pat.PatientWeight", "Patient Weight (0010,1030) in kilograms",
181 
182 "G18.Acq.Contrast",  "Contrast (0018,0010): APPLIED | NONE",
183 "G18.Acq.SliceThickness",  "Slice Thickness (0018,0050) in mm",
184 "G18.Acq.GeneratorVoltage",  "nominal Generator Voltage (0018,0060) in kV",
185 "G18.Acq.GeneratorVoltageDual",  "second value of Generator Voltage (0018,0060) in kV",
186 "G18.Acq.RepetitionTime",  "Repetition Time (0018,0080) in msec",
187 "G18.Acq.EchoTime",  "Echo Time (0018,0081) in msec",
188 "G18.Acq.InversionTime",  "Inversion Time (0018,0082) in msec",
189 "G18.Acq.NumberOfAverages",  "nominal Number of Averages (0018,0083)",
190 "G18.Acq.ImagingFrequency",  "Imaging Frequency (0018,0084) in MHz",
191 "G18.Acq.ImagedNucleus",  "Imaged Nucleus (0018,0085)",
192 "G18.Acq.EchoNumber",  "Echo Number (0018,0086)",
193 "G18.Acq.DataCollectionDiameter",  "Data Collection Diameter (0018,0090) in mm",
194 "G18.Acq.DeviceSerialNumber",  "Device Serial Number (0018,1000)",
195 "G18.Acq.SoftwareVersion",  "Software Version (0018,1020)",
196 "G18.Acq.DistanceSourceToDetector",  "Distance Source to Detector (0018,1110)in mm",
197 "G18.Acq.DistanceSourceToPatient",  "Distance Source to Patient (0018,1111) in mm",
198 "G18.Acq.GantryTilt",  "Gantry Tilt (0018,1120) in degrees",
199 "G18.Acq.TableHeight",  "Table Height (0018,1130) in mm",
200 "G18.Acq.RotationDirection",  "Rotation Direction (0018,1140): Counter Clock | Clock Wise | NO",
201 "G18.Acq.ExposureTime",  "nominal Exposure Time (0018,1150) in msec",
202 "G18.Acq.Exposure",  "nominal Exposure (0018,1152) in mAs",
203 "G18.Acq.FilterIdLabel",  "Filter Id Label (0018,1160)",
204 "G18.Acq.GeneratorPower",  "nominal Generator Power (0018,1170) in kW",
205 "G18.Acq.FocalSpot",  "Focal Spot (0018,1190) in mm",
206 "G18.Acq.CalibrationDate.Year",  "Calibration Date (0018,1200)",
207 "G18.Acq.CalibrationTime.Hour",  "Calibration Time (0018,1201)",
208 "G18.Acq.ConvolutionKernel",  "Convolution Kernel (0018,1210)",
209 "G18.Acq.ReceivingCoil",  "Receiving Coil (0018,1250)",
210 "G18.Acq.PatientPosition",  "Patient Position (0018,5100)",
211 
212 "G20.Rel.Study",  "Study (0020,0010)",
213 "G20.Rel.Acquisition",  "Acquisition (0020,0012)",
214 "G20.Rel.Image",  "Image (0020,0013)",
215 "G20.Rel.Location",  "Location (0020,0050) in mm",
216 "G20.Rel.Laterality",  "Laterality (0020,0060)",
217 "G20.Rel.ImageGeometryType",
218 "Image Geometry Type (0020,0070): PLANAR | UNRAVEL | CURVED",
219 "G20.Rel.AcquisitionsInSeries",  "Acquisitions in Series (0020,1001)",
220 "G20.Rel.Reference.One.Image",  "Reference (0020,1020)",
221 
222 "G28.Pre.ImageDimension",  "Image Dimension (0028,0005)",
223 "G28.Pre.Rows",  "Rows (0028,0010)",
224 "G28.Pre.Columns",  "Columns (0028,0011)",
225 "G28.Pre.PixelSize.Row",  "Pixel Size (0028,0030) in mm",
226 "G28.Pre.ImageFormat",  "Image Format (0028,0040)",
227 "G28.Pre.CompressionCode",  "Compression Code (0028,0060)",
228 "G28.Pre.BitsAllocated",  "Bits Allocated (0028,0100)",
229 "G28.Pre.BitsStored",  "Bits Stored (0028,0101)",
230 "G28.Pre.HighBit",  "High Bit (0028,0102)",
231 "G28.Pre.PixelRepresentation",  "Pixel Representation (0028,0103)",
232 "G28.Pre.WindowCenter.X",  "Window Center (0028,1050)",
233 "G28.Pre.WindowWidth.X",  "Window Width (0028,1051)",
234 "G28.Pre.RescaleIntercept",  "Rescale Intercept (0028,1052)",
235 "G28.Pre.RescaleSlope",  "Rescale Slope (0028,1053)",
236 
237 #endif
238