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