comparison OrthancServer/FromDcmtkBridge.cpp @ 2151:8cbb55089a1d

New configuration option: "LoadPrivateDictionary"
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 14 Nov 2016 14:22:45 +0100
parents fd5875662670
children cbebc5d072b0
comparison
equal deleted inserted replaced
2150:9a272d552c27 2151:8cbb55089a1d
175 } 175 }
176 }; 176 };
177 } 177 }
178 178
179 179
180 void FromDcmtkBridge::InitializeDictionary() 180 void FromDcmtkBridge::InitializeDictionary(bool loadPrivateDictionary)
181 { 181 {
182 { 182 {
183 DictionaryLocker locker; 183 DictionaryLocker locker;
184 184
185 locker->clear(); 185 locker->clear();
192 * dictionary is not loaded by storescu. 192 * dictionary is not loaded by storescu.
193 **/ 193 **/
194 //LoadEmbeddedDictionary(*locker, EmbeddedResources::DICTIONARY_DICONDE); 194 //LoadEmbeddedDictionary(*locker, EmbeddedResources::DICTIONARY_DICONDE);
195 195
196 LoadEmbeddedDictionary(*locker, EmbeddedResources::DICTIONARY_DICOM); 196 LoadEmbeddedDictionary(*locker, EmbeddedResources::DICTIONARY_DICOM);
197 LoadEmbeddedDictionary(*locker, EmbeddedResources::DICTIONARY_PRIVATE); 197
198 if (loadPrivateDictionary)
199 {
200 LOG(INFO) << "Loading the dictionary of private tags";
201 LoadEmbeddedDictionary(*locker, EmbeddedResources::DICTIONARY_PRIVATE);
202 }
203 else
204 {
205 LOG(INFO) << "The dictionary of private tags has not been loaded";
206 }
198 207
199 #elif defined(__linux__) || defined(__FreeBSD_kernel__) 208 #elif defined(__linux__) || defined(__FreeBSD_kernel__)
200 std::string path = DCMTK_DICTIONARY_DIR; 209 std::string path = DCMTK_DICTIONARY_DIR;
201 210
202 const char* env = std::getenv(DCM_DICT_ENVIRONMENT_VARIABLE); 211 const char* env = std::getenv(DCM_DICT_ENVIRONMENT_VARIABLE);
204 { 213 {
205 path = std::string(env); 214 path = std::string(env);
206 } 215 }
207 216
208 LoadExternalDictionary(*locker, path, "dicom.dic"); 217 LoadExternalDictionary(*locker, path, "dicom.dic");
209 LoadExternalDictionary(*locker, path, "private.dic"); 218
219 if (loadPrivateDictionary)
220 {
221 LOG(INFO) << "Loading the dictionary of private tags";
222 LoadExternalDictionary(*locker, path, "private.dic");
223 }
224 else
225 {
226 LOG(INFO) << "The dictionary of private tags has not been loaded";
227 }
210 228
211 #else 229 #else
212 #error Support your platform here 230 #error Support your platform here
213 #endif 231 #endif
214 } 232 }