@@ -38,6 +38,104 @@ using DICT_ENTRY = struct
3838};
3939
4040static const DICT_ENTRY DICOMV3DataDict [] = {
41+ // Major MRI vendors typically use identifiable creator names for a good reason...
42+ // BEGIN UIH
43+ // See https://github.com/rordenlab/dcm2niix/issues/225
44+ {0x0019,0x0018,"EPI Private Header",VR::IS,VM::VM1,"?",false },
45+ {0x0019,0x0028,"EPI Private Header",VR::FD,VM::VM1,"?",false },
46+ {0x0051,0x0011,"EPI Private Header",VR::LO,VM::VM1,"?",false },
47+ {0x0061,0x0002,"DB Dicom Private Creator",VR::US,VM::VM1,"Generate Private",false },
48+ {0x0061,0x0004,"EditStatus",VR::US,VM::VM1,"?",false },
49+ {0x0061,0x0001,"Common Private Header",VR::SH,VM::VM1,"?",false },
50+ {0x0061,0x0002,"Common Private Header",VR::SH,VM::VM1,"FOV",false },
51+ {0x0061,0x0003,"Common Private Header",VR::SH,VM::VM1,"?",false },
52+ {0x0061,0x0006,"PrivateCreator16",VR::ST,VM::VM1,"Radiopharmaceutical Information JSON",false },
53+ {0x0065,0x0000,"Image Private Header",VR::UL,VM::VM1,"MeasurmentUID",false },
54+ {0x0065,0x0002,"Image Private Header",VR::LO,VM::VM1,"ImageOrientationDisplayed",false },
55+ {0x0065,0x0003,"Image Private Header",VR::LO,VM::VM1,"ReceiveCoil",false },
56+ {0x0065,0x0004,"Image Private Header",VR::SH,VM::VM1,"Interpolation",false },
57+ {0x0065,0x0005,"Image Private Header",VR::SH,VM::VM1,"PE Direction Displayed",false },
58+ {0x0065,0x0006,"Image Private Header",VR::IS,VM::VM1,"Slice Group ID",false },
59+ {0x0065,0x0007,"Image Private Header",VR::OB,VM::VM1,"Uprotocol",false },
60+ {0x0065,0x0009,"Image Private Header",VR::FD,VM::VM1,"BActualValue",false },
61+ {0x0065,0x000a,"Image Private Header",VR::FD,VM::VM1,"BUserValue",false },
62+ {0x0065,0x000d,"Image Private Header",VR::SH,VM::VM1,"Parallel Information",false },
63+ {0x0065,0x000f,"Image Private Header",VR::SH,VM::VM1,"Slice Position",false },
64+ {0x0065,0x0011,"Image Private Header",VR::SH,VM::VM1,"Sections",false },
65+ {0x0065,0x0012,"Image Private Header",VR::LO,VM::VM1,"?",false },
66+ {0x0065,0x0013,"Image Private Header",VR::FD,VM::VM1,"InPlaneRotAngle",false },
67+ {0x0065,0x0014,"Image Private Header",VR::DS,VM::VM3,"SliceNormalVector",false },
68+ {0x0065,0x0015,"Image Private Header",VR::DS,VM::VM3,"SliceCenterPosition",false },
69+ {0x0065,0x0016,"Image Private Header",VR::UL,VM::VM1,"PixelRotateModel",false },
70+ {0x0065,0x0017,"Image Private Header",VR::LO,VM::VM1,"SAR Model",false },
71+ {0x0065,0x0018,"Image Private Header",VR::LO,VM::VM1,"dB/dt Model",false },
72+ {0x0065,0x0021,"Image Private Header",VR::SH,VM::VM1,"?",false },
73+ {0x0065,0x0023,"Image Private Header",VR::LO,VM::VM1,"TablePosition",false },
74+ {0x0065,0x0025,"Image Private Header",VR::DS,VM::VM1,"Slice Gap",false },
75+ {0x0065,0x0029,"Image Private Header",VR::SH,VM::VM1,"AcquisitionDuration",false },
76+ {0x0065,0x002b,"Image Private Header",VR::LT,VM::VM1,"ApplicationCategory",false },
77+ {0x0065,0x002c,"Image Private Header",VR::IS,VM::VM1,"RepeatitionIndex",false },
78+ {0x0065,0x002d,"Image Private Header",VR::ST,VM::VM1,"SequenceDisplayName",false },
79+ {0x0065,0x002e,"Image Private Header",VR::LO,VM::VM1,"NoiseDecovarFlag",false },
80+ {0x0065,0x002f,"Image Private Header",VR::FL,VM::VM1,"ScaleFactor",false },
81+ {0x0065,0x0030,"Image Private Header",VR::LO,VM::VM1,"?Customer?",false },
82+ {0x0065,0x0031,"Image Private Header",VR::SH,VM::VM1,"MRSequenceVariant",false },
83+ {0x0065,0x0032,"Image Private Header",VR::SH,VM::VM1,"MRKSpaceFilter",false },
84+ {0x0065,0x0033,"Image Private Header",VR::SH,VM::VM1,"MRTableMode",false },
85+ {0x0065,0x0036,"Image Private Header",VR::OB,VM::VM1,"MRDiscoParameter",false },
86+ {0x0065,0x0037,"Image Private Header",VR::FD,VM::VM3,"MRDiffusionGradOrientation",false },
87+ {0x0065,0x0038,"Image Private Header",VR::FD,VM::VM1,"MRPerfusionNoiseLevel",false },
88+ {0x0065,0x0039,"Image Private Header",VR::SH,VM::VM6,"MRGradRange",false },
89+ {0x0065,0x0040,"Image Private Header",VR::LO,VM::VM1,"?",false },
90+ {0x0065,0x0041,"Image Private Header",VR::LT,VM::VM1,"?NIN?",false },
91+ {0x0065,0x0048,"Image Private Header",VR::OB,VM::VM1,"?",false },
92+ {0x0065,0x0049,"Image Private Header",VR::DS,VM::VM3,"?",false },
93+ {0x0065,0x0050,"Image Private Header",VR::DS,VM::VM1,"MR Number Of Slice In Volume",false },
94+ {0x0065,0x0051,"Image Private Header",VR::SQ,VM::VM1,"MR VFrame Sequence",false },
95+ {0x0065,0x0052,"Image Private Header",VR::LO,VM::VM1_n,"?",false },
96+ {0x0065,0x0053,"Image Private Header",VR::DS,VM::VM3,"?",false },
97+ {0x0065,0x0055,"Image Private Header",VR::DS,VM::VM1,"?",false },
98+ {0x0065,0x0058,"Image Private Header",VR::IS,VM::VM1,"?",false },
99+ {0x0065,0x0059,"Image Private Header",VR::LO,VM::VM1,"?",false },
100+ {0x0065,0x0060,"Image Private Header",VR::LO,VM::VM1,"?",false },
101+ {0x0065,0x006a,"Image Private Header",VR::LO,VM::VM1,"?",false },
102+ {0x0065,0x006c,"Image Private Header",VR::OB,VM::VM1,"UIH serialized protocol",false },
103+ {0x0065,0x0071,"Image Private Header",VR::US,VM::VM1,"?",false },
104+ {0x0065,0x0073,"Image Private Header",VR::OB,VM::VM1,"?",false },
105+ {0x0065,0x0076,"Image Private Header",VR::SH,VM::VM1,"?",false },
106+ {0x0065,0x0077,"Image Private Header",VR::LO,VM::VM1,"?",false },
107+ {0x0065,0x0078,"Image Private Header",VR::LO,VM::VM1,"?",false },
108+ {0x0067,0x0004,"PrivateCreator10",VR::FD,VM::VM1,"?",false },
109+ {0x0067,0x0005,"PrivateCreator10",VR::FD,VM::VM2,"?",false },
110+ {0x0067,0x0007,"PrivateCreator10",VR::CS,VM::VM3,"?",false },
111+ {0x0067,0x0008,"PrivateCreator10",VR::LO,VM::VM1,"?",false },
112+ {0x0067,0x0009,"PrivateCreator10",VR::IS,VM::VM1,"?",false },
113+ {0x0067,0x000a,"PrivateCreator10",VR::IS,VM::VM1,"?",false },
114+ {0x0067,0x000b,"PrivateCreator10",VR::IS,VM::VM1,"?",false },
115+ {0x0067,0x000d,"PrivateCreator10",VR::SH,VM::VM1,"?",false },
116+ {0x0067,0x0010,"PrivateCreator10",VR::DT,VM::VM1,"?",false },
117+ {0x0067,0x0012,"PrivateCreator10",VR::DT,VM::VM1,"?",false },
118+ {0x0067,0x0014,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
119+ {0x0067,0x0015,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
120+ {0x0067,0x0017,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
121+ {0x0067,0x0019,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
122+ {0x0067,0x001a,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
123+ {0x0067,0x001b,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
124+ {0x0067,0x001c,"PrivateCreator10",VR::CS,VM::VM1,"?",false },
125+ {0x0067,0x001d,"PrivateCreator10",VR::IS,VM::VM1,"?",false },
126+ {0x0067,0x0020,"PrivateCreator10",VR::UT,VM::VM1,"?",false },
127+ {0x0067,0x0021,"PrivateCreator10",VR::SQ,VM::VM1,"?",false },
128+ {0x0067,0x002c,"PrivateCreator10",VR::ST,VM::VM1,"?",false },
129+ {0x0067,0x002f,"PrivateCreator10",VR::DS,VM::VM1,"?",false },
130+ {0x0067,0x0031,"PrivateCreator10",VR::UT,VM::VM1,"?",false },
131+ {0x0067,0x0001,"PrivateCreator11",VR::TM,VM::VM1,"?",false },
132+ {0x0067,0x0002,"PrivateCreator11",VR::DA,VM::VM1,"?",false },
133+ {0x0067,0x0003,"PrivateCreator11",VR::DS,VM::VM1,"?",false },
134+ {0x0067,0x0004,"PrivateCreator11",VR::TM,VM::VM1,"?",false },
135+ {0x0067,0x0005,"PrivateCreator11",VR::DA,VM::VM1,"?",false },
136+ {0x0067,0x0006,"PrivateCreator11",VR::DS,VM::VM1,"?",false },
137+ {0x0067,0x0007,"PrivateCreator11",VR::LO,VM::VM1,"?",false },
138+ // END UIH
41139 {0x0033,0x0001,"KONICA MINOLTA QA 1.4",VR::SQ,VM::VM1,"?Possibly PHI?",false },
42140 {0x0033,0x0004,"KONICA MINOLTA QA 1.4",VR::SS,VM::VM1,"?",false },
43141 {0x0033,0x0006,"KONICA MINOLTA QA 1.4",VR::SS,VM::VM1,"?",false },
@@ -1294,7 +1392,7 @@ static const DICT_ENTRY DICOMV3DataDict [] = {
12941392 {0x0021,0x008e,"SIEMENS MR SDI 02",VR::ST,VM::VM1,"?",false},
12951393 {0x0021,0x00fe,"SIEMENS MR SDI 02",VR::SQ,VM::VM1,"??",false},
12961394 {0x0021,0x00fe,"SIEMENS MR SDS 01",VR::SQ,VM::VM1,"Series Data Sequence",false},
1297- {0x0089,0x0054,"SYNGO_IMAGING",VR::OW ,VM::VM1,"??",false},
1395+ {0x0089,0x0054,"SYNGO_IMAGING",VR::OB ,VM::VM1,"??",false},
12981396 {0x0095,0x00fa,"SIENET",VR::PN,VM::VM1,"?Some kind of Patient Name?",false},
12991397 {0x8ff1,0x0010,"SSI Image enhancement Group",VR::LO,VM::VM1,"SSI Image enhancement Group Version",false },
13001398 {0x8ff1,0x0020,"SSI Image enhancement Group",VR::IS,VM::VM256,"RGB LUT",false },
0 commit comments