comparison OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp @ 3943:b26d25d3c1c7 transcoding

"/{patients|studies|series}/.../modify": New option "Transcode"
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 18 May 2020 21:37:31 +0200
parents 5b882ad2ffd0
children 0b3256c3ee14
comparison
equal deleted inserted replaced
3942:5b882ad2ffd0 3943:b26d25d3c1c7
175 else 175 else
176 { 176 {
177 modification.SetLevel(ResourceType_Instance); 177 modification.SetLevel(ResourceType_Instance);
178 } 178 }
179 179
180 if (request.isMember("Transcode")) 180 static const char* TRANSCODE = "Transcode";
181 { 181 if (request.isMember(TRANSCODE))
182 std::string s = SerializationToolbox::ReadString(request, "Transcode"); 182 {
183 std::string s = SerializationToolbox::ReadString(request, TRANSCODE);
183 184
184 DicomTransferSyntax syntax; 185 DicomTransferSyntax syntax;
185 if (LookupTransferSyntax(syntax, s)) 186 if (LookupTransferSyntax(syntax, s))
186 { 187 {
187 AnonymizeOrModifyInstance(modification, call, true, syntax); 188 AnonymizeOrModifyInstance(modification, call, true, syntax);
234 std::unique_ptr<ResourceModificationJob> job(new ResourceModificationJob(context)); 235 std::unique_ptr<ResourceModificationJob> job(new ResourceModificationJob(context));
235 236
236 job->SetModification(modification.release(), level, isAnonymization); 237 job->SetModification(modification.release(), level, isAnonymization);
237 job->SetOrigin(call); 238 job->SetOrigin(call);
238 SetKeepSource(*job, body); 239 SetKeepSource(*job, body);
240
241 static const char* TRANSCODE = "Transcode";
242 if (body.isMember(TRANSCODE))
243 {
244 job->SetTranscode(SerializationToolbox::ReadString(body, TRANSCODE));
245 }
239 246
240 context.AddChildInstances(*job, call.GetUriComponent("id", "")); 247 context.AddChildInstances(*job, call.GetUriComponent("id", ""));
241 job->AddTrailingStep(); 248 job->AddTrailingStep();
242 249
243 OrthancRestApi::GetApi(call).SubmitCommandsJob 250 OrthancRestApi::GetApi(call).SubmitCommandsJob