Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/OrthancSlicesLoader.cpp @ 346:c2e040ea8fbe am-2
rotation transform
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 22 Oct 2018 19:40:36 +0200 |
parents | c34784e5f299 |
children | 557c8ff1db5c |
comparison
equal
deleted
inserted
replaced
345:55438b1ca317 | 346:c2e040ea8fbe |
---|---|
274 } | 274 } |
275 | 275 |
276 void OrthancSlicesLoader::ParseInstanceGeometry(const OrthancApiClient::JsonResponseReadyMessage& message) | 276 void OrthancSlicesLoader::ParseInstanceGeometry(const OrthancApiClient::JsonResponseReadyMessage& message) |
277 { | 277 { |
278 Json::Value tags = message.Response; | 278 Json::Value tags = message.Response; |
279 const std::string& instanceId = dynamic_cast<OrthancSlicesLoader::Operation*>(message.Payload)->GetInstanceId(); | 279 const std::string& instanceId = dynamic_cast<OrthancSlicesLoader::Operation*>(message.Payload.get())->GetInstanceId(); |
280 | 280 |
281 OrthancPlugins::FullOrthancDataset dataset(tags); | 281 OrthancPlugins::FullOrthancDataset dataset(tags); |
282 | 282 |
283 Orthanc::DicomMap dicom; | 283 Orthanc::DicomMap dicom; |
284 MessagingToolbox::ConvertDataset(dicom, dataset); | 284 MessagingToolbox::ConvertDataset(dicom, dataset); |
311 | 311 |
312 | 312 |
313 void OrthancSlicesLoader::ParseFrameGeometry(const OrthancApiClient::JsonResponseReadyMessage& message) | 313 void OrthancSlicesLoader::ParseFrameGeometry(const OrthancApiClient::JsonResponseReadyMessage& message) |
314 { | 314 { |
315 Json::Value tags = message.Response; | 315 Json::Value tags = message.Response; |
316 const std::string& instanceId = dynamic_cast<OrthancSlicesLoader::Operation*>(message.Payload)->GetInstanceId(); | 316 const std::string& instanceId = dynamic_cast<OrthancSlicesLoader::Operation*>(message.Payload.get())->GetInstanceId(); |
317 unsigned int frame = dynamic_cast<OrthancSlicesLoader::Operation*>(message.Payload)->GetFrame(); | 317 unsigned int frame = dynamic_cast<OrthancSlicesLoader::Operation*>(message.Payload.get())->GetFrame(); |
318 | 318 |
319 OrthancPlugins::FullOrthancDataset dataset(tags); | 319 OrthancPlugins::FullOrthancDataset dataset(tags); |
320 | 320 |
321 state_ = State_GeometryReady; | 321 state_ = State_GeometryReady; |
322 | 322 |
338 } | 338 } |
339 | 339 |
340 | 340 |
341 void OrthancSlicesLoader::ParseSliceImagePng(const OrthancApiClient::BinaryResponseReadyMessage& message) | 341 void OrthancSlicesLoader::ParseSliceImagePng(const OrthancApiClient::BinaryResponseReadyMessage& message) |
342 { | 342 { |
343 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload); | 343 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload.get()); |
344 boost::shared_ptr<Orthanc::ImageAccessor> image; | 344 boost::shared_ptr<Orthanc::ImageAccessor> image; |
345 | 345 |
346 try | 346 try |
347 { | 347 { |
348 image.reset(new Orthanc::PngReader); | 348 image.reset(new Orthanc::PngReader); |
378 NotifySliceImageSuccess(operation, image); | 378 NotifySliceImageSuccess(operation, image); |
379 } | 379 } |
380 | 380 |
381 void OrthancSlicesLoader::ParseSliceImagePam(const OrthancApiClient::BinaryResponseReadyMessage& message) | 381 void OrthancSlicesLoader::ParseSliceImagePam(const OrthancApiClient::BinaryResponseReadyMessage& message) |
382 { | 382 { |
383 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload); | 383 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload.get()); |
384 boost::shared_ptr<Orthanc::ImageAccessor> image; | 384 boost::shared_ptr<Orthanc::ImageAccessor> image; |
385 | 385 |
386 try | 386 try |
387 { | 387 { |
388 image.reset(new Orthanc::PamReader); | 388 image.reset(new Orthanc::PamReader); |
419 } | 419 } |
420 | 420 |
421 | 421 |
422 void OrthancSlicesLoader::ParseSliceImageJpeg(const OrthancApiClient::JsonResponseReadyMessage& message) | 422 void OrthancSlicesLoader::ParseSliceImageJpeg(const OrthancApiClient::JsonResponseReadyMessage& message) |
423 { | 423 { |
424 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload); | 424 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload.get()); |
425 | 425 |
426 Json::Value encoded = message.Response; | 426 Json::Value encoded = message.Response; |
427 if (encoded.type() != Json::objectValue || | 427 if (encoded.type() != Json::objectValue || |
428 !encoded.isMember("Orthanc") || | 428 !encoded.isMember("Orthanc") || |
429 encoded["Orthanc"].type() != Json::objectValue) | 429 encoded["Orthanc"].type() != Json::objectValue) |
592 } | 592 } |
593 }; | 593 }; |
594 | 594 |
595 void OrthancSlicesLoader::ParseSliceRawImage(const OrthancApiClient::BinaryResponseReadyMessage& message) | 595 void OrthancSlicesLoader::ParseSliceRawImage(const OrthancApiClient::BinaryResponseReadyMessage& message) |
596 { | 596 { |
597 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload); | 597 const Operation& operation = dynamic_cast<const OrthancSlicesLoader::Operation&>(*message.Payload.get()); |
598 Orthanc::GzipCompressor compressor; | 598 Orthanc::GzipCompressor compressor; |
599 | 599 |
600 std::string raw; | 600 std::string raw; |
601 compressor.Uncompress(raw, message.Answer, message.AnswerSize); | 601 compressor.Uncompress(raw, message.Answer, message.AnswerSize); |
602 | 602 |