Class DicomOptions
Contents
[
Hide
]DicomOptions class
The API for Digital Imaging and Communications in Medicine (DICOM) raster image format creation is a specialized tool tailored for medical device applications. It enables the seamless generation of DICOM images, crucial for storing medical data and containing vital identification information. With features to and set compression, define color types, and embed XMP metadata, developers can ensure compliance and flexibility in managing DICOM images for medical imaging purposes.
public class DicomOptions : ImageOptionsBase
Constructors
Name | Description |
---|---|
DicomOptions() | The default constructor. |
Properties
Name | Description |
---|---|
BufferSizeHint { get; set; } | Gets or sets the buffer size hint which is defined max allowed size for all internal buffers. |
ColorType { get; set; } | Gets or sets the type of the color. |
Compression { get; set; } | Gets or sets the compression. |
Disposed { get; } | Gets a value indicating whether this instance is disposed. |
FullFrame { get; set; } | Gets or sets a value indicating whether [full frame]. |
KeepMetadata { get; set; } | Gets a value whether to keep original image metadata on export. |
MultiPageOptions { get; set; } | The multipage options |
virtual Palette { get; set; } | Gets or sets the color palette. |
ProgressEventHandler { get; set; } | Gets or sets the progress event handler. |
virtual ResolutionSettings { get; set; } | Gets or sets the resolution settings. |
Source { get; set; } | Gets or sets the source to create image in. |
VectorRasterizationOptions { get; set; } | Gets or sets the vector rasterization options. |
virtual XmpData { get; set; } | Gets or sets the XMP metadata container. |
Methods
Name | Description |
---|---|
virtual Clone() | Clones this instance. |
Dispose() | Disposes the current instance. |
Examples
Change Color Type in DICOM compression.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Use RLE compression in DICOM image.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression { Type = CompressionType.Rle }
};
inputImage.Save("original_RLE.dcm", options);
}
Use JPEG 2000 compression in DICOM image.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg2000,
Jpeg2000 = new Jpeg2000Options
{
Codec = Jpeg2000Codec.Jp2,
Irreversible = false
}
}
};
inputImage.Save("original_JPEG2000.dcm", options);
}
Use JPEG compression in DICOM image.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg,
Jpeg = new JpegOptions
{
CompressionType = JpegCompressionMode.Baseline,
SampleRoundingMode = SampleRoundingMode.Truncate,
Quality = 50
}
}
};
inputImage.Save("original_JPEG.dcm", options);
}
The following example shows export to DICOM file format (single and multipage).
[C#]
string fileName = "sample.jpg";
string inputFileNameSingle = fileName;
string inputFileNameMultipage = "multipage.tif";
string outputFileNameSingleDcm = "output.dcm";
string outputFileNameMultipageDcm = "outputMultipage.dcm";
// The next code sample converts JPEG image to DICOM file format
using (var image = Aspose.Imaging.Image.Load(inputFileNameSingle))
{
image.Save(outputFileNameSingleDcm, new Aspose.Imaging.ImageOptions.DicomOptions());
}
// DICOM format supports multipage images. You can convert GIF or TIFF images to DICOM in the same way as JPEG images
using (var imageMultiple = Aspose.Imaging.Image.Load(inputFileNameMultipage))
{
imageMultiple.Save(outputFileNameMultipageDcm, new Aspose.Imaging.ImageOptions.DicomOptions());
}
Create a multi-page Dicom image.
[C#]
using (DicomImage image = (DicomImage)Image.Create(
new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
100,
100))
{
// Draw something using vector graphics
Graphics graphics = new Graphics(image);
graphics.FillRectangle(new SolidBrush(Color.BlueViolet), image.Bounds);
graphics.FillRectangle(new SolidBrush(Color.Aqua), 10, 20, 50, 20);
graphics.FillEllipse(new SolidBrush(Color.Orange), 30, 50, 70, 30);
// Save the pixels of the drawn image. They are now on the first page of the Dicom image.
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
// Add a few pages after, making them darker
for (int i = 1; i < 5; i++)
{
DicomPage page = image.AddPage();
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(i * 30);
}
// Add a few pages in front of the main page, making them brighter
for (int i = 1; i < 5; i++)
{
DicomPage page = image.InsertPage(0);
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(-i * 30);
}
// Save the created multi-page image to the output file
image.Save("MultiPage.dcm");
}
See Also
- class ImageOptionsBase
- namespace Aspose.Imaging.ImageOptions
- assembly Aspose.Imaging