comparison Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp @ 2026:04148de691a7 deep-learning

integration mainline->deep-learning
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 05 Dec 2022 08:29:49 +0100
parents 37d6805b80ee 6099c7925202
children a56f7ed0cdf9
comparison
equal deleted inserted replaced
2008:37d6805b80ee 2026:04148de691a7
3528 deepLearningFrameNumber_ = frameNumber; 3528 deepLearningFrameNumber_ = frameNumber;
3529 deepLearningMask_.reset(Orthanc::Image::Clone(mask)); 3529 deepLearningMask_.reset(Orthanc::Image::Clone(mask));
3530 Redraw(); 3530 Redraw();
3531 } 3531 }
3532 } 3532 }
3533
3534
3535 void SignalSynchronizedBrowsing()
3536 {
3537 if (synchronizationEnabled_ &&
3538 frames_.get() != NULL &&
3539 cursor_.get() != NULL)
3540 {
3541 const size_t currentCursorIndex = cursor_->GetCurrentIndex();
3542
3543 const OrthancStone::CoordinateSystem3D current =
3544 frames_->GetFrameGeometry(currentCursorIndex);
3545
3546 observer_->SignalSynchronizedBrowsing(
3547 *this, current.GetOrigin() + synchronizationOffset_, current.GetNormal());
3548 }
3549 }
3533 }; 3550 };
3534 3551
3535 3552
3536 3553
3537 3554
4490 int DecrementFrame(const char* canvas, 4507 int DecrementFrame(const char* canvas,
4491 int isCircular) 4508 int isCircular)
4492 { 4509 {
4493 try 4510 try
4494 { 4511 {
4495 return GetViewport(canvas)->ChangeFrame(SeriesCursor::Action_Minus, isCircular) ? 1 : 0; 4512 bool changed = GetViewport(canvas)->ChangeFrame(SeriesCursor::Action_Minus, isCircular);
4513 GetViewport(canvas)->SignalSynchronizedBrowsing();
4514 return changed ? 1 : 0;
4496 } 4515 }
4497 EXTERN_CATCH_EXCEPTIONS; 4516 EXTERN_CATCH_EXCEPTIONS;
4498 return 0; 4517 return 0;
4499 } 4518 }
4500 4519
4503 int IncrementFrame(const char* canvas, 4522 int IncrementFrame(const char* canvas,
4504 int isCircular) 4523 int isCircular)
4505 { 4524 {
4506 try 4525 try
4507 { 4526 {
4508 return GetViewport(canvas)->ChangeFrame(SeriesCursor::Action_Plus, isCircular) ? 1 : 0; 4527 bool changed = GetViewport(canvas)->ChangeFrame(SeriesCursor::Action_Plus, isCircular);
4528 GetViewport(canvas)->SignalSynchronizedBrowsing();
4529 return changed ? 1 : 0;
4509 } 4530 }
4510 EXTERN_CATCH_EXCEPTIONS; 4531 EXTERN_CATCH_EXCEPTIONS;
4511 return 0; 4532 return 0;
4512 } 4533 }
4513 4534
4519 try 4540 try
4520 { 4541 {
4521 if (frameNumber >= 0) 4542 if (frameNumber >= 0)
4522 { 4543 {
4523 GetViewport(canvas)->SetFrame(static_cast<unsigned int>(frameNumber)); 4544 GetViewport(canvas)->SetFrame(static_cast<unsigned int>(frameNumber));
4545 GetViewport(canvas)->SignalSynchronizedBrowsing();
4524 } 4546 }
4525 } 4547 }
4526 EXTERN_CATCH_EXCEPTIONS; 4548 EXTERN_CATCH_EXCEPTIONS;
4527 } 4549 }
4528 4550
4531 void GoToFirstFrame(const char* canvas) 4553 void GoToFirstFrame(const char* canvas)
4532 { 4554 {
4533 try 4555 try
4534 { 4556 {
4535 GetViewport(canvas)->GoToFirstFrame(); 4557 GetViewport(canvas)->GoToFirstFrame();
4558 GetViewport(canvas)->SignalSynchronizedBrowsing();
4536 } 4559 }
4537 EXTERN_CATCH_EXCEPTIONS; 4560 EXTERN_CATCH_EXCEPTIONS;
4538 } 4561 }
4539 4562
4540 4563
4542 void GoToLastFrame(const char* canvas) 4565 void GoToLastFrame(const char* canvas)
4543 { 4566 {
4544 try 4567 try
4545 { 4568 {
4546 GetViewport(canvas)->GoToLastFrame(); 4569 GetViewport(canvas)->GoToLastFrame();
4570 GetViewport(canvas)->SignalSynchronizedBrowsing();
4547 } 4571 }
4548 EXTERN_CATCH_EXCEPTIONS; 4572 EXTERN_CATCH_EXCEPTIONS;
4549 } 4573 }
4550 4574
4551 4575