public override bool ApplyNextLut() { IVoiLut currentLut = CurrentLut; State currentState = State.GetState(currentLut); if (currentLut is IAutoVoiLut) { var autoVoiLut = (IAutoVoiLut)currentLut; if (autoVoiLut.IsLast) { int nextState = _stateProgression.IndexOf(currentState) + 1; for (int n = nextState; n < nextState + _stateProgression.Count; n++) { IVoiLut lut = _stateProgression[(n % _stateProgression.Count)].GetLut(this); if (lut != null) { VoiLutManager.InstallVoiLut(lut); return(true); } } } else { autoVoiLut.ApplyNext(); return(true); } } else { ApplyInitialLut(); return(true); } return(false); }
public override bool ApplyInitialLut() { var lut = GetInitialLut(); if (lut != null) { VoiLutManager.InstallVoiLut(lut); } return(true); }
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)); } }
public override bool ApplyLinearLut(string lutExplanation) { if (VoiLutManager == null) { return(false); } var voiLutsProvider = Image as IDicomVoiLutsProvider; AutoImageVoiLutLinear lut = AutoImageVoiLutLinear.CreateFrom(voiLutsProvider, lutExplanation); if (lut == null) { return(false); } VoiLutManager.InstallVoiLut(lut); return(true); }
public override bool ApplyDataLut(string lutExplanation) { if (VoiLutManager == null) { return(false); } var voiLutsProvider = Image as IDicomVoiLutsProvider; AutoImageVoiDataLut lut = AutoImageVoiDataLut.CreateFrom(voiLutsProvider, lutExplanation); if (lut == null) { return(false); } VoiLutManager.InstallVoiLut(new AdjustableDataLut(lut)); return(true); }
public override bool ApplyInitialLut() { VoiLutManager.InstallVoiLut(GetInitialLut()); return(true); }