private void SubscribeToMessages() { //When we load a new image, render it MessengerInstance.Register <RTObjectAddedMessage <DicomImageObject> >(this, x => { AxialPanelModel.SetPrimaryImage(x.Value); SagittalPanelModel.SetPrimaryImage(x.Value); CoronalPanelModel.SetPrimaryImage(x.Value); InvalidateAll(); }); MessengerInstance.Register <RTObjectDeletedMessage <DicomImageObject> >(this, x => { AxialPanelModel.SetPrimaryImage(null); SagittalPanelModel.SetPrimaryImage(null); CoronalPanelModel.SetPrimaryImage(null); InvalidateAll(); }); MessengerInstance.Register <ROIsObjectRenderMessage>(this, x => { AxialPanelModel.AddROIs(x.AddedRois); AxialPanelModel.RemoveROIs(x.RemovedRois); SagittalPanelModel.AddROIs(x.AddedRois); SagittalPanelModel.RemoveROIs(x.RemovedRois); CoronalPanelModel.AddROIs(x.AddedRois); CoronalPanelModel.RemoveROIs(x.RemovedRois); }); MessengerInstance.Register <NotificationMessage>(this, x => { MessageBox.Show(x.Notification); }); //When the dose render options are changed... MessengerInstance.Register <DoseRenderQualityChanged>(this, x => { ChangeDoseRenderOptions(x.Options); }); }