Mercurial > hg > orthanc-stone
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 |