using Dicom; using Dicom.Imaging; using Dicom.IO.Buffer; DicomFile dicomFile = DicomFile.Open("C:\example.dcm"); DicomDataset dataset = dicomFile.Dataset; // Display patient name string patientName = dataset.Get(DicomTag.PatientName); Console.WriteLine("Patient Name: " + patientName); // Load and display image DicomPixelData pixelData = DicomPixelData.Create(dataset, true); IPixelData image = PixelDataFactory.Create(pixelData, 0); Bitmap bitmap = (image as GrayscalePixelDataU16).ToBitmap(); pictureBox1.Image = bitmap;
using Dicom; using Dicom.Imaging; // Create new dataset and add patient info DicomDataset dataset = new DicomDataset( new DicomPersonName(DicomTag.PatientName, "John Doe"), new DicomDecimalString(DicomTag.PatientAge, 34), new DicomCodeString(DicomTag.PatientSex, "M") ); // Load image and add to dataset Bitmap bitmap = new Bitmap("C:\image.jpg"); IPixelData pixelData = PixelDataFactory.Create(bitmap); int rows = bitmap.Height; int columns = bitmap.Width; int depth = 8; // bit depth int samplesPerPixel = 1; // grayscale DicomPixelData dicomPixelData = new DicomPixelData( DicomTransferSyntax.ImplicitVRLittleEndian, new MemoryByteBuffer(pixelData.GetPixelBytes()), rows, columns, depth, samplesPerPixel ); dataset.Add(new DicomUniqueIdentifier(DicomTag.SOPInstanceUID, DicomUIDGenerator.Generate().UID), dicomPixelData); // Save as DICOM file DicomFile dicomFile = new DicomFile(dataset); dicomFile.Save("C:\newFile.dcm");In this example, a new DICOM dataset is created and populated with patient information and an image. The image is loaded as a Bitmap object and converted to a DicomPixelData object using information about its dimensions, bit depth and sample format. The dataset is then saved as a DICOM file using the DicomFile class. Package Library: fo-dicom