# HG changeset patch # User Sebastien Jodogne # Date 1588683167 -7200 # Node ID e23026566536e77605f3e03e4c60224885b7b8b0 # Parent 83061cdc7703611e4771d6b72501a3f7ebd81f16 removed unused functions diff -r 83061cdc7703 -r e23026566536 Core/DicomParsing/FromDcmtkBridge.cpp --- a/Core/DicomParsing/FromDcmtkBridge.cpp Tue May 05 14:37:29 2020 +0200 +++ b/Core/DicomParsing/FromDcmtkBridge.cpp Tue May 05 14:52:47 2020 +0200 @@ -1254,27 +1254,6 @@ bool FromDcmtkBridge::SaveToMemoryBuffer(std::string& buffer, - DcmFileFormat& dicom, - DicomTransferSyntax syntax) - { - E_TransferSyntax xfer; - if (!LookupDcmtkTransferSyntax(xfer, syntax)) - { - return false; - } - else if (!dicom.validateMetaInfo(xfer).good()) - { - throw OrthancException(ErrorCode_InternalError, - "Cannot setup the transfer syntax to write a DICOM instance"); - } - else - { - return SaveToMemoryBufferInternal(buffer, dicom, xfer); - } - } - - - bool FromDcmtkBridge::SaveToMemoryBuffer(std::string& buffer, DcmDataset& dataSet) { // Determine the transfer syntax which shall be used to write the @@ -1307,27 +1286,6 @@ } - bool FromDcmtkBridge::SaveToMemoryBuffer(std::string& buffer, - DcmFileFormat& dicom) - { - E_TransferSyntax xfer = dicom.getDataset()->getCurrentXfer(); - if (xfer == EXS_Unknown) - { - throw OrthancException(ErrorCode_InternalError, - "Cannot write a DICOM instance with unknown transfer syntax"); - } - else if (!dicom.validateMetaInfo(xfer).good()) - { - throw OrthancException(ErrorCode_InternalError, - "Cannot setup the transfer syntax to write a DICOM instance"); - } - else - { - return SaveToMemoryBufferInternal(buffer, dicom, xfer); - } - } - - bool FromDcmtkBridge::Transcode(DcmFileFormat& dicom, DicomTransferSyntax syntax, const DcmRepresentationParameter* representation) @@ -1338,7 +1296,10 @@ throw OrthancException(ErrorCode_InternalError); } else - { + { + DicomTransferSyntax sourceSyntax; + bool known = LookupOrthancTransferSyntax(sourceSyntax, dicom); + if (!dicom.getDataset()->chooseRepresentation(xfer, representation).good() || !dicom.getDataset()->canWriteXfer(xfer) || !dicom.validateMetaInfo(xfer, EWM_updateMeta).good()) @@ -1349,8 +1310,7 @@ { dicom.removeInvalidGroups(); - DicomTransferSyntax sourceSyntax; - if (LookupOrthancTransferSyntax(sourceSyntax, dicom)) + if (known) { LOG(INFO) << "Transcoded an image from transfer syntax " << GetTransferSyntaxUid(sourceSyntax) << " to " diff -r 83061cdc7703 -r e23026566536 Core/DicomParsing/FromDcmtkBridge.h --- a/Core/DicomParsing/FromDcmtkBridge.h Tue May 05 14:37:29 2020 +0200 +++ b/Core/DicomParsing/FromDcmtkBridge.h Tue May 05 14:52:47 2020 +0200 @@ -203,15 +203,8 @@ static std::string GenerateUniqueIdentifier(ResourceType level); static bool SaveToMemoryBuffer(std::string& buffer, - DcmFileFormat& dicom, - DicomTransferSyntax xfer); - - static bool SaveToMemoryBuffer(std::string& buffer, DcmDataset& dataSet); - static bool SaveToMemoryBuffer(std::string& buffer, - DcmFileFormat& dicom); - static bool Transcode(DcmFileFormat& dicom, DicomTransferSyntax syntax, const DcmRepresentationParameter* representation); diff -r 83061cdc7703 -r e23026566536 Resources/Graveyard/TestTranscoding.cpp --- a/Resources/Graveyard/TestTranscoding.cpp Tue May 05 14:37:29 2020 +0200 +++ b/Resources/Graveyard/TestTranscoding.cpp Tue May 05 14:52:47 2020 +0200 @@ -1,3 +1,48 @@ + bool FromDcmtkBridge::SaveToMemoryBuffer(std::string& buffer, + DcmFileFormat& dicom, + DicomTransferSyntax syntax) + { + E_TransferSyntax xfer; + if (!LookupDcmtkTransferSyntax(xfer, syntax)) + { + return false; + } + else if (!dicom.validateMetaInfo(xfer).good()) + { + throw OrthancException(ErrorCode_InternalError, + "Cannot setup the transfer syntax to write a DICOM instance"); + } + else + { + return SaveToMemoryBufferInternal(buffer, dicom, xfer); + } + } + + + bool FromDcmtkBridge::SaveToMemoryBuffer(std::string& buffer, + DcmFileFormat& dicom) + { + E_TransferSyntax xfer = dicom.getDataset()->getCurrentXfer(); + if (xfer == EXS_Unknown) + { + throw OrthancException(ErrorCode_InternalError, + "Cannot write a DICOM instance with unknown transfer syntax"); + } + else if (!dicom.validateMetaInfo(xfer).good()) + { + throw OrthancException(ErrorCode_InternalError, + "Cannot setup the transfer syntax to write a DICOM instance"); + } + else + { + return SaveToMemoryBufferInternal(buffer, dicom, xfer); + } + } + + + + + #include #include #include diff -r 83061cdc7703 -r e23026566536 UnitTestsSources/FromDcmtkTests.cpp --- a/UnitTestsSources/FromDcmtkTests.cpp Tue May 05 14:37:29 2020 +0200 +++ b/UnitTestsSources/FromDcmtkTests.cpp Tue May 05 14:52:47 2020 +0200 @@ -2227,8 +2227,13 @@ DicomAssociationParameters p; p.SetRemotePort(2000); + DicomStoreUserConnection scu(p); + scu.SetCommonClassesProposed(false); + scu.SetRetiredBigEndianProposed(true); + DcmtkTranscoder transcoder; - + + for (int j = 0; j < 2; j++) for (int i = 0; i <= DicomTransferSyntax_XML; i++) { DicomTransferSyntax a = (DicomTransferSyntax) i; @@ -2242,10 +2247,6 @@ std::string source; Orthanc::SystemToolbox::ReadFile(source, path); - DicomStoreUserConnection scu(p); - scu.SetCommonClassesProposed(false); - scu.SetRetiredBigEndianProposed(true); - std::string c, i; try {