C#
Objective-C
C++/CLI
Java
public enum DicomImageCompressionType typedef NS_ENUM(NSInteger, LTDicomImageCompressionType) {LTDicomImageCompressionTypeNone,LTDicomImageCompressionTypeRle,LTDicomImageCompressionTypeJpegLossless,LTDicomImageCompressionTypeJpegLossy,LTDicomImageCompressionTypeJpegLsLossless,LTDicomImageCompressionTypeJpegLsLossy,LTDicomImageCompressionTypeJ2kLossless,LTDicomImageCompressionTypeJ2kLossy,LTDicomImageCompressionTypeMpeg2,LTDicomImageCompressionTypeMpeg2Hd,LTDicomImageCompressionTypeH265,LTDicomImageCompressionTypeUnknown,LTDicomImageCompressionTypeJpxLossless,LTDicomImageCompressionTypeJpxLossy,};
public enum DicomImageCompressionType public enum class DicomImageCompressionType | Value | Member | Description |
|---|---|---|
| 0 | None | No compression. |
| 1 | Rle | RLE compression. |
| 2 | JpegLossless | JPEG lossLess compression. |
| 3 | JpegLossy | JPEG lossy compression. |
| 4 | JpegLsLossless | JPEG-LS lossLess. |
| 5 | JpegLsLossy | JPEG-LS lossy. |
| 6 | J2kLossless | JPEG 2000 lossless compression. |
| 7 | J2kLossy | JPEG 2000 lossy compression. |
| 8 | Mpeg2 | MPEG2 video compression. Internally used to read/write DICOM files with the LEADTOOLS Medical Module. For more information on these filters, refer to LEAD DICOM Reader and LEAD DICOM Writer. |
| 9 | Mpeg2Hd | MPEG2 HD video compression. Internally used to read/write DICOM files with the LEADTOOLS Medical Module. For more information on these filters, refer to LEAD DICOM Reader and LEAD DICOM Writer. |
| 10 | H265 | H265 |
| 11 | Unknown | Unknown compression. |
| 12 | JpxLossless | JPEG 2000 Part 2 lossless compression. |
| 13 | JpxLossy | JPEG 2000 Part 2 lossy compression. |
using Leadtools;using Leadtools.Dicom;public void TestDicomImage(){string dicomFileName = Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "image3.dcm");//Make sure to initialize the DICOM engine, this needs to be done only once//In the whole applicationDicomEngine.Startup();using (DicomDataSet ds = new DicomDataSet()){//Load DICOM Fileds.Load(dicomFileName, DicomDataSetLoadFlags.None);DicomElement pixelDataElement = ds.FindFirstElement(null, DicomTag.PixelData, true);if (pixelDataElement == null){Console.WriteLine("This dataset is missing the pixel data element", "Sample");return;}if (ds.GetImageCount(pixelDataElement) == 0){Console.WriteLine("Sample: This dataset has no images");return;}DicomImageInformation imageInformation = ds.GetImageInformation(pixelDataElement, 0);if (imageInformation == null){Console.WriteLine("Sample: Can't retrieve image information");return;}// Over here we can access the different properties of the DicomImageInformation class to get some// of the image attributes such as bits allocated (DicomImageInformation. BitsAllocated)RasterImage image = ds.GetImage(pixelDataElement,0,0,RasterByteOrder.Gray,DicomGetImageFlags.AllowRangeExpansion | DicomGetImageFlags.AutoApplyModalityLut | DicomGetImageFlags.AutoApplyVoiLut);if (image == null){Console.WriteLine("Sample: Can't retrieve image");return;}//If the image has more than one frame then we can call DicomDataSet.GetImages to get all the framesusing (DicomDataSet ds1 = new DicomDataSet()){ds1.Initialize(DicomClassType.DXImageStoragePresentation, DicomDataSetInitializeType.ExplicitVRLittleEndian);DicomElement pixelDataElement1 = ds1.FindFirstElement(null, DicomTag.PixelData, true);if (pixelDataElement1 != null){ds1.SetImage(pixelDataElement1,image,DicomImageCompressionType.None,DicomImagePhotometricInterpretationType.Monochrome2,16,2,DicomSetImageFlags.AutoSetVoiLut);//If we have more than one frame then we can call DicomDataSet.SetImages//This is an alternative way to set the image, I will first delete the//existing image and then call DicomDataSet.InsertImageds1.DeleteElement(pixelDataElement1);pixelDataElement1 = ds1.InsertElement(null, false, DicomTag.PixelData, DicomVRType.UN, false, 0);ds1.InsertImage(pixelDataElement1,image,0,DicomImageCompressionType.None,DicomImagePhotometricInterpretationType.Monochrome2,16,2,DicomSetImageFlags.AutoSetVoiLut);//If we have more than one frame then we can call DicomDataSet.InsertImagesds1.Save(Path.Combine(LEAD_VARS.ImagesDir, "DICOM", "Test.dcm"), DicomDataSetSaveFlags.None);}}//Load DICOM Fileds.Load(dicomFileName, DicomDataSetLoadFlags.None);}DicomEngine.Shutdown();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
