Mercurial > hg > orthanc
diff Core/DicomParsing/IDicomTranscoder.h @ 3946:1f33ed7f82e6 transcoding
automatic test of transcoding
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 19 May 2020 13:44:56 +0200 |
parents | 0b3256c3ee14 |
children | 3d2fc1b5cc8c |
line wrap: on
line diff
--- a/Core/DicomParsing/IDicomTranscoder.h Tue May 19 11:24:00 2020 +0200 +++ b/Core/DicomParsing/IDicomTranscoder.h Tue May 19 13:44:56 2020 +0200 @@ -98,12 +98,32 @@ size_t GetBufferSize(); }; + + protected: + enum TranscodingType + { + TranscodingType_Lossy, + TranscodingType_Lossless, + TranscodingType_Unknown + }; + + static TranscodingType GetTranscodingType(DicomTransferSyntax target, + DicomTransferSyntax source); + + static std::string GetSopInstanceUid(DcmFileFormat& dicom); + + static void CheckTranscoding(DicomImage& transcoded, + bool hasSopInstanceUidChanged, + DicomTransferSyntax sourceSyntax, + const std::string& sourceSopInstanceUid, + const std::set<DicomTransferSyntax>& allowedSyntaxes, + bool allowNewSopInstanceUid); + public: virtual ~IDicomTranscoder() { } - virtual bool Transcode(DicomImage& target, bool& hasSopInstanceUidChanged /* out */, DicomImage& source /* in, "GetParsed()" possibly modified */,