MCPcopy Create free account
hub / github.com/MITK/MITK / AddSegmentationObserver

Method AddSegmentationObserver

Modules/SegmentationUI/src/QmitkMultiLabelManager.cpp:483–522  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

481}
482
483void QmitkMultiLabelManager::AddSegmentationObserver()
484{
485 m_ObservedSegmentation = this->GetMultiLabelSegmentation();
486
487 if (this->GetMultiLabelSegmentation() != nullptr)
488 {
489 auto& widget = *this;
490 m_LabelAddedObserver.Reset(this->GetMultiLabelSegmentation(), mitk::LabelAddedEvent(), [&widget](const itk::EventObject& event)
491 {
492 auto labelEvent = dynamic_cast<const mitk::AnyLabelEvent*>(&event);
493 widget.OnLabelEvent(labelEvent->GetLabelValue());
494 });
495 m_LabelModifiedObserver.Reset(this->GetMultiLabelSegmentation(), mitk::LabelModifiedEvent(), [&widget](const itk::EventObject& event)
496 {
497 auto labelEvent = dynamic_cast<const mitk::AnyLabelEvent*>(&event);
498 widget.OnLabelEvent(labelEvent->GetLabelValue());
499 });
500 m_LabelRemovedObserver.Reset(this->GetMultiLabelSegmentation(), mitk::LabelRemovedEvent(), [&widget](const itk::EventObject& event)
501 {
502 auto labelEvent = dynamic_cast<const mitk::AnyLabelEvent*>(&event);
503 widget.OnLabelEvent(labelEvent->GetLabelValue());
504 });
505
506 m_GroupAddedObserver.Reset(this->GetMultiLabelSegmentation(), mitk::GroupAddedEvent(), [&widget](const itk::EventObject& event)
507 {
508 auto groupEvent = dynamic_cast<const mitk::AnyGroupEvent*>(&event);
509 widget.OnGroupEvent(groupEvent->GetGroupID());
510 });
511 m_GroupModifiedObserver.Reset(this->GetMultiLabelSegmentation(), mitk::GroupModifiedEvent(), [&widget](const itk::EventObject& event)
512 {
513 auto groupEvent = dynamic_cast<const mitk::AnyGroupEvent*>(&event);
514 widget.OnGroupEvent(groupEvent->GetGroupID());
515 });
516 m_GroupRemovedObserver.Reset(this->GetMultiLabelSegmentation(), mitk::GroupRemovedEvent(), [&widget](const itk::EventObject& event)
517 {
518 auto groupEvent = dynamic_cast<const mitk::AnyGroupEvent*>(&event);
519 widget.OnGroupEvent(groupEvent->GetGroupID());
520 });
521 }
522}
523
524void QmitkMultiLabelManager::RemoveSegmentationObserver()
525{

Callers 1

OnSegmentationChangedMethod · 0.95

Calls 6

OnLabelEventMethod · 0.80
OnGroupEventMethod · 0.80
ResetMethod · 0.45
GetLabelValueMethod · 0.45
GetGroupIDMethod · 0.45

Tested by

no test coverage detected