comparison Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp @ 2031:a56f7ed0cdf9 deep-learning

integration mainline->deep-learning
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 23 Dec 2022 17:51:07 +0100
parents 04148de691a7 f36de3ba43c8
children 85ab86f10d01
comparison
equal deleted inserted replaced
2029:0cb8796c2a9b 2031:a56f7ed0cdf9
3125 { 3125 {
3126 observer_->SignalWindowingUpdated(*this, windowingCenter, windowingWidth); 3126 observer_->SignalWindowingUpdated(*this, windowingCenter, windowingWidth);
3127 } 3127 }
3128 } 3128 }
3129 3129
3130 void StretchWindowing()
3131 {
3132 float minValue, maxValue;
3133
3134 {
3135 std::unique_ptr<OrthancStone::IViewport::ILock> lock(viewport_->Lock());
3136
3137 if (!lock->GetController().GetScene().HasLayer(LAYER_TEXTURE) ||
3138 lock->GetController().GetScene().GetLayer(LAYER_TEXTURE).GetType() !=
3139 OrthancStone::ISceneLayer::Type_FloatTexture)
3140 {
3141 return;
3142 }
3143
3144 const Orthanc::ImageAccessor& texture =
3145 dynamic_cast<OrthancStone::FloatTextureSceneLayer&>(
3146 lock->GetController().GetScene().GetLayer(LAYER_TEXTURE)).GetTexture();
3147 if (texture.GetFormat() != Orthanc::PixelFormat_Float32)
3148 {
3149 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError);
3150 }
3151
3152 Orthanc::ImageProcessing::GetMinMaxFloatValue(minValue, maxValue, texture);
3153 }
3154
3155 SetWindowing((minValue + maxValue) / 2.0f, maxValue - minValue);
3156 }
3157
3130 void FlipX() 3158 void FlipX()
3131 { 3159 {
3132 { 3160 {
3133 std::unique_ptr<OrthancStone::IViewport::ILock> lock(viewport_->Lock()); 3161 std::unique_ptr<OrthancStone::IViewport::ILock> lock(viewport_->Lock());
3134 lock->GetController().GetScene().FlipViewportX( 3162 lock->GetController().GetScene().FlipViewportX(
4597 EXTERN_CATCH_EXCEPTIONS; 4625 EXTERN_CATCH_EXCEPTIONS;
4598 } 4626 }
4599 4627
4600 4628
4601 EMSCRIPTEN_KEEPALIVE 4629 EMSCRIPTEN_KEEPALIVE
4630 void StretchWindowing(const char* canvas)
4631 {
4632 try
4633 {
4634 GetViewport(canvas)->StretchWindowing();
4635 }
4636 EXTERN_CATCH_EXCEPTIONS;
4637 }
4638
4639
4640 EMSCRIPTEN_KEEPALIVE
4602 void InvertContrast(const char* canvas) 4641 void InvertContrast(const char* canvas)
4603 { 4642 {
4604 try 4643 try
4605 { 4644 {
4606 GetViewport(canvas)->Invert(); 4645 GetViewport(canvas)->Invert();