comparison Framework/Radiography/RadiographyScene.cpp @ 553:92305ee35b1c dev

web-worker consequences: give access to lower level data
author Alain Mazy <alain@mazy.be>
date Wed, 03 Apr 2019 17:38:43 +0200
parents b336dfa71f12
children a29f9628369e 848170ca4351
comparison
equal deleted inserted replaced
545:e1ba16436d59 553:92305ee35b1c
326 } 326 }
327 327
328 return RegisterLayer(alpha.release()); 328 return RegisterLayer(alpha.release());
329 } 329 }
330 330
331 RadiographyLayer& RadiographyScene::LoadDicomImage(Orthanc::ImageAccessor* dicomImage, // takes ownership
332 const std::string& instance,
333 unsigned int frame,
334 DicomFrameConverter* converter, // takes ownership
335 PhotometricDisplayMode preferredPhotometricDisplayMode,
336 RadiographyLayer::Geometry* geometry)
337 {
338 RadiographyDicomLayer& layer = dynamic_cast<RadiographyDicomLayer&>(RegisterLayer(new RadiographyDicomLayer(IObservable::GetBroker(), *this)));
339
340 layer.SetInstance(instance, frame);
341
342 if (geometry != NULL)
343 {
344 layer.SetGeometry(*geometry);
345 }
346
347 layer.SetDicomFrameConverter(converter);
348 layer.SetSourceImage(dicomImage);
349 layer.SetPreferredPhotomotricDisplayMode(preferredPhotometricDisplayMode);
350
351 return layer;
352 }
353
331 RadiographyLayer& RadiographyScene::LoadDicomFrame(OrthancApiClient& orthanc, 354 RadiographyLayer& RadiographyScene::LoadDicomFrame(OrthancApiClient& orthanc,
332 const std::string& instance, 355 const std::string& instance,
333 unsigned int frame, 356 unsigned int frame,
334 bool httpCompression, 357 bool httpCompression,
335 RadiographyLayer::Geometry* geometry) 358 RadiographyLayer::Geometry* geometry)
580 Orthanc::ImageProcessing::Set(layers, 0); 603 Orthanc::ImageProcessing::Set(layers, 0);
581 604
582 Render(layers, view, interpolation); 605 Render(layers, view, interpolation);
583 606
584 std::auto_ptr<Orthanc::Image> rendered(new Orthanc::Image(Orthanc::PixelFormat_Grayscale16, 607 std::auto_ptr<Orthanc::Image> rendered(new Orthanc::Image(Orthanc::PixelFormat_Grayscale16,
585 layers.GetWidth(), layers.GetHeight(), false)); 608 layers.GetWidth(), layers.GetHeight(), false));
586 609
587 Orthanc::ImageProcessing::Convert(*rendered, layers); 610 Orthanc::ImageProcessing::Convert(*rendered, layers);
588 if (invert) 611 if (invert)
589 Orthanc::ImageProcessing::Invert(*rendered, maxValue); 612 Orthanc::ImageProcessing::Invert(*rendered, maxValue);
590 613