DicomImage

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.DataStreamSupporter, com.aspose.imaging.Image, com.aspose.imaging.RasterImage, com.aspose.imaging.RasterCachedImage, com.aspose.imaging.RasterCachedMultipageImage

All Implemented Interfaces: com.aspose.imaging.IMultipageImageExt

public final class DicomImage extends RasterCachedMultipageImage implements IMultipageImageExt

Esta Clase implementa el soporte del formato de imagen raster DICOM (Digital Imaging and Communications in Medicine) y ofrece una solución integral para procesar imágenes DICOM con precisión y flexibilidad. Puedes manipular sin problemas las páginas de la imagen, incluyendo operaciones para obtener, añadir o eliminar páginas, y controlar las páginas predeterminadas y activas. Con capacidades para trabajar con canales alfa, incrustar metadatos XMP, redimensionar, rotar, recortar, binarizar, ajustar, aplicar filtros y convertir a otros formatos raster. Esta API permite a los desarrolladores manejar imágenes DICOM de manera eficaz mientras satisfacen diversos requisitos de aplicación en contextos de imágenes médicas.

Constructores

ConstructorDescripción
DicomImage(DicomOptions dicomOptions, int width, int height)Inicializa una nueva instancia de la clase DicomImage sin esfuerzo con este constructor, utilizando los parámetros dicomOptions.
DicomImage(InputStream stream, LoadOptions loadOptions)Inicie una nueva instancia de la clase DicomImage de forma fluida empleando los parámetros stream y loadOptions en este constructor.
DicomImage(InputStream stream)Cree una nueva instancia de la clase DicomImage utilizando un parámetro stream en este constructor.

Métodos

MétodoDescripción
getPageCount()Recupere el recuento total de páginas de la imagen con esta propiedad intuitiva.
getPages()Acceda a las páginas de la imagen con esta propiedad intuitiva.
getFileInfo()Recupere información valiosa del encabezado del archivo DICOM sin esfuerzo con esta propiedad intuitiva.
getDicomPages()Acceda a las páginas de la imagen con esta propiedad intuitiva.
getActivePage()Acceda a la página activa de la imagen con esta propiedad intuitiva.
setActivePage(DicomPage value)Administre la página activa de la imagen con esta propiedad intuitiva.
getActivePageIndex()Recupere el índice de la página activa sin esfuerzo con esta propiedad intuitiva.
getFileFormat()Recupere el valor del formato de archivo sin esfuerzo con esta propiedad intuitiva.
hasAlpha()Recupere si la imagen tiene un canal alfa sin esfuerzo con esta propiedad intuitiva.
addPage(RasterImage page)Amplíe su colección de imágenes añadiendo una nueva página con este método intuitivo.
saveAll(String filePath, ImageOptionsBase options)Conserve los datos del objeto guardándolos en el archivo designado (indexer + filename) junto con el formato de archivo y las opciones especificados.
setResolution(double dpiX, double dpiY)Ajuste la resolución de este RasterImage con precisión usando este método sencillo.
resizeProportional(int newWidth, int newHeight, int resizeType)Redimensione la imagen manteniendo su relación de aspecto con este método conveniente.
addPage()Agregue una nueva página al final de la lista de páginas de la imagen con este método sencillo.
insertPage(int pageIndex)Inserte una nueva página en la lista de páginas de la imagen en un índice especificado con este método intuitivo.
removePage(int pageIndex)Elimine la página en el índice especificado de la lista de páginas con este método conveniente.
rotate(float angle, boolean resizeProportionally, Color backgroundColor)Gire la imagen alrededor de su centro con este método conveniente.
resize(int newWidth, int newHeight, int resizeType)Ajuste el tamaño de la imagen con este método sencillo.
resizeWidthProportionally(int newWidth, int resizeType)Ajuste el ancho de la imagen manteniendo su relación de aspecto con este método conveniente.
resizeHeightProportionally(int newHeight, int resizeType)Ajuste la altura de la imagen manteniendo su relación de aspecto con este método fácil de usar.
rotateFlip(int rotateFlipType)Manipule fácilmente el fotograma activo rotando, volteando o realizando ambas acciones simultáneamente con este método sencillo.
dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)Mejore la imagen actual aplicando efectos de tramado con este método sencillo.
crop(Rectangle rectangle)Recorte la imagen para eliminar áreas no deseadas y centrarse en el contenido esencial con este método simple.
crop(int leftShift, int rightShift, int topShift, int bottomShift)Ajuste el área de recorte de la imagen aplicando desplazamientos con este método versátil.
binarizeFixed(byte threshold)Convierta fácilmente la imagen a un formato binario usando un umbral predefinido con este método sencillo.
binarizeOtsu()Aplicar el umbralizado Otsu para binarizar la imagen, determinando automáticamente el valor de umbral óptimo basado en el histograma de la imagen.
binarizeBradley(double brightnessDifference, int windowSize)Binarizar imágenes con el algoritmo de umbralizado adaptativo de Bradley, aprovechando el umbralizado de imagen integral para mejorar el rendimiento.
grayscale()Transformar fácilmente las imágenes a su representación en escala de grises, simplificando las tareas de análisis visual y procesamiento.
adjustGamma(float gamma)Mejorar la calidad de la imagen y ajustarla con corrección gamma, una técnica poderosa para afinar la apariencia visual.
adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)Lograr ajustes de color precisos aplicando corrección gamma de forma independiente a los componentes rojo, verde y azul de una imagen.
adjustBrightness(int brightness)Mejorar la luminancia de la imagen con el ajuste de brightness, un método parametrizado que permite a los desarrolladores afinar la luminosidad de las imágenes.
adjustContrast(float contrast)Mejorar el contraste de Image con este método fácil de usar, que ajusta la disparidad entre áreas claras y oscuras.
filter(Rectangle rectangle, FilterOptionsBase options)Mejorar sin esfuerzo áreas específicas de tu imagen aplicando filtros a rectángulos designados.
resize(int newWidth, int newHeight, ImageResizeSettings settings)Ajustar el tamaño de tu imagen con este sencillo método de redimensionado.
cacheData()Este método almacena en caché los datos de manera eficiente, optimizando el rendimiento y garantizando un acceso rápido cuando sea necesario.

Example: This example demonstrates the loading and exporting of dicom file.


String dir = "c:\\temp\\";

// Cargar una imagen
com.aspose.imaging.fileformats.dicom.DicomImage image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load("sample.dicom");
try {
    image.adjustBrightness(50);
    image.save(dir + "sample.dicom.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

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))
    {
        // Dibuja algo usando gráficos vectoriales
        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);

        // Guarda los píxeles de la imagen dibujada. Ahora están en la primera página de la imagen Dicom.
        int[] pixels = image.loadArgb32Pixels(image.getBounds());

        // Añade algunas páginas después, oscureciéndolas
        for (int i = 1; i < 5; i++)
        {
            DicomPage page = image.addPage();
            page.saveArgb32Pixels(page.getBounds(), pixels);
            page.adjustBrightness(i * 30);
        }

        // Añade algunas páginas antes de la página principal, iluminándolas
        for (int i = 1; i < 5; i++)
        {
            DicomPage page = image.insertPage(0);
            page.saveArgb32Pixels(page.getBounds(), pixels);
            page.adjustBrightness(-i * 30);
        }

        // Guarda la imagen multipágina creada en el archivo de salida
        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);
}

DicomImage(DicomOptions dicomOptions, int width, int height)

public DicomImage(DicomOptions dicomOptions, int width, int height)

Inicializar una nueva instancia de la clase DicomImage sin esfuerzo con este constructor, utilizando los parámetros dicomOptions. Perfecto para desarrolladores que desean sumergirse rápidamente y de manera eficiente en objetos DicomImage en sus proyectos.

Parameters:

ParámetroTipoDescripción
dicomOptionsDicomOptionsLas opciones dicom (ignorando por ahora).
widthintEl ancho.
heightintLa altura.

DicomImage(InputStream stream, LoadOptions loadOptions)

public DicomImage(InputStream stream, LoadOptions loadOptions)

Iniciar una nueva instancia de la clase DicomImage de forma fluida empleando un stream y los parámetros loadOptions en este constructor. Ideal para desarrolladores ansiosos por comenzar a trabajar con objetos DicomImage de manera rápida y eficaz en sus proyectos.

Parameters:

ParámetroTipoDescripción
flujojava.io.InputStreamEl flujo.
loadOptionsLoadOptionsLas opciones de carga.

DicomImage(InputStream stream)

public DicomImage(InputStream stream)

Crear una nueva instancia de la clase DicomImage utilizando un parámetro stream en este constructor. Perfecto para desarrolladores que buscan una forma simplificada de inicializar objetos DicomImage a partir de flujos de datos existentes en sus proyectos.

Parameters:

ParámetroTipoDescripción
flujojava.io.InputStreamEl flujo.

getPageCount()

public int getPageCount()

Obtener el recuento total de páginas de la imagen con esta propiedad intuitiva. Ideal para desarrolladores que buscan acceso rápido al número de páginas dentro de una imagen, garantizando una navegación y gestión eficientes.

Returns: int - el recuento de páginas.

getPages()

public Image[] getPages()

Acceder a las páginas de la imagen con esta propiedad intuitiva. Ideal para desarrolladores que desean interactuar con páginas individuales dentro de la imagen, asegurando una navegación y manipulación fluidas.

Returns: com.aspose.imaging.Image[] - las páginas.

getFileInfo()

public DicomImageInfo getFileInfo()

Obtener información valiosa del encabezado del archivo DICOM sin esfuerzo con esta propiedad intuitiva. Ideal para desarrolladores que buscan acceso rápido a los detalles esenciales encapsulados en el archivo DICOM, garantizando una extracción y análisis de datos eficientes.

Returns: DicomImageInfo - a value, which contains info header the DICOM file

getDicomPages()

public DicomPage[] getDicomPages()

Acceder a las páginas de la imagen con esta propiedad intuitiva. Ideal para desarrolladores que desean interactuar con páginas individuales dentro de la imagen, asegurando una navegación y manipulación fluidas.

Returns: com.aspose.imaging.fileformats.dicom.DicomPage[] - las páginas.

getActivePage()

public DicomPage getActivePage()

Acceder a la página activa de la imagen con esta propiedad intuitiva. Ideal para desarrolladores que buscan cambiar dinámicamente entre páginas dentro de imágenes multipágina, garantizando una navegación y procesamiento eficientes.

Returns: DicomPage - the active page.

setActivePage(DicomPage value)

public void setActivePage(DicomPage value)

Gestionar la página activa de la imagen con esta propiedad intuitiva. Ideal para desarrolladores que buscan cambiar dinámicamente entre páginas dentro de imágenes multipágina, garantizando una navegación y procesamiento eficientes.

Parameters:

ParámetroTipoDescripción
valueDicomPagela página activa.

getActivePageIndex()

public int getActivePageIndex()

Obtener el índice de la página activa sin esfuerzo con esta propiedad intuitiva. Ideal para desarrolladores que buscan acceso rápido al índice de la página actual dentro de imágenes multipágina, garantizando una navegación y procesamiento eficientes.

Returns: int - el índice de la página activa.

getFileFormat()

public long getFileFormat()

Obtener el valor del formato de archivo sin esfuerzo con esta propiedad intuitiva. Ideal para desarrolladores que buscan acceso rápido al formato del archivo de imagen, garantizando un manejo y procesamiento eficientes según el tipo de archivo.

Returns: long - un valor del formato de archivo FileFormat.

hasAlpha()

public boolean hasAlpha()

Obtenga de forma sencilla si la imagen tiene un canal alfa con esta propiedad intuitiva. Ideal para desarrolladores que buscan determinar si la imagen contiene información de transparencia, garantizando un manejo preciso de los datos del canal alfa en tareas de procesamiento de imágenes.

Returns: boolean - verdadero si la imagen tiene canal alfa.

addPage(RasterImage page)

public void addPage(RasterImage page)

Amplíe su colección de imágenes añadiendo una nueva página con este método intuitivo. Ideal para desarrolladores que buscan agregar páginas de forma dinámica a imágenes multipágina, asegurando una expansión y organización sin problemas del contenido de la imagen.

Parameters:

ParámetroTipoDescripción
pageRasterImageLa página a agregar.

saveAll(String filePath, ImageOptionsBase options)

public void saveAll(String filePath, ImageOptionsBase options)

Conserve los datos del objeto guardándolos en la ubicación del archivo designado (indexador + nombre de archivo) junto con el formato de archivo y las opciones especificadas. Ideal para desarrolladores que buscan almacenar datos de forma segura en varios formatos mientras mantienen flexibilidad y control sobre los parámetros de guardado.

Parameters:

ParámetroTipoDescripción
filePathjava.lang.StringLa ruta del archivo.
optionsImageOptionsBaseLas opciones.

setResolution(double dpiX, double dpiY)

public void setResolution(double dpiX, double dpiY)

Ajuste la resolución de este RasterImage con precisión usando este método sencillo. Ideal para desarrolladores que desean adaptar la resolución de la imagen a requisitos específicos, garantizando una calidad de visualización óptima y una gestión adecuada del tamaño de archivo.

Parameters:

ParámetroTipoDescripción
dpiXdoubleLa resolución horizontal, en puntos por pulgada, del RasterImage.
dpiYdoubleLa resolución vertical, en puntos por pulgada, del RasterImage.

resizeProportional(int newWidth, int newHeight, int resizeType)

public void resizeProportional(int newWidth, int newHeight, int resizeType)

Redimensione la imagen manteniendo su relación de aspecto con este método conveniente. Ideal para desarrolladores que buscan ajustar las dimensiones de la imagen de forma proporcional, asegurando consistencia y preservando las proporciones del contenido original. El redimensionado proporcional cambiará el tamaño de cada fotograma según la relación de newWidth/width y newHeight/height.

Parameters:

ParámetroTipoDescripción
newWidthintEl nuevo ancho.
newHeightintEl nuevo alto.
resizeTypeintEl tipo de redimensionado.

addPage()

public DicomPage addPage()

Agregue una nueva página al final de la lista de páginas de la imagen con este método sencillo. Ideal para desarrolladores que buscan expandir dinámicamente imágenes multipágina, asegurando una integración y organización sin problemas del contenido de la imagen.

Returns: DicomPage - The newly created DicomPage.

insertPage(int pageIndex)

public DicomPage insertPage(int pageIndex)

Inserte una nueva página en la lista de páginas de la imagen en un índice especificado con este método intuitivo. Ideal para desarrolladores que buscan un control preciso sobre la disposición de las páginas en imágenes multipágina, asegurando una organización y personalización sin problemas del contenido de la imagen.

Parameters:

ParámetroTipoDescripción
pageIndexintÍndice de la página.

Returns: DicomPage - The newly created DicomPage.

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))
    {
        // Dibuja algo usando gráficos vectoriales
        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);

        // Guarda los píxeles de la imagen dibujada. Ahora están en la primera página de la imagen Dicom.
        int[] pixels = image.loadArgb32Pixels(image.getBounds());

        // Añade algunas páginas después, oscureciéndolas
        for (int i = 1; i < 5; i++)
        {
            DicomPage page = image.addPage();
            page.saveArgb32Pixels(page.getBounds(), pixels);
            page.adjustBrightness(i * 30);
        }

        // Añade algunas páginas antes de la página principal, iluminándolas
        for (int i = 1; i < 5; i++)
        {
            DicomPage page = image.insertPage(0);
            page.saveArgb32Pixels(page.getBounds(), pixels);
            page.adjustBrightness(-i * 30);
        }

        // Guarda la imagen multipágina creada en el archivo de salida
        image.save("MultiPage.dcm");
    }
}

removePage(int pageIndex)

public void removePage(int pageIndex)

Elimine la página en el índice especificado de la lista de páginas con este método conveniente. Ideal para desarrolladores que buscan un control preciso sobre la gestión de imágenes multipágina, asegurando una organización y personalización sin problemas del contenido de la imagen.

Parameters:

ParámetroTipoDescripción
pageIndexintÍndice de la página.

rotate(float angle, boolean resizeProportionally, Color backgroundColor)

public void rotate(float angle, boolean resizeProportionally, Color backgroundColor)

Gire la imagen alrededor de su centro con este método conveniente. Ideal para desarrolladores que buscan ajustar la orientación de la imagen de forma dinámica, garantizando una presentación y alineación óptimas dentro de sus aplicaciones.

Parameters:

ParámetroTipoDescripción
anglefloatEl ángulo de rotación en grados. Los valores positivos girarán en sentido horario.
resizeProportionallybooleansi se establece en true el tamaño de su imagen cambiará según las proyecciones del rectángulo girado (puntos de esquina); de lo contrario, se dejarán las dimensiones sin cambios y solo `` el contenido de la imagen será rotado.
backgroundColorColorColor del fondo.

Example: This example shows how to rotate all pages of a DICOM image and save them all to a multi-frame TIFF image.

String dir = "c:\\temp\\";

// Cargue una imagen DICOM desde un flujo de archivo.
java.io.FileInputStream stream = new java.io.FileInputStream(dir + "multiframe.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = new com.aspose.imaging.fileformats.dicom.DicomImage(stream);
    try {
        // Gire la imagen alrededor del centro 60 grados en sentido horario.
        // Use gris como color de fondo.
        dicomImage.rotate(60, true, com.aspose.imaging.Color.getGray());

        com.aspose.imaging.imageoptions.TiffOptions createOptions = new com.aspose.imaging.imageoptions.TiffOptions(com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat.Default);
        createOptions.setCompression(com.aspose.imaging.fileformats.tiff.enums.TiffCompressions.Deflate);

        // Tenga en cuenta que si la imagen es colorida, se convertirá automáticamente al formato en escala de grises según las opciones a continuación.
        createOptions.setPhotometric(com.aspose.imaging.fileformats.tiff.enums.TiffPhotometrics.MinIsBlack);
        createOptions.setBitsPerSample(new int[]{8});

        // Cree una matriz de fotogramas TIFF.
        // El número de fotogramas es igual al número de páginas DJVU.
        com.aspose.imaging.fileformats.dicom.DicomPage[] pages = dicomImage.getDicomPages();
        com.aspose.imaging.fileformats.tiff.TiffFrame[] tiffFrames = new com.aspose.imaging.fileformats.tiff.TiffFrame[pages.length];

        // Guarde cada página como un fotograma TIFF individual.
        for (com.aspose.imaging.fileformats.dicom.DicomPage dicomPage : pages) {
            // Cree un fotograma TIFF basado en la página DICOM.
            tiffFrames[dicomPage.getIndex()] = new com.aspose.imaging.fileformats.tiff.TiffFrame(dicomPage, createOptions);
        }

        // Componga una imagen TIFF a partir de los fotogramas.
        com.aspose.imaging.fileformats.tiff.TiffImage tiffImage = new com.aspose.imaging.fileformats.tiff.TiffImage(tiffFrames);
        try {
            // Guardar en un archivo.
            tiffImage.save(dir + "multiframe.tif");
        } finally {
            tiffImage.dispose();
        }
    } finally {
        dicomImage.dispose();
    }
} finally {
    stream.close();
}

resize(int newWidth, int newHeight, int resizeType)

public void resize(int newWidth, int newHeight, int resizeType)

Ajuste el tamaño de la imagen con este método sencillo. Ideal para desarrolladores que buscan redimensionar imágenes de forma dinámica, asegurando que se adapten sin problemas a varios contextos y diseños dentro de sus aplicaciones.

Parameters:

ParámetroTipoDescripción
newWidthintEl nuevo ancho.
newHeightintEl nuevo alto.
resizeTypeintEl tipo de redimensionado.

Example: This example loads a DICOM image and resizes it using various resizing methods.

String dir = "c:\\temp\\";

com.aspose.imaging.fileformats.dicom.DicomImage image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Escalar 2 veces usando remuestreo de vecino más cercano.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Guardar como PNG con opciones predeterminadas.
    image.save(dir + "upsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Reducir 2 veces usando remuestreo de vecino más cercano.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Guardar como PNG con opciones predeterminadas.
    image.save(dir + "downsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Escalar 2 veces usando remuestreo bilineal.
    image.resize(image.getWidth() * 2, image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Guardar como PNG con opciones predeterminadas.
    image.save(dir + "upsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Reducir 2 veces usando remuestreo bilineal.
    image.resize(image.getWidth() / 2, image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Guardar como PNG con opciones predeterminadas.
    image.save(dir + "downsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

resizeWidthProportionally(int newWidth, int resizeType)

public void resizeWidthProportionally(int newWidth, int resizeType)

Ajuste el ancho de la imagen manteniendo su relación de aspecto con este método conveniente. Ideal para desarrolladores que buscan redimensionar imágenes de forma proporcional, garantizando resultados consistentes y visualmente atractivos en diferentes entornos de visualización.

Parameters:

ParámetroTipoDescripción
newWidthintEl nuevo ancho.
resizeTypeintTipo de redimensionado.

Example: This example loads a DICOM image and resizes it proportionally using various resizing methods. Este ejemplo carga una imagen DICOM y la redimensiona proporcionalmente usando varios métodos de redimensionado. Solo se especifica el ancho, la altura se calcula automáticamente.

String dir = "c:\\temp\\";

com.aspose.imaging.fileformats.dicom.DicomImage image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Escalar 2 veces usando remuestreo de vecino más cercano.
    image.resizeWidthProportionally(image.getWidth() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "upsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Reducir 2 veces usando remuestreo de vecino más cercano.
    image.resizeWidthProportionally(image.getWidth() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "downsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Escalar 2 veces usando remuestreo bilineal.
    image.resizeWidthProportionally(image.getWidth() * 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "upsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Reducir 2 veces usando remuestreo bilineal.
    image.resizeWidthProportionally(image.getWidth() / 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "downsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

resizeHeightProportionally(int newHeight, int resizeType)

public void resizeHeightProportionally(int newHeight, int resizeType)

Ajuste la altura de la imagen manteniendo su relación de aspecto con este método fácil de usar. Perfecto para desarrolladores que buscan redimensionar imágenes dinámicamente mientras preservan sus proporciones, garantizando una visualización óptima y usabilidad en sus aplicaciones.

Parameters:

ParámetroTipoDescripción
newHeightintEl nuevo alto.
resizeTypeintTipo de redimensionado.

Example: This example loads a DICOM image and resizes it proportionally using various resizing methods. Este ejemplo carga una imagen DICOM y la redimensiona proporcionalmente usando varios métodos de redimensionado. Solo se especifica la altura, el ancho se calcula automáticamente.

String dir = "c:\\temp\\";

com.aspose.imaging.fileformats.dicom.DicomImage image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Escalar 2 veces usando remuestreo de vecino más cercano.
    image.resizeHeightProportionally(image.getHeight() * 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "upsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Reducir 2 veces usando remuestreo de vecino más cercano.
    image.resizeHeightProportionally(image.getHeight() / 2, com.aspose.imaging.ResizeType.NearestNeighbourResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "downsample.nearestneighbour.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Escalar 2 veces usando remuestreo bilineal.
    image.resizeHeightProportionally(image.getHeight() * 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "upsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Reducir 2 veces usando remuestreo bilineal.
    image.resizeHeightProportionally(image.getHeight() / 2, com.aspose.imaging.ResizeType.BilinearResample);

    // Guardar como PNG con las opciones predeterminadas.
    image.save(dir + "downsample.bilinear.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

rotateFlip(int rotateFlipType)

public void rotateFlip(int rotateFlipType)

Manipule fácilmente el fotograma activo rotándolo, volteándolo o realizando ambas acciones simultáneamente con este método sencillo. Ideal para desarrolladores que necesitan ajustar dinámicamente la orientación de fotogramas específicos dentro de sus secuencias de imágenes, garantizando una presentación y alineación óptimas.

Parameters:

ParámetroTipoDescripción
rotateFlipTypeintEl tipo de volteo rotativo.

Example: This example loads a DICOM image, rotates it by 90 degrees clockwise and optionally flips the image horizontally and(or) vertically.

String dir = "c:\\temp\\";

int[] rotateFlipTypes = new int[]
        {
                com.aspose.imaging.RotateFlipType.Rotate90FlipNone,
                com.aspose.imaging.RotateFlipType.Rotate90FlipX,
                com.aspose.imaging.RotateFlipType.Rotate90FlipXY,
                com.aspose.imaging.RotateFlipType.Rotate90FlipY,
        };

for (int rotateFlipType : rotateFlipTypes) {
    // Rotar, voltear y guardar en el archivo de salida.
    com.aspose.imaging.fileformats.dicom.DicomImage image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
    try {
        image.rotateFlip(rotateFlipType);
        image.save(dir + "sample." + rotateFlipType + ".png", new com.aspose.imaging.imageoptions.PngOptions());
    } finally {
        image.dispose();
    }
}

dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)

public void dither(int ditheringMethod, int bitsCount, IColorPalette customPalette)

Mejore la imagen actual aplicando efectos de dithering con este método sencillo. Perfecto para desarrolladores que buscan añadir textura y profundidad a las imágenes, mejorando su calidad visual y atractivo general.

Parameters:

ParámetroTipoDescripción
ditheringMethodintEl método de tramado.
bitsCountintEl recuento final de bits para el tramado.
customPaletteIColorPaletteLa paleta personalizada para el tramado.

Example: The following example loads a DICOM image and performs threshold and floyd dithering using different palette depth.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Realizar dithering por umbral usando una paleta de colores de 4 bits que contiene 16 colores.
    // Cuantos más bits se especifiquen, mayor será la calidad y mayor el tamaño de la imagen de salida.
    // Tenga en cuenta que solo se admiten paletas de 1 bit, 4 bits y 8 bits en este momento.
    dicomImage.dither(com.aspose.imaging.DitheringMethod.ThresholdDithering, 4, null);

    dicomImage.save(dir + "sample.ThresholdDithering4.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.dicom");
{
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Realizar dithering Floyd usando una paleta de colores de 1 bit que contiene solo 2 colores: negro y blanco.
    // Cuantos más bits se especifiquen, mayor será la calidad y mayor el tamaño de la imagen de salida.
    // Tenga en cuenta que solo se admiten paletas de 1 bit, 4 bits y 8 bits en este momento.
    dicomImage.dither(com.aspose.imaging.DitheringMethod.FloydSteinbergDithering, 1, null);

    dicomImage.save(dir + "sample.FloydSteinbergDithering1.png", new com.aspose.imaging.imageoptions.PngOptions());
}

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

Recorte la imagen para eliminar áreas no deseadas y centrarse en el contenido esencial con este método simple. Ideal para desarrolladores que desean personalizar la composición visual de las imágenes, asegurando que transmitan el mensaje deseado de manera eficaz.

Parameters:

ParámetroTipoDescripción
rectangleRectangleEl rectángulo.

Example: The following example crops a DICOM image. El siguiente ejemplo recorta una imagen DICOM. El área de recorte se especifica mediante Aspose.Imaging.Rectangle.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Recorte la imagen. El área de recorte es la zona rectangular central de la imagen.
    com.aspose.imaging.Rectangle area =
            new com.aspose.imaging.Rectangle(
                    dicomImage.getWidth() / 4, dicomImage.getHeight() / 4, dicomImage.getWidth() / 2, dicomImage.getHeight() / 2);
    dicomImage.crop(area);

    // Guarde la imagen recortada en PNG
    dicomImage.save(dir + "sample.Crop.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

crop(int leftShift, int rightShift, int topShift, int bottomShift)

public void crop(int leftShift, int rightShift, int topShift, int bottomShift)

Ajuste el área de recorte de la imagen aplicando desplazamientos con este método versátil. Perfecto para desarrolladores que necesitan un control preciso sobre el proceso de recorte, garantizando que se conserven los detalles importantes mientras se eliminan los elementos innecesarios.

Parameters:

ParámetroTipoDescripción
leftShiftintEl desplazamiento izquierdo.
rightShiftintEl desplazamiento derecho.
topShiftintEl desplazamiento superior.
bottomShiftintEl desplazamiento inferior.

Example: The following example crops a DICOM image. El siguiente ejemplo recorta una imagen DICOM. El área de recorte se especifica mediante los márgenes Izquierda, Superior, Derecha, Inferior.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Recorte nuevamente. Establezca un margen del 10 % del tamaño de la imagen.
    int horizontalMargin = dicomImage.getWidth() / 10;
    int verticalMargin = dicomImage.getHeight() / 10;
    dicomImage.crop(horizontalMargin, horizontalMargin, verticalMargin, verticalMargin);

    // Guarde la imagen recortada en PNG.
    dicomImage.save(dir + "sample.Crop.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

binarizeFixed(byte threshold)

public void binarizeFixed(byte threshold)

Convierta fácilmente la imagen a un formato binario usando un umbral predefinido con este método sencillo. Ideal para desarrolladores que buscan simplificar tareas de procesamiento de imágenes segmentando la imagen en componentes de primer plano y fondo basados en niveles de intensidad especificados.

Parameters:

ParámetroTipoDescripción
thresholdbyteValor del umbral. Si el valor gris correspondiente de un píxel es mayor que el umbral, se le asignará un valor de 255; de lo contrario, 0.

Example: The following example binarizes a DICOM image with the predefined threshold. El siguiente ejemplo binariza una imagen DICOM con el umbral predefinido. Las imágenes binarizadas contienen solo 2 colores: negro y blanco.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Binariza la imagen con un valor de umbral de 127.
    // Si el valor gris correspondiente de un píxel es mayor que 127, se le asignará un valor de 255, 0 en caso contrario.
    dicomImage.binarizeFixed((byte) 127);
    dicomImage.save(dir + "sample.BinarizeFixed.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

binarizeOtsu()

public void binarizeOtsu()

Aplique el umbral de Otsu para binarizar la imagen, determinando automáticamente el valor óptimo del umbral basado en el histograma de la imagen. Perfecto para desarrolladores que buscan un método fiable para segmentar imágenes en regiones de primer plano y fondo con mínima intervención manual.

Example: The following example binarizes a DICOM image with Otsu thresholding. El siguiente ejemplo binariza una imagen DICOM con umbral de Otsu. Las imágenes binarizadas contienen solo 2 colores: negro y blanco.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Binariza la imagen con umbralización de Otsu.
    dicomImage.binarizeOtsu();
    dicomImage.save(dir + "sample.BinarizeOtsu.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

binarizeBradley(double brightnessDifference, int windowSize)

public void binarizeBradley(double brightnessDifference, int windowSize)

Binarice imágenes con el algoritmo de umbral adaptativo de Bradley, aprovechando el umbral de imagen integral para mejorar el rendimiento. Ideal para desarrolladores que buscan segmentar automáticamente imágenes basándose en variaciones locales de brillo, garantizando una detección y extracción precisas de objetos en condiciones de iluminación variables.

Parameters:

ParámetroTipoDescripción
brightnessDifferencedoubleLa diferencia de brillo entre el píxel y el promedio de una ventana de s x s píxeles centrada en este píxel.
windowSizeintEl tamaño de la ventana de s x s píxeles centrada en este píxel

Example: The following example binarizes a DICOM image with Bradley’s adaptive thresholding algorithm with the specified window size. El siguiente ejemplo binariza una imagen DICOM con el algoritmo de umbral adaptativo de Bradley con el tamaño de ventana especificado. Las imágenes binarizadas contienen solo 2 colores: negro y blanco.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Binariza la imagen con una diferencia de brillo de 5. El brillo es la diferencia entre un píxel y el promedio de una ventana de 10 x 10 píxeles centrada en ese píxel.
    dicomImage.binarizeBradley(5, 10);
    dicomImage.save(dir + "sample.BinarizeBradley5_10x10.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

grayscale()

public void grayscale()

Transforme fácilmente las imágenes a su representación en escala de grises, simplificando el análisis visual y las tareas de procesamiento. Perfecto para desarrolladores que buscan mejorar la claridad de la imagen, reducir la complejidad y facilitar algoritmos eficientes basados en escala de grises para diversas aplicaciones.

Example: The following example transforms a colored DICOM image to its grayscale representation. El siguiente ejemplo transforma una imagen DICOM a color a su representación en escala de grises. Las imágenes en escala de grises están compuestas exclusivamente por tonos de gris y solo contienen información de intensidad.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    dicomImage.grayscale();
    dicomImage.save(dir + "sample.Grayscale.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

adjustGamma(float gamma)

public void adjustGamma(float gamma)

Mejore la calidad de la imagen y ajústela con corrección gamma, una técnica poderosa para afinar la apariencia visual. Perfecto para desarrolladores que buscan optimizar la presentación de la imagen, ajustar el balance de color y garantizar una renderización consistente en diferentes dispositivos y entornos.

Parameters:

ParámetroTipoDescripción
gammafloatCoeficiente gamma para los canales rojo, verde y azul

Example: The following example performs gamma-correction of a DICOM image.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Establecer el coeficiente gamma para los canales rojo, verde y azul.
    dicomImage.adjustGamma(2.5f);
    dicomImage.save(dir + "sample.AdjustGamma.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

public void adjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Logre ajustes de color precisos aplicando corrección gamma de forma independiente a los componentes rojo, verde y azul de una imagen. Este método garantiza un balance de color exacto y una salida visual óptima, atendiendo a desarrolladores que buscan un control granular sobre la renderización de la imagen y la precisión del color.

Parameters:

ParámetroTipoDescripción
gammaRedfloatGamma para el coeficiente del canal rojo
gammaGreenfloatGamma para el coeficiente del canal verde
gammaBluefloatCoeficiente gamma para el canal azul

Example: The following example performs gamma-correction of a DICOM image applying different coefficients for color components.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Establecer coeficientes gamma individuales para los canales rojo, verde y azul.
    dicomImage.adjustGamma(1.5f, 2.5f, 3.5f);
    dicomImage.save(dir + "sample.AdjustGamma.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

adjustBrightness(int brightness)

public void adjustBrightness(int brightness)

Mejore la luminancia de la imagen con el ajuste de brightness, un método parametrizado que permite a los desarrolladores afinar la luminosidad de las imágenes. Esta función fácil de usar permite a los desarrolladores manipular sin problemas el brillo de la imagen, ofreciendo flexibilidad y control sobre la estética visual.

Parameters:

ParámetroTipoDescripción
brightnessintValor de brillo.

Example: The following example performs brightness correction of a DICOM image.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Establece el valor de brillo. Los valores aceptados de brillo están en el rango [-255, 255].
    dicomImage.adjustBrightness(50);
    dicomImage.save(dir + "sample.AdjustBrightness.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

adjustContrast(float contrast)

public void adjustContrast(float contrast)

Mejore el contraste de Image con este método fácil de usar, que ajusta la disparidad entre áreas claras y oscuras. Mejore la claridad y definición visual sin esfuerzo, proporcionando a los desarrolladores un control intuitivo sobre el contraste de la imagen para una renderización óptima.

Parameters:

ParámetroTipoDescripción
contrastfloatValor de contraste (en el rango [-100; 100])

Example: The following example performs contrast correction of a DICOM image.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Establece el valor de contraste. Los valores aceptados de contraste están en el rango [-100f, 100f].
    dicomImage.adjustContrast(50f);
    dicomImage.save(dir + "sample.AdjustContrast.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

filter(Rectangle rectangle, FilterOptionsBase options)

public void filter(Rectangle rectangle, FilterOptionsBase options)

Mejore sin esfuerzo áreas específicas de su imagen aplicando filtros a rectángulos designados. Este método brinda a los desarrolladores un control preciso sobre la manipulación de la imagen, permitiendo ajustes dirigidos para lograr los efectos visuales deseados con facilidad.

Parameters:

ParámetroTipoDescripción
rectangleRectangleEl rectángulo.
optionsFilterOptionsBaseLas opciones.

Example: The following example applies various types of filters to a DICOM image.

String dir = "c:\\temp\\";

com.aspose.imaging.Image image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Aplica un filtro mediano con un tamaño de rectángulo de 5 a toda la imagen.
    dicomImage.filter(dicomImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.MedianFilterOptions(5));
    dicomImage.save(dir + "sample.MedianFilter.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Aplica un filtro de suavizado bilateral con un tamaño de kernel de 5 a toda la imagen.
    dicomImage.filter(dicomImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.BilateralSmoothingFilterOptions(5));
    dicomImage.save(dir + "sample.BilateralSmoothingFilter.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Aplica un filtro de desenfoque gaussiano con un radio de 5 y un valor sigma de 4.0 a toda la imagen.
    dicomImage.filter(dicomImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.GaussianBlurFilterOptions(5, 4.0));
    dicomImage.save(dir + "sample.GaussianBlurFilter.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Aplica un filtro Gauss-Wiener con un radio de 5 y un valor de suavizado de 4.0 a toda la imagen.
    dicomImage.filter(dicomImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.GaussWienerFilterOptions(5, 4.0));
    dicomImage.save(dir + "sample.GaussWienerFilter.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Aplica un filtro wiener de movimiento con una longitud de 5, un valor de suavizado de 4.0 y un ángulo de 90.0 grados a toda la imagen.
    dicomImage.filter(dicomImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.MotionWienerFilterOptions(10, 1.0, 90.0));
    dicomImage.save(dir + "sample.MotionWienerFilter.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

image = com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Aplica un filtro de nitidez con un tamaño de kernel de 5 y un valor sigma de 4.0 a toda la imagen.
    dicomImage.filter(dicomImage.getBounds(), new com.aspose.imaging.imagefilters.filteroptions.SharpenFilterOptions(5, 4.0));
    dicomImage.save(dir + "sample.SharpenFilter.png", new com.aspose.imaging.imageoptions.PngOptions());
} finally {
    image.dispose();
}

resize(int newWidth, int newHeight, ImageResizeSettings settings)

public void resize(int newWidth, int newHeight, ImageResizeSettings settings)

Ajuste el tamaño de su imagen con este método simple de redimensionado. Ya sea que necesite reducir o ampliar su imagen, esta función garantiza que sus necesidades de redimensionado se cumplan de manera eficiente y precisa, lo que la hace perfecta para desarrolladores que buscan ajustes de tamaño de imagen rápidos y fáciles.

Parameters:

ParámetroTipoDescripción
newWidthintEl nuevo ancho.
newHeightintEl nuevo alto.
settingsImageResizeSettingsLa configuración de redimensionado.

Example: This example loads a DICOM image and resizes it using various resizing settings.

String dir = "c:\\temp\\";

com.aspose.imaging.ImageResizeSettings resizeSettings = new com.aspose.imaging.ImageResizeSettings();

// El algoritmo adaptativo basado en una función racional ponderada y combinada y en la interpolación lanczos3.
resizeSettings.setMode(com.aspose.imaging.ResizeType.AdaptiveResample);

// El pequeño filtro rectangular
resizeSettings.setFilterType(com.aspose.imaging.ImageFilterType.SmallRectangular);

// El número de colores en la paleta.
resizeSettings.setEntriesCount(256);

// La cuantización de color no se usa
resizeSettings.setColorQuantizationMethod(com.aspose.imaging.ColorQuantizationMethod.None);

// El método euclidiano
resizeSettings.setColorCompareMethod(com.aspose.imaging.ColorCompareMethod.Euclidian);

com.aspose.imaging.Image image = (com.aspose.imaging.Image) com.aspose.imaging.Image.load(dir + "sample.dicom");
{
    com.aspose.imaging.fileformats.dicom.DicomImage dicomImage = (com.aspose.imaging.fileformats.dicom.DicomImage) image;

    // Reducir a la mitad usando remuestreo adaptativo.
    dicomImage.resize(image.getWidth() / 2, image.getHeight() / 2, resizeSettings);

    // Guardar como PNG
    dicomImage.save(dir + "downsample.adaptive.png", new com.aspose.imaging.imageoptions.PngOptions());
}

cacheData()

public void cacheData()

Este método almacena en caché datos de manera eficiente, optimizando el rendimiento y garantizando un acceso rápido cuando sea necesario. Ideal para desarrolladores que buscan mejorar la velocidad y eficiencia de sus aplicaciones gestionando inteligentemente los recursos de datos.

Example: The following example shows how to cache all pages of a DICOM image.

String dir = "c:\\temp\\";

// Cargue una imagen desde un archivo DICOM.
com.aspose.imaging.fileformats.dicom.DicomImage image = (com.aspose.imaging.fileformats.dicom.DicomImage) com.aspose.imaging.Image.load(dir + "sample.dicom");
try {
    // Esta llamada almacena en caché todas las páginas para que no se realice una carga adicional de datos desde el flujo de datos subyacente.
    image.cacheData();

    // O puedes almacenar en caché las páginas individualmente.
    for (com.aspose.imaging.fileformats.dicom.DicomPage page : image.getDicomPages()) {
        page.cacheData();
    }
} finally {
    image.dispose();
}