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