Mercurial > hg > orthanc
comparison UnitTestsSources/FromDcmtkTests.cpp @ 3887:25c122277f53 transcoding
transcoding to JPEGProcess14SV1
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 05 May 2020 16:32:37 +0200 |
parents | b808958dff2a |
children | e46b7a997f0a |
comparison
equal
deleted
inserted
replaced
3886:b808958dff2a | 3887:25c122277f53 |
---|---|
1924 | 1924 |
1925 #if ORTHANC_ENABLE_DCMTK_TRANSCODING == 1 | 1925 #if ORTHANC_ENABLE_DCMTK_TRANSCODING == 1 |
1926 | 1926 |
1927 #include "../Core/DicomNetworking/DicomStoreUserConnection.h" | 1927 #include "../Core/DicomNetworking/DicomStoreUserConnection.h" |
1928 | 1928 |
1929 #include <dcmtk/dcmjpeg/djrploss.h> // for DJ_RPLossy | 1929 #include <dcmtk/dcmjpeg/djrploss.h> // for DJ_RPLossy |
1930 //#include <dcmtk/dcmjpeg/djrplol.h> // for DJ_RPLossless | 1930 #include <dcmtk/dcmjpeg/djrplol.h> // for DJ_RPLossless |
1931 #include <dcmtk/dcmjpls/djrparam.h> // for DJLSRepresentationParameter | 1931 #include <dcmtk/dcmjpls/djrparam.h> // for DJLSRepresentationParameter |
1932 | 1932 |
1933 | 1933 |
1934 #if !defined(ORTHANC_ENABLE_DCMTK_JPEG) | 1934 #if !defined(ORTHANC_ENABLE_DCMTK_JPEG) |
1935 # error Macro ORTHANC_ENABLE_DCMTK_JPEG must be defined | 1935 # error Macro ORTHANC_ENABLE_DCMTK_JPEG must be defined |
1936 #endif | 1936 #endif |
2241 #if ORTHANC_ENABLE_DCMTK_JPEG == 1 | 2241 #if ORTHANC_ENABLE_DCMTK_JPEG == 1 |
2242 if (allowedSyntaxes.find(DicomTransferSyntax_JPEGProcess1) != allowedSyntaxes.end() && | 2242 if (allowedSyntaxes.find(DicomTransferSyntax_JPEGProcess1) != allowedSyntaxes.end() && |
2243 allowNewSopInstanceUid && | 2243 allowNewSopInstanceUid && |
2244 bitsStored == 8) | 2244 bitsStored == 8) |
2245 { | 2245 { |
2246 // Check out "dcmjpeg/apps/dcmcjpeg.cc" | |
2246 DJ_RPLossy parameters(lossyQuality_); | 2247 DJ_RPLossy parameters(lossyQuality_); |
2247 | 2248 |
2248 if (FromDcmtkBridge::Transcode(dicom, DicomTransferSyntax_JPEGProcess1, ¶meters)) | 2249 if (FromDcmtkBridge::Transcode(dicom, DicomTransferSyntax_JPEGProcess1, ¶meters)) |
2249 { | 2250 { |
2250 CheckSopInstanceUid(dicom, sourceSopInstanceUid, false); | 2251 CheckSopInstanceUid(dicom, sourceSopInstanceUid, false); |
2256 #if ORTHANC_ENABLE_DCMTK_JPEG == 1 | 2257 #if ORTHANC_ENABLE_DCMTK_JPEG == 1 |
2257 if (allowedSyntaxes.find(DicomTransferSyntax_JPEGProcess2_4) != allowedSyntaxes.end() && | 2258 if (allowedSyntaxes.find(DicomTransferSyntax_JPEGProcess2_4) != allowedSyntaxes.end() && |
2258 allowNewSopInstanceUid && | 2259 allowNewSopInstanceUid && |
2259 bitsStored <= 12) | 2260 bitsStored <= 12) |
2260 { | 2261 { |
2262 // Check out "dcmjpeg/apps/dcmcjpeg.cc" | |
2261 DJ_RPLossy parameters(lossyQuality_); | 2263 DJ_RPLossy parameters(lossyQuality_); |
2262 if (FromDcmtkBridge::Transcode(dicom, DicomTransferSyntax_JPEGProcess2_4, ¶meters)) | 2264 if (FromDcmtkBridge::Transcode(dicom, DicomTransferSyntax_JPEGProcess2_4, ¶meters)) |
2263 { | 2265 { |
2264 CheckSopInstanceUid(dicom, sourceSopInstanceUid, false); | 2266 CheckSopInstanceUid(dicom, sourceSopInstanceUid, false); |
2267 return true; | |
2268 } | |
2269 } | |
2270 #endif | |
2271 | |
2272 #if ORTHANC_ENABLE_DCMTK_JPEG == 1 | |
2273 if (allowedSyntaxes.find(DicomTransferSyntax_JPEGProcess14SV1) != allowedSyntaxes.end()) | |
2274 { | |
2275 // Check out "dcmjpeg/apps/dcmcjpeg.cc" | |
2276 DJ_RPLossless parameters(6 /* opt_selection_value */, | |
2277 0 /* opt_point_transform */); | |
2278 if (FromDcmtkBridge::Transcode(dicom, DicomTransferSyntax_JPEGProcess14SV1, ¶meters)) | |
2279 { | |
2280 CheckSopInstanceUid(dicom, sourceSopInstanceUid, true); | |
2265 return true; | 2281 return true; |
2266 } | 2282 } |
2267 } | 2283 } |
2268 #endif | 2284 #endif |
2269 | 2285 |