DicomImage

DicomImage class

Det är en klass av implementeringen som arbetar med bild från DICOM file

public sealed class DicomImage : RasterCachedMultipageImage, IMultipageImageExt

Konstruktörer

namnBeskrivning
DicomImage(Stream)Initierar en ny instans avDicomImage class.
DicomImage(Stream, LoadOptions)Initierar en ny instans avDicomImage class.
DicomImage(DicomOptions, int, int)Initierar en ny instans avDicomImage class.

Egenskaper

namnBeskrivning
ActivePage { get; set; }Hämtar eller ställer in den aktiva sidan.
ActivePageIndex { get; }Hämtar indexets aktiva sida.
AutoAdjustPalette { get; set; }Hämtar eller ställer in ett värde som anger om paletten för automatisk justering.
override BackgroundColor { get; set; }Hämtar eller ställer in ett värde för bakgrundsfärgen.
override BitsPerPixel { get; }Hämtar bildbitar per pixelantal.
Bounds { get; }Får bildens gränser.
BufferSizeHint { get; set; }Hämtar eller ställer in buffertstorlekstipset som är definierat som högsta tillåtna storlek för alla interna buffertar.
Container { get; }FårImage container.
DataStreamContainer { get; }Hämtar objektets dataström.
DicomPages { get; }Hämtar sidorna.
Disposed { get; }Får ett värde som indikerar om denna instans är bortskaffad.
override FileFormat { get; }Får värdet filformat
FileInfo { get; }Får ett värde som innehåller informationshuvudet DICOM-filen
override HasAlpha { get; }Får alfakanalen Has.
virtual HasBackgroundColor { get; set; }Hämtar eller ställer in ett värde som anger om bilden har bakgrundsfärg.
override HasTransparentColor { get; }Får ett värde som indikerar om bilden har transparent färg.
override Height { get; }Hämtar bildhöjden.
virtual HorizontalResolution { get; set; }Hämtar eller ställer in den horisontella upplösningen, i pixlar per tum, för dettaRasterImage .
override ImageOpacity { get; }Får opacitet för denna bild.
InterruptMonitor { get; set; }Hämtar eller ställer in avbrottsmonitorn.
IsCached { get; }Får ett värde som indikerar om bilddata är cachad för närvarande.
IsRawDataAvailable { get; }Får ett värde som anger om rådataladdning är tillgänglig.
override PageCount { get; }Hämtar sidantal.
override PageExportingAction { get; set; }Hämtar eller ställer in sidexporteringsåtgärden. Observera att inställning av den här metoden automatiskt frigör sidresurser efter att den har körts. Den kommer att köras precis innan varje sida sparas.
override Pages { get; }Hämtar sidorna.
Palette { get; set; }Hämtar eller ställer in färgpaletten. Färgpaletten används inte när pixlar representeras direkt.
virtual PremultiplyComponents { get; set; }Hämtar eller ställer in ett värde som anger om bildkomponenterna måste förmultipliceras.
RawCustomColorConverter { get; set; }Hämtar eller ställer in den anpassade färgomvandlaren
virtual RawDataFormat { get; }Hämtar rådataformatet.
RawDataSettings { get; }Hämtar aktuella rådatainställningar. Observera att när du använder dessa inställningar laddas data utan konvertering.
RawFallbackIndex { get; set; }Hämtar eller ställer in reservindex som ska användas när palettindex är utanför gränserna
RawIndexedColorConverter { get; set; }Hämtar eller ställer in den indexerade färgomvandlaren
virtual RawLineSize { get; }Hämtar den rå radstorleken i byte.
Size { get; }Hämtar bildstorleken.
virtual TransparentColor { get; set; }Får bilden genomskinlig färg.
virtual UpdateXmpData { get; set; }Hämtar eller ställer in ett värde som anger om XMP-metadata ska uppdateras.
override UsePalette { get; }Får ett värde som indikerar om bildpaletten används.
virtual UseRawData { get; set; }Hämtar eller ställer in ett värde som anger om rådataladdning ska användas när rådataladdningen är tillgänglig.
virtual VerticalResolution { get; set; }Hämtar eller ställer in den vertikala upplösningen, i pixlar per tum, för dettaRasterImage .
override Width { get; }Hämtar bildens bredd.
override XmpData { get; set; }Hämtar eller ställer in Xmp-data.

Metoder

namnBeskrivning
AddPage()Lägger till en ny sida i slutet av sidlistan.
AddPage(RasterImage)Lägger till sida i bilden.
override AdjustBrightness(int)Justering av enbrightness för bild.
override AdjustContrast(float)Image kontrasterande
override AdjustGamma(float)Gamma-korrigering av en bild.
override AdjustGamma(float, float, float)Gamma-korrigering av en bild.
override BinarizeBradley(double)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med integralbildströskelvärde
override BinarizeBradley(double, int)Binarisering av en bild med Bradleys adaptiva tröskelalgoritm med hjälp av integralbildströskelvärdet
override BinarizeFixed(byte)Binarisering av en bild med fördefinierad tröskel
override BinarizeOtsu()Binarisering av en bild med Otsu thresholding
override CacheData()Cachelagrar data privat.
CanSave(ImageOptionsBase)Bestämmer om bilden kan sparas i det angivna filformatet som representeras av de godkända sparalternativen.
override Crop(Rectangle)Beskär bilden.
override Crop(int, int, int, int)Beskär bilden med skiftningar.
Dispose()Tar bort den aktuella instansen.
Dither(DitheringMethod, int)Utför dithering på den aktuella bilden.
override Dither(DitheringMethod, int, IColorPalette)Utför dithering på den aktuella bilden.
override Filter(Rectangle, FilterOptionsBase)Filtrerar den angivna rektangeln.
GetArgb32Pixel(int, int)Får en bild 32-bitars ARGB-pixel.
GetDefaultArgb32Pixels(Rectangle)Hämtar standard 32-bitars ARGB-pixelmatrisen.
virtual GetDefaultOptions(object[])Hämtar standardalternativen.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Hämtar standardpixelmatrisen med partial pixel loader.
GetDefaultRawData(Rectangle, RawDataSettings)Hämtar standardinställningen för rådata.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Hämtar den förinställda rådatamatrisen med hjälp av partial pixel loader.
virtual GetModifyDate(bool)Hämtar datum och tid då resursbilden senast ändrades.
virtual GetOriginalOptions()Hämtar alternativen baserat på de ursprungliga filinställningarna. Detta kan vara till hjälp för att behålla bitdjupet och andra parametrar i originalbilden oförändrade. Om vi till exempel laddar en svartvit PNG-bild med 1 bit per pixel och sedan spara den med hjälp av Save metod, kommer den utgående PNG-bilden med 8-bitar per pixel att produceras. För att undvika det och spara PNG-bild med 1-bit per pixel, använd den här metoden för att få motsvarande sparalternativ och skicka dem tillSave metod som den andra parametern.
GetPixel(int, int)Får en bildpixel.
GetSkewAngle()Hämtar skevningsvinkeln. Denna metod är tillämplig på skannade textdokument, för att bestämma snedställningsvinkeln vid skanning.
override Grayscale()Transformation av en bild till dess gråskalerepresentation
InsertPage(int)Infogar en ny sida i sidlistan vid det angivna indexet.
LoadArgb32Pixels(Rectangle)Laddar 32-bitars ARGB-pixlar.
LoadArgb64Pixels(Rectangle)Laddar 64-bitars ARGB-pixlar.
LoadCmyk32Pixels(Rectangle)Laddar pixlar i CMYK-format.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Laddar 32-bitars ARGB-pixlar delvis i paket.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Laddar pixlar delvis i paket.
LoadPixels(Rectangle)Laddar pixlar.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Laddar rådata.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Laddar rådata.
NormalizeAngle()Normaliserar vinkeln. Denna metod är tillämplig på skannade textdokument för att bli av med den skeva skanningen. Denna metod använderGetSkewAngle ochRotate metoder.
override NormalizeAngle(bool, Color)Normaliserar vinkeln. Denna metod är tillämplig på skannade textdokument för att bli av med den skeva skanningen. Denna metod använder!:GetSkewAngle ochRotate metoder.
ReadArgb32ScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
ReadScanLine(int)Läser hela skanningslinjen med det angivna skanningslinjeindexet.
RemovePage(int)Tar bort sidan vid det angivna indexet på sidlistan.
ReplaceColor(Color, byte, Color)Ersätter en färg mot en annan med tillåten skillnad och bevarar det ursprungliga alfavärdet för att spara jämna kanter.
override ReplaceColor(int, byte, int)Ersätter en färg mot en annan med tillåten skillnad och bevarar det ursprungliga alfavärdet för att spara jämna kanter.
ReplaceNonTransparentColors(Color)Ersätter alla icke-transparenta färger med ny färg och bevarar det ursprungliga alfavärdet för att spara jämna kanter. Obs: om du använder det på bilder utan genomskinlighet kommer alla färger att ersättas med en enda.
override ReplaceNonTransparentColors(int)Ersätter alla icke-transparenta färger med ny färg och bevarar det ursprungliga alfavärdet för att spara jämna kanter. Obs: om du använder det på bilder utan genomskinlighet kommer alla färger att ersättas med en enda.
Resize(int, int)Ändrar storleken på bilden. StandardenNearestNeighbourResample används.
override Resize(int, int, ImageResizeSettings)Ändrar storlek på bilden.
override Resize(int, int, ResizeType)Ändrar storlek på bilden.
ResizeHeightProportionally(int)Ändrar storleken på höjden proportionellt. StandardenNearestNeighbourResample används.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Ändrar storleken på höjden proportionellt.
override ResizeHeightProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
ResizeProportional(int, int, ResizeType)Utför proportionell storleksändring på bilden. Den proportionella storleksändringen kommer att ändra storlek på varje bildruta enligt förhållandet mellannewWidth/bredd ochnewHeight /höjd.
ResizeWidthProportionally(int)Ändrar storleken på bredden proportionellt. StandardenNearestNeighbourResample används.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Ändrar storleken på bredden proportionellt.
override ResizeWidthProportionally(int, ResizeType)Ändrar storleken på bredden proportionellt.
virtual Rotate(float)Rotera bilden runt mitten.
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate bild runt mitten.
override RotateFlip(RotateFlipType)Roterar, vänder eller roterar och vänder endast den aktiva ramen.
Save()Sparar bilddata till den underliggande strömmen.
Save(Stream)Sparar objektets data till den angivna strömmen.
override Save(string)Sparar bilden till den angivna filplatsen.
Save(Stream, ImageOptionsBase)Sparar bildens data till den angivna strömmen i det angivna filformatet enligt sparalternativ.
virtual Save(string, bool)Sparar objektets data till den angivna filplatsen.
virtual Save(string, ImageOptionsBase)Sparar objektets data till den angivna filplatsen i det angivna filformatet enligt sparalternativ.
override Save(Stream, ImageOptionsBase, Rectangle)Sparar bildens data till den angivna strömmen i det angivna filformatet enligt sparalternativ.
virtual Save(string, ImageOptionsBase, Rectangle)Sparar objektets data till den angivna filplatsen i det angivna filformatet enligt sparalternativ.
SaveAll(string, ImageOptionsBase)Sparar objektets data till den angivna filplatsen (indexerare + filnamn) i det angivna filformatet enligt sparaalternativ..
SaveArgb32Pixels(Rectangle, int[])Sparar 32-bitars ARGB-pixlar.
SaveCmyk32Pixels(Rectangle, int[])Sparar pixlarna.
SavePixels(Rectangle, Color[])Sparar pixlarna.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Sparar rådata.
SetArgb32Pixel(int, int, int)Ställer in en 32-bitars ARGB-pixel för den angivna positionen.
override SetPalette(IColorPalette, bool)Ställer in bildpaletten.
SetPixel(int, int, Color)Ställer in en bildpixel för den angivna positionen.
override SetResolution(double, double)Ställer in upplösningen för dettaRasterImage .
virtual ToBitmap()Konverterar rasterbilden till bitmappen.
WriteArgb32ScanLine(int, int[])Skriver hela skanningslinjen till det angivna skanningslinjeindexet.
WriteScanLine(int, Color[])Skriver hela skanningslinjen till det angivna skanningslinjeindexet.

Exempel

Ändra färgtyp i DICOM-komprimering.

[C#]

using (var inputImage = Image.Load("original.jpg"))
{
    var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };

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

Använd RLE-komprimering i DICOM-bild.

[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);
}

Använd JPEG 2000-komprimering i DICOM-bild.

[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);
}

Använd JPEG-komprimering i DICOM-bild.

[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);
}

Det här exemplet visar hur man laddar en DICOM-bild från en filström.

[C#]

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

// Ladda en DICOM-bild från en filström.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.dicom"))
{
    using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream))
    {
        // Spara varje sida som en individuell PNG-bild.                    
        foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
        {
            // Skapa ett filnamn baserat på sidindexet.
            string fileName = string.Format("sample.{0}.png", dicomPage.Index);

            // En DICOM-sida är en rasterbild, så alla tillåtna operationer med en rasterbild är tillämpliga på en DICOM-sida.
            dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
        }
    }
}

Skapa en flersidig Dicom-bild.

[C#]

using (DicomImage image = (DicomImage)Image.Create(
        new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
        100,
        100))
{
    // Rita något med vektorgrafik
    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);

    // Spara pixlarna i den ritade bilden. De finns nu på första sidan av Dicom-bilden.
    int[] pixels = image.LoadArgb32Pixels(image.Bounds);

    // Lägg till några sidor efter, vilket gör dem mörkare
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.AddPage();
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(i * 30);
    }

    // Lägg till några sidor framför huvudsidan, vilket gör dem ljusare
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.InsertPage(0);
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(-i * 30);
    }

    // Spara den skapade flersidiga bilden till utdatafilen
    image.Save("MultiPage.dcm");
}

Se även