private bool ShowImage() { try { DicomElement element = null; element = _dsImage.FindFirstElement(null, DemoDicomTags.PixelData, true); int bitmapCount = _dsImage.GetImageCount(element); if (bitmapCount > 0) { FreeImage(); if (bitmapCount == 1) { if (element != null) { RasterImage image; image = _dsImage.GetImage(element, 0, 0, RasterByteOrder.Gray, _getImageFlags); _viewer.Image = image; } } else { if (element != null) { LoadBitmapList(element); } } if (element != null) { _imageInfo = _dsImage.GetImageInformation(element, 0); } if ((_dicomAnnotationsUtilities != null) && (_viewer.Image != null)) { _dicomAnnotationsUtilities.DisplayWidth = _viewer.Image.Width; _dicomAnnotationsUtilities.DisplayHeight = _viewer.Image.Height; } return(true); } else { Messager.ShowInformation(this, "Please note that this dataset doesn't include any images."); } } catch (Exception exception) { System.Diagnostics.Debug.Assert(false); throw exception; } return(false); }
private void _mnuFileSave_Click(object sender, EventArgs e) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "DCM Files (*.dcm)|*.dcm|All files (*.*)|*.*"; dlg.FilterIndex = 0; if (dlg.ShowDialog() == DialogResult.OK) { // Get Image Information DicomImageInformation imageInfo = _DataSet.GetImageInformation(_PixelElement, 0); // Replace image information in DicomDataSet _DataSet.SetImage(null, _rasterImageViewer.Image, imageInfo.Compression, imageInfo.PhotometricInterpretation, 0, 0, DicomSetImageFlags.AutoSaveOverlays); // Save to disk _DataSet.Save(dlg.FileName, DicomDataSetSaveFlags.None); } }
void Convert(DicomDataSet ds) { DicomElement element; element = ds.FindFirstElement(null, DemoDicomTags.PixelData, true); if (element == null) { continue; } for (int i = 0; i < ds.GetImageCount(element); i++) { RasterImage image; DicomImageInformation info = ds.GetImageInformation(element, i); image = ds.GetImage(element, i, 0, info.IsGray ? RasterByteOrder.Gray : RasterByteOrder.Rgb, DicomGetImageFlags.AutoApplyModalityLut | DicomGetImageFlags.AutoApplyVoiLut | DicomGetImageFlags.AllowRangeExpansion); //ds. } }