/// <summary> /// Constructor. /// </summary> /// <param name="attrib"></param> internal DicomPixelData(DicomPixelData attrib) { SopClass = attrib.SopClass; NumberOfFrames = attrib.NumberOfFrames; ImageWidth = attrib.ImageWidth; ImageHeight = attrib.ImageHeight; HighBit = attrib.HighBit; BitsStored = attrib.BitsStored; BitsAllocated = attrib.BitsAllocated; SamplesPerPixel = attrib.SamplesPerPixel; PixelRepresentation = attrib.PixelRepresentation; PlanarConfiguration = attrib.PlanarConfiguration; PhotometricInterpretation = attrib.PhotometricInterpretation; LossyImageCompression = attrib.LossyImageCompression; DerivationDescription = attrib.DerivationDescription; LossyImageCompressionRatio = attrib.LossyImageCompressionRatio; LossyImageCompressionMethod = attrib.LossyImageCompressionMethod; RescaleSlope = attrib.RescaleSlope; RescaleIntercept = attrib.RescaleIntercept; _hasDataModalityLut = attrib.HasDataModalityLut; _hasDataVoiLuts = attrib.HasDataVoiLuts; _hasPaletteColorLut = attrib.HasPaletteColorLut; _paletteColorLut = attrib.PaletteColorLut; foreach (Window window in attrib.LinearVoiLuts) { _linearVoiLuts.Add(window); } }
static public void Insert(StudyStorageLocation storageLocation, string studyInstanceUId, string seriesInstanceUid, string sopInstanceUid, DicomPixelData pixeldata) { lock (_cache) { string key = String.Format("{0}/{1}/{2}/{3}", storageLocation.GetKey().Key, studyInstanceUId, seriesInstanceUid, sopInstanceUid); _cache.Add(key, pixeldata, null, Cache.NoAbsoluteExpiration, _retentionTime, CacheItemPriority.Normal, null); } }
public ImageStreamingContext(HttpListenerContext context) { Request = context.Request; Response = context.Response; NameValueCollection query = Request.QueryString; #region INIT STUFF FOR PERFORMANCE TESTING #if DEBUG if (query["testcompressed"] != null) { testCompressed= true; } else if (query["testuncompressed"] != null) { testUncompressed = true; } if (_testCompressedImage == null) { using (Stream stream = typeof(ImageStreamingContext).Assembly.GetManifestResourceStream("ClearCanvas.ImageServer.Services.Streaming.ImageStreaming.Test.TestSamples.compressed.dcm")) { DicomFile file = new DicomFile(); file.Load(stream); _testCompressedImage = DicomPixelData.CreateFrom(file); } } if (_testUncompressedImage == null) { using (Stream stream = typeof(ImageStreamingContext).Assembly.GetManifestResourceStream("ClearCanvas.ImageServer.Services.Streaming.ImageStreaming.Test.TestSamples.uncompressed.dcm")) { DicomFile file = new DicomFile(); file.Load(stream); _testUncompressedImage = DicomPixelData.CreateFrom(file); } } #endif #endregion _frameNumber = 0; if (query["FrameNumber"] != null) int.TryParse(query["FrameNumber"], out _frameNumber); _nextSeriesUid = query["nextSeriesUid"]; _nextSopUid = query["nextObjectUid"]; }
/// <summary> /// Constructor. /// </summary> /// <param name="attrib"></param> internal DicomPixelData(DicomPixelData attrib) { SopClass = attrib.SopClass; NumberOfFrames = attrib.NumberOfFrames; ImageWidth = attrib.ImageWidth; ImageHeight = attrib.ImageHeight; HighBit = attrib.HighBit; BitsStored = attrib.BitsStored; BitsAllocated = attrib.BitsAllocated; SamplesPerPixel = attrib.SamplesPerPixel; PixelRepresentation = attrib.PixelRepresentation; PlanarConfiguration = attrib.PlanarConfiguration; PhotometricInterpretation = attrib.PhotometricInterpretation; LossyImageCompression = attrib.LossyImageCompression; DerivationDescription = attrib.DerivationDescription; LossyImageCompressionRatio = attrib.LossyImageCompressionRatio; LossyImageCompressionMethod = attrib.LossyImageCompressionMethod; RescaleSlope = attrib.RescaleSlope; RescaleIntercept = attrib.RescaleIntercept; _hasDataModalityLut = attrib.HasDataModalityLut; _hasDataVoiLuts = attrib.HasDataVoiLuts; _hasPaletteColorLut = attrib.HasPaletteColorLut; _paletteColorLut = attrib.PaletteColorLut; foreach (Window window in attrib.LinearVoiLuts) _linearVoiLuts.Add(new Window(window)); }