Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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.
            }
        }