Mercurial > hg > orthanc
comparison OrthancServer/Sources/ServerContext.cpp @ 4499:6f99949b2878
reorganization
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 09 Feb 2021 14:25:21 +0100 |
parents | 68f52897c119 |
children | 3b4940bca158 |
comparison
equal
deleted
inserted
replaced
4498:7b99e8bb8246 | 4499:6f99949b2878 |
---|---|
34 #include "PrecompiledHeadersServer.h" | 34 #include "PrecompiledHeadersServer.h" |
35 #include "ServerContext.h" | 35 #include "ServerContext.h" |
36 | 36 |
37 #include "../../OrthancFramework/Sources/Cache/SharedArchive.h" | 37 #include "../../OrthancFramework/Sources/Cache/SharedArchive.h" |
38 #include "../../OrthancFramework/Sources/DicomFormat/DicomElement.h" | 38 #include "../../OrthancFramework/Sources/DicomFormat/DicomElement.h" |
39 #include "../../OrthancFramework/Sources/DicomFormat/DicomStreamReader.h" | |
39 #include "../../OrthancFramework/Sources/DicomParsing/DcmtkTranscoder.h" | 40 #include "../../OrthancFramework/Sources/DicomParsing/DcmtkTranscoder.h" |
40 #include "../../OrthancFramework/Sources/DicomParsing/DicomModification.h" | 41 #include "../../OrthancFramework/Sources/DicomParsing/DicomModification.h" |
41 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h" | 42 #include "../../OrthancFramework/Sources/DicomParsing/FromDcmtkBridge.h" |
42 #include "../../OrthancFramework/Sources/DicomParsing/Internals/DicomImageDecoder.h" | 43 #include "../../OrthancFramework/Sources/DicomParsing/Internals/DicomImageDecoder.h" |
43 #include "../../OrthancFramework/Sources/FileStorage/StorageAccessor.h" | 44 #include "../../OrthancFramework/Sources/FileStorage/StorageAccessor.h" |
507 overwrite = false; | 508 overwrite = false; |
508 break; | 509 break; |
509 | 510 |
510 default: | 511 default: |
511 throw OrthancException(ErrorCode_ParameterOutOfRange); | 512 throw OrthancException(ErrorCode_ParameterOutOfRange); |
512 } | 513 } |
514 | |
515 | |
516 bool hasPixelDataOffset; | |
517 uint64_t pixelDataOffset; | |
518 hasPixelDataOffset = DicomStreamReader::LookupPixelDataOffset( | |
519 pixelDataOffset, dicom.GetBufferData(), dicom.GetBufferSize()); | |
520 | |
513 | 521 |
514 try | 522 try |
515 { | 523 { |
516 MetricsRegistry::Timer timer(GetMetricsRegistry(), "orthanc_store_dicom_duration_ms"); | 524 MetricsRegistry::Timer timer(GetMetricsRegistry(), "orthanc_store_dicom_duration_ms"); |
517 StorageAccessor accessor(area_, GetMetricsRegistry()); | 525 StorageAccessor accessor(area_, GetMetricsRegistry()); |
571 attachments.push_back(jsonInfo); | 579 attachments.push_back(jsonInfo); |
572 | 580 |
573 typedef std::map<MetadataType, std::string> InstanceMetadata; | 581 typedef std::map<MetadataType, std::string> InstanceMetadata; |
574 InstanceMetadata instanceMetadata; | 582 InstanceMetadata instanceMetadata; |
575 StoreStatus status = index_.Store( | 583 StoreStatus status = index_.Store( |
576 instanceMetadata, dicom, attachments, overwrite); | 584 instanceMetadata, dicom, attachments, overwrite, hasPixelDataOffset, pixelDataOffset); |
577 | 585 |
578 // Only keep the metadata for the "instance" level | 586 // Only keep the metadata for the "instance" level |
579 dicom.GetMetadata().clear(); | 587 dicom.GetMetadata().clear(); |
580 | 588 |
581 for (InstanceMetadata::const_iterator it = instanceMetadata.begin(); | 589 for (InstanceMetadata::const_iterator it = instanceMetadata.begin(); |