comparison Core/DicomParsing/IDicomTranscoder.h @ 3894:8f7ad4989fec transcoding

transcoding to uncompressed transfer syntaxes over DICOM protocol is implemented
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 07 May 2020 11:13:29 +0200
parents 7a5fa8f307e9
children c62f84c7eda9
comparison
equal deleted inserted replaced
3893:7a5fa8f307e9 3894:8f7ad4989fec
53 virtual ~IDicomTranscoder() 53 virtual ~IDicomTranscoder()
54 { 54 {
55 } 55 }
56 56
57 virtual bool TranscodeToBuffer(std::string& target, 57 virtual bool TranscodeToBuffer(std::string& target,
58 bool& hasSopInstanceUidChanged /* out */,
58 const void* buffer, 59 const void* buffer,
59 size_t size, 60 size_t size,
60 const std::set<DicomTransferSyntax>& allowedSyntaxes, 61 const std::set<DicomTransferSyntax>& allowedSyntaxes,
61 bool allowNewSopInstanceUid) = 0; 62 bool allowNewSopInstanceUid) = 0;
62 63
64 * Transcoding flavor that creates a new parsed DICOM file. A 65 * Transcoding flavor that creates a new parsed DICOM file. A
65 * "std::set<>" is used to give the possible plugin the 66 * "std::set<>" is used to give the possible plugin the
66 * possibility to do a single parsing for all the possible 67 * possibility to do a single parsing for all the possible
67 * transfer syntaxes. 68 * transfer syntaxes.
68 **/ 69 **/
69 virtual DcmFileFormat* TranscodeToParsed(const void* buffer, 70 virtual DcmFileFormat* TranscodeToParsed(bool& hasSopInstanceUidChanged /* out */,
71 const void* buffer,
70 size_t size, 72 size_t size,
71 const std::set<DicomTransferSyntax>& allowedSyntaxes, 73 const std::set<DicomTransferSyntax>& allowedSyntaxes,
72 bool allowNewSopInstanceUid) = 0; 74 bool allowNewSopInstanceUid) = 0;
73 75
74 virtual bool HasInplaceTranscode() const = 0; 76 virtual bool HasInplaceTranscode() const = 0;
75 77
76 /** 78 /**
77 * In-place transcoding. This method is preferred for C-STORE. 79 * In-place transcoding. This method is preferred for C-STORE.
78 **/ 80 **/
79 virtual bool InplaceTranscode(DcmFileFormat& dicom, 81 virtual bool InplaceTranscode(bool& hasSopInstanceUidChanged /* out */,
82 DcmFileFormat& dicom,
80 const std::set<DicomTransferSyntax>& allowedSyntaxes, 83 const std::set<DicomTransferSyntax>& allowedSyntaxes,
81 bool allowNewSopInstanceUid) = 0; 84 bool allowNewSopInstanceUid) = 0;
82 }; 85 };
83 } 86 }