public FusionOverlayCompositeGraphic(FusionOverlayFrameData overlayFrameData) { _overlayFrameDataReference = overlayFrameData.CreateTransientReference(); _overlayFrameDataReference.FusionOverlayFrameData.Unloaded += HandleOverlayFrameDataUnloaded; _voiLutManagerProxy = new VoiLutManagerProxy(); _colorMapManagerProxy = new ColorMapManagerProxy(); // install an initial VOI window if one is available in the overlay headers var initialVoiWindow = CollectionUtils.FirstElement(overlayFrameData.OverlayData.VoiWindows); if (initialVoiWindow != null) VoiLutManager.InstallVoiLut(new BasicVoiLutLinear(initialVoiWindow.Width, initialVoiWindow.Center)); }
protected override void Dispose(bool disposing) { if (disposing) { _overlayImageGraphic = null; _voiLutManagerProxy = null; _colorMapManagerProxy = null; if (_overlayFrameDataReference != null) { _overlayFrameDataReference.FusionOverlayFrameData.Unloaded -= HandleOverlayFrameDataUnloaded; _overlayFrameDataReference.Dispose(); _overlayFrameDataReference = null; } } base.Dispose(disposing); }