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 */,