Example #1
0
        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);
            }
        }
Example #2
0
 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;
     }
 }
Example #3
0
 public VOILinearLUT(WindowLevel wl)
 {
     WindowLevel = wl;
 }
Example #4
0
 public VOILinearLUT(int minValue, int maxValue, WindowLevel wl)
 {
     _minValue = minValue;
     _maxValue = maxValue;
     WindowLevel = wl;
 }
Example #5
0
 public VOILinearLUT(int minValue, int maxValue, WindowLevel wl)
 {
     _minValue   = minValue;
     _maxValue   = maxValue;
     WindowLevel = wl;
 }
Example #6
0
 public VOILinearLUT(WindowLevel wl)
 {
     WindowLevel = wl;
 }