comparison Framework/Toolbox/OrthancSlicesLoader.cpp @ 267:89d02de83c03 am-2

added declaretion of messages handled/emitted
author am@osimis.io
date Wed, 22 Aug 2018 14:59:20 +0200
parents c9cf95b49a86
children 5bd4161bf11b
comparison
equal deleted inserted replaced
266:c9cf95b49a86 267:89d02de83c03
251 251
252 switch (operation->GetMode()) 252 switch (operation->GetMode())
253 { 253 {
254 case Mode_FrameGeometry: 254 case Mode_FrameGeometry:
255 case Mode_SeriesGeometry: 255 case Mode_SeriesGeometry:
256 that_.EmitMessage(IMessage(MessageType_SliceGeometryError)); 256 that_.EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
257 that_.state_ = State_Error; 257 that_.state_ = State_Error;
258 break; 258 break;
259 259
260 case Mode_LoadImage: 260 case Mode_LoadImage:
261 { 261 {
319 state_ = State_GeometryReady; 319 state_ = State_GeometryReady;
320 320
321 if (ok) 321 if (ok)
322 { 322 {
323 LOG(INFO) << "Loaded a series with " << slices_.GetSliceCount() << " slice(s)"; 323 LOG(INFO) << "Loaded a series with " << slices_.GetSliceCount() << " slice(s)";
324 EmitMessage(IMessage(MessageType_SliceGeometryReady)); 324 EmitMessage(IMessage(MessageType_SliceLoader_GeometryReady));
325 } 325 }
326 else 326 else
327 { 327 {
328 LOG(ERROR) << "This series is empty"; 328 LOG(ERROR) << "This series is empty";
329 EmitMessage(IMessage(MessageType_SliceGeometryError)); 329 EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
330 } 330 }
331 } 331 }
332 332
333 333
334 void OrthancSlicesLoader::ParseSeriesGeometry(const void* answer, 334 void OrthancSlicesLoader::ParseSeriesGeometry(const void* answer,
336 { 336 {
337 Json::Value series; 337 Json::Value series;
338 if (!MessagingToolbox::ParseJson(series, answer, size) || 338 if (!MessagingToolbox::ParseJson(series, answer, size) ||
339 series.type() != Json::objectValue) 339 series.type() != Json::objectValue)
340 { 340 {
341 EmitMessage(IMessage(MessageType_SliceGeometryError)); 341 EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
342 return; 342 return;
343 } 343 }
344 344
345 Json::Value::Members instances = series.getMemberNames(); 345 Json::Value::Members instances = series.getMemberNames();
346 346
383 { 383 {
384 Json::Value tags; 384 Json::Value tags;
385 if (!MessagingToolbox::ParseJson(tags, answer, size) || 385 if (!MessagingToolbox::ParseJson(tags, answer, size) ||
386 tags.type() != Json::objectValue) 386 tags.type() != Json::objectValue)
387 { 387 {
388 EmitMessage(IMessage(MessageType_SliceGeometryError)); 388 EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
389 return; 389 return;
390 } 390 }
391 391
392 OrthancPlugins::FullOrthancDataset dataset(tags); 392 OrthancPlugins::FullOrthancDataset dataset(tags);
393 393
410 slices_.AddSlice(slice.release()); 410 slices_.AddSlice(slice.release());
411 } 411 }
412 else 412 else
413 { 413 {
414 LOG(WARNING) << "Skipping invalid multi-frame instance " << instanceId; 414 LOG(WARNING) << "Skipping invalid multi-frame instance " << instanceId;
415 EmitMessage(IMessage(MessageType_SliceGeometryError)); 415 EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
416 return; 416 return;
417 } 417 }
418 } 418 }
419 419
420 SortAndFinalizeSlices(); 420 SortAndFinalizeSlices();
428 { 428 {
429 Json::Value tags; 429 Json::Value tags;
430 if (!MessagingToolbox::ParseJson(tags, answer, size) || 430 if (!MessagingToolbox::ParseJson(tags, answer, size) ||
431 tags.type() != Json::objectValue) 431 tags.type() != Json::objectValue)
432 { 432 {
433 EmitMessage(IMessage(MessageType_SliceGeometryError)); 433 EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
434 return; 434 return;
435 } 435 }
436 436
437 OrthancPlugins::FullOrthancDataset dataset(tags); 437 OrthancPlugins::FullOrthancDataset dataset(tags);
438 438
444 std::auto_ptr<Slice> slice(new Slice); 444 std::auto_ptr<Slice> slice(new Slice);
445 if (slice->ParseOrthancFrame(dicom, instanceId, frame)) 445 if (slice->ParseOrthancFrame(dicom, instanceId, frame))
446 { 446 {
447 LOG(INFO) << "Loaded instance geometry " << instanceId; 447 LOG(INFO) << "Loaded instance geometry " << instanceId;
448 slices_.AddSlice(slice.release()); 448 slices_.AddSlice(slice.release());
449 EmitMessage(IMessage(MessageType_SliceGeometryReady)); 449 EmitMessage(IMessage(MessageType_SliceLoader_GeometryReady));
450 } 450 }
451 else 451 else
452 { 452 {
453 LOG(WARNING) << "Skipping invalid instance " << instanceId; 453 LOG(WARNING) << "Skipping invalid instance " << instanceId;
454 EmitMessage(IMessage(MessageType_SliceGeometryError)); 454 EmitMessage(IMessage(MessageType_SliceLoader_GeometryError));
455 } 455 }
456 } 456 }
457 457
458 458
459 void OrthancSlicesLoader::ParseSliceImagePng(const Operation& operation, 459 void OrthancSlicesLoader::ParseSliceImagePng(const Operation& operation,
782 webCallback_(new WebCallback(broker, *this)), 782 webCallback_(new WebCallback(broker, *this)),
783 //userCallback_(callback), 783 //userCallback_(callback),
784 orthanc_(orthanc), 784 orthanc_(orthanc),
785 state_(State_Initialization) 785 state_(State_Initialization)
786 { 786 {
787 DeclareEmittableMessage(MessageType_SliceLoader_GeometryReady);
788 DeclareEmittableMessage(MessageType_SliceLoader_GeometryError);
789 DeclareEmittableMessage(MessageType_SliceLoader_ImageError);
790 DeclareEmittableMessage(MessageType_SliceLoader_ImageReady);
787 } 791 }
788 792
789 793
790 void OrthancSlicesLoader::ScheduleLoadSeries(const std::string& seriesId) 794 void OrthancSlicesLoader::ScheduleLoadSeries(const std::string& seriesId)
791 { 795 {