public static IPipeline Create(DcmDataset dataset, DcmPixelData pixelData) { PhotometricInterpretation pi = PhotometricInterpretation.Lookup(pixelData.PhotometricInterpretation); if (pi == PhotometricInterpretation.Monochrome1 || pi == PhotometricInterpretation.Monochrome2) { GenericGrayscalePipeline pipeline = new GenericGrayscalePipeline(pixelData.RescaleSlope, pixelData.RescaleIntercept, pixelData.BitsStored, pixelData.IsSigned); if (pi == PhotometricInterpretation.Monochrome1) { pipeline.ColorMap = ColorTable.Monochrome1; } else { pipeline.ColorMap = ColorTable.Monochrome2; } WindowLevel[] wl = WindowLevel.FromDataset(dataset); if (wl.Length > 0) { pipeline.WindowLevel = wl[0]; } return(pipeline); } else if (pi == PhotometricInterpretation.Rgb) { return(new RgbColorPipeline()); } else { throw new DicomImagingException("Unsupported pipeline photometric interpretation: {0}", pi.Value); } }
private void WindowingCell(MedViewerControlCell cell, WindowLevel winLevel, bool needRefresh) { cell.Image.CurrentPage.PState.CanRaiseValueChangedEvent = false; cell.Image.CurrentPage.PState.WindowLevel = winLevel; cell.Image.CurrentPage.PState.CanRaiseValueChangedEvent = true; if (needRefresh) { cell.Refresh(CellRefreshType.Image); if (cell.ActualWidth >= FilmingUtility.FilmingPageSyncBoundary && cell.ActualHeight >= FilmingUtility.FilmingPageSyncBoundary) { cell.Refresh(CellRefreshType.ImageText); } } else { cell.Image.CurrentPage.IsDirty = true; } }
public VOILinearLUT(WindowLevel wl) { WindowLevel = wl; }
public VOILinearLUT(int minValue, int maxValue, WindowLevel wl) { _minValue = minValue; _maxValue = maxValue; WindowLevel = wl; }