DicomOptions

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.ImageOptionsBase

public class DicomOptions extends ImageOptionsBase

用于医学数字成像和通信(DICOM)栅格图像格式创建的 API 是为医疗设备应用量身定制的专用工具。它能够无缝生成 DICOM 图像,这对于存储医学数据并包含重要的标识信息至关重要。具备设置压缩、定义颜色类型以及嵌入 XMP 元数据的功能,开发者可以确保在管理医学成像用途的 DICOM 图像时实现合规性和灵活性。

构造函数

构造函数描述
DicomOptions()初始化一个新的 DicomOptions 类实例。
DicomOptions(DicomOptions options)

方法

方法描述
getCompression()获取压缩方式。
setCompression(Compression value)设置压缩方式。
getColorType()获取颜色的类型。
setColorType(int value)设置颜色的类型。

Example: The following example shows export to DICOM file format (single and multipage).

String fileName = "sample.jpg";
String inputFileNameSingle = fileName;
String inputFileNameMultipage = "multipage.tif";
String outputFileNameSingleDcm = "output.dcm";
String outputFileNameMultipageDcm = "outputMultipage.dcm";

// 下面的代码示例将 JPEG 图像转换为 DICOM 文件格式。
try(com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFileNameSingle))
{
    image.save(outputFileNameSingleDcm, new com.aspose.imaging.imageoptions.DicomOptions());
}

// DICOM 格式支持多页图像。您可以像处理 JPEG 图像一样,将 GIF 或 TIFF 图像转换为 DICOM。
try(com.aspose.imaging.Image imageMultiple = com.aspose.imaging.Image.load(inputFileNameMultipage))
{
    imageMultiple.save(outputFileNameMultipageDcm, new com.aspose.imaging.imageoptions.DicomOptions());
}

Example: Create a multi-page Dicom image.

        
try (DicomOptions dicomOptions = new DicomOptions())
{
    dicomOptions.setSource(new StreamSource());
    try (DicomImage image = (DicomImage) Image.create(
            dicomOptions,
            100,
            100))
    {
        // 使用矢量图形绘制内容。
        Graphics graphics = new Graphics(image);
        graphics.fillRectangle(new SolidBrush(Color.getBlueViolet()), image.getBounds());
        graphics.fillRectangle(new SolidBrush(Color.getAqua()), 10, 20, 50, 20);
        graphics.fillEllipse(new SolidBrush(Color.getOrange()), 30, 50, 70, 30);

        // 保存绘制图像的像素。它们现在位于 Dicom 图像的第一页。
        int[] pixels = image.loadArgb32Pixels(image.getBounds());

        // 在后面添加几页,使其更暗。
        for (int i = 1; i < 5; i++)
        {
            DicomPage page = image.addPage();
            page.saveArgb32Pixels(page.getBounds(), pixels);
            page.adjustBrightness(i * 30);
        }

        // 在主页面前面添加几页,使其更亮。
        for (int i = 1; i < 5; i++)
        {
            DicomPage page = image.insertPage(0);
            page.saveArgb32Pixels(page.getBounds(), pixels);
            page.adjustBrightness(-i * 30);
        }

        // 将创建的多页图像保存到输出文件。
        image.save("MultiPage.dcm");
    }
}

Example: Use JPEG compression in DICOM image.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Rgb24Bit);

    Compression compression = new Compression();
    compression.setType(CompressionType.Jpeg);
    JpegOptions jpegOptions = new JpegOptions();
    jpegOptions.setCompressionType(JpegCompressionMode.Baseline);
    jpegOptions.setSampleRoundingMode(SampleRoundingMode.Truncate);
    jpegOptions.setQuality(50);
    compression.setJpeg(jpegOptions);

    options.setCompression(compression);

    inputImage.save("original_JPEG.dcm", options);
}

Example: Use JPEG 2000 compression in DICOM image.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Rgb24Bit);

    Compression compression = new Compression();
    compression.setType(CompressionType.Jpeg2000);
    Jpeg2000Options jpegOptions = new Jpeg2000Options();
    jpegOptions.setCodec(Jpeg2000Codec.Jp2);
    jpegOptions.setIrreversible(false);
    compression.setJpeg2000(jpegOptions);

    options.setCompression(compression);

    inputImage.save("original_JPEG2000.dcm", options);
}

Example: Use RLE compression in DICOM image.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Rgb24Bit);

    Compression compression = new Compression();
    compression.setType(CompressionType.Rle);
    options.setCompression(compression);

    inputImage.save("original_RLE.dcm", options);
}

Example: Change Color Type in DICOM compression.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Grayscale8Bit);

    inputImage.save("original_8Bit.dcm", options);
}

DicomOptions()

public DicomOptions()

初始化一个新的 DicomOptions 类实例。

DicomOptions(DicomOptions options)

public DicomOptions(DicomOptions options)

Parameters:

参数类型描述
optionsDicomOptions

getCompression()

public final Compression getCompression()

获取压缩方式。

值:压缩。

Returns: Compression - the compression.

setCompression(Compression value)

public final void setCompression(Compression value)

设置压缩方式。

值:压缩。

Parameters:

参数类型描述
valueCompression压缩。

getColorType()

public final int getColorType()

获取颜色的类型。

值:颜色的类型。

Returns: int - 颜色的类型。

setColorType(int value)

public final void setColorType(int value)

设置颜色的类型。

值:颜色的类型。

Parameters:

参数类型描述
valueint颜色的类型。

Example: Use JPEG compression in DICOM image.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Rgb24Bit);

    Compression compression = new Compression();
    compression.setType(CompressionType.Jpeg);
    JpegOptions jpegOptions = new JpegOptions();
    jpegOptions.setCompressionType(JpegCompressionMode.Baseline);
    jpegOptions.setSampleRoundingMode(SampleRoundingMode.Truncate);
    jpegOptions.setQuality(50);
    compression.setJpeg(jpegOptions);

    options.setCompression(compression);

    inputImage.save("original_JPEG.dcm", options);
}

Example: Use JPEG 2000 compression in DICOM image.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Rgb24Bit);

    Compression compression = new Compression();
    compression.setType(CompressionType.Jpeg2000);
    Jpeg2000Options jpegOptions = new Jpeg2000Options();
    jpegOptions.setCodec(Jpeg2000Codec.Jp2);
    jpegOptions.setIrreversible(false);
    compression.setJpeg2000(jpegOptions);

    options.setCompression(compression);

    inputImage.save("original_JPEG2000.dcm", options);
}

Example: Use RLE compression in DICOM image.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Rgb24Bit);

    Compression compression = new Compression();
    compression.setType(CompressionType.Rle);
    options.setCompression(compression);

    inputImage.save("original_RLE.dcm", options);
}

Example: Change Color Type in DICOM compression.

try (Image inputImage = Image.load("original.jpg"))
{
    DicomOptions options = new DicomOptions();
    options.setColorType(ColorType.Grayscale8Bit);

    inputImage.save("original_8Bit.dcm", options);
}