DicomImage

DicomImage class

DICOM file ‘den görüntü ile çalışan uygulamanın sınıfıdır.

public sealed class DicomImage : RasterCachedMultipageImage, IMultipageImageExt

yapıcılar

İsimTanım
DicomImage(Stream)Yeni bir örneğini başlatırDicomImage sınıf.
DicomImage(Stream, LoadOptions)Yeni bir örneğini başlatırDicomImage sınıf.
DicomImage(DicomOptions, int, int)Yeni bir örneğini başlatırDicomImage sınıf.

Özellikleri

İsimTanım
ActivePage { get; set; }Etkin sayfayı alır veya ayarlar.
ActivePageIndex { get; }Dizin etkin sayfasını alır.
AutoAdjustPalette { get; set; }Paletin otomatik ayarlanıp ayarlanmadığını belirten bir değer alır veya ayarlar.
override BackgroundColor { get; set; }Arka plan rengi için bir değer alır veya ayarlar.
override BitsPerPixel { get; }Piksel sayısı başına görüntü bitlerini alır.
Bounds { get; }Görüntü sınırlarını alır.
BufferSizeHint { get; set; }Tüm dahili arabellekler için izin verilen maksimum boyut olarak tanımlanan arabellek boyutu ipucunu alır veya ayarlar.
Container { get; }Image kapsayıcı.
DataStreamContainer { get; }Nesnenin veri akışını alır.
DicomPages { get; }Sayfaları alır.
Disposed { get; }Bu örneğin atılıp atılmadığını gösteren bir değer alır.
override FileFormat { get; }dosya formatının bir değerini alır
FileInfo { get; }DICOM dosyasının bilgi başlığını içeren bir değer alır
override HasAlpha { get; }Has alfa kanalını alır.
virtual HasBackgroundColor { get; set; }Görüntünün arka plan rengine sahip olup olmadığını belirten bir değer alır veya ayarlar.
override HasTransparentColor { get; }Resmin saydam renge sahip olup olmadığını gösteren bir değer alır.
override Height { get; }Görüntü yüksekliğini alır.
virtual HorizontalResolution { get; set; }Bunun yatay çözünürlüğünü inç başına piksel cinsinden alır veya ayarlar.RasterImage .
override ImageOpacity { get; }Bu görüntünün opaklığını alır.
InterruptMonitor { get; set; }Kesinti izleyicisini alır veya ayarlar.
IsCached { get; }Görüntü verilerinin şu anda önbelleğe alınıp alınmadığını gösteren bir değer alır.
IsRawDataAvailable { get; }Ham veri yüklemesinin mevcut olup olmadığını gösteren bir değer alır.
override PageCount { get; }Sayfa sayısını alır.
override PageExportingAction { get; set; }Sayfa dışa aktarma eylemini alır veya ayarlar. Bu yöntemin ayarlanmasının, yürütüldükten sonra sayfa kaynaklarını otomatik olarak serbest bırakacağını lütfen unutmayın. Her sayfa kaydedilmeden hemen önce yürütülür.
override Pages { get; }Sayfaları alır.
Palette { get; set; }Renk paletini alır veya ayarlar. Pikseller doğrudan temsil edildiğinde renk paleti kullanılmaz.
virtual PremultiplyComponents { get; set; }Görüntü bileşenlerinin önceden çoğaltılması gerekip gerekmediğini belirten bir değer alır veya ayarlar.
RawCustomColorConverter { get; set; }Özel renk dönüştürücüyü alır veya ayarlar
virtual RawDataFormat { get; }Ham veri biçimini alır.
RawDataSettings { get; }Geçerli ham veri ayarlarını alır. Bu ayarları kullanırken verilerin dönüşüm olmadan yüklendiğini unutmayın.
RawFallbackIndex { get; set; }Palet dizini sınırların dışında olduğunda kullanılacak yedek dizini alır veya ayarlar
RawIndexedColorConverter { get; set; }Dizine alınmış renk dönüştürücüyü alır veya ayarlar
virtual RawLineSize { get; }Bayt cinsinden ham satır boyutunu alır.
Size { get; }Görüntü boyutunu alır.
virtual TransparentColor { get; set; }Resmin saydam rengini alır.
virtual UpdateXmpData { get; set; }XMP meta verilerinin güncellenip güncellenmeyeceğini belirten bir değer alır veya ayarlar.
override UsePalette { get; }Görüntü paletinin kullanılıp kullanılmadığını gösteren bir değer alır.
virtual UseRawData { get; set; }Ham veri yükleme kullanılabilir olduğunda ham veri yüklemenin kullanılıp kullanılmayacağını belirten bir değer alır veya ayarlar.
virtual VerticalResolution { get; set; }Bunun dikey çözünürlüğünü inç başına piksel cinsinden alır veya ayarlar.RasterImage .
override Width { get; }Görüntü genişliğini alır.
override XmpData { get; set; }Xmp verilerini alır veya ayarlar.

yöntemler

İsimTanım
AddPage()Sayfa listesinin sonuna yeni bir sayfa ekler.
AddPage(RasterImage)Resme sayfa ekler.
override AdjustBrightness(int)Bir ayarıbrightness resim için.
override AdjustContrast(float)Image kontrast
override AdjustGamma(float)Bir görüntünün gama düzeltmesi.
override AdjustGamma(float, float, float)Bir görüntünün gama düzeltmesi.
override BinarizeBradley(double)Entegre görüntü eşikleme kullanılarak Bradley’in uyarlamalı eşikleme algoritması kullanılarak bir görüntünün ikilileştirilmesi
override BinarizeBradley(double, int)Entegre görüntü eşikleme kullanılarak Bradley’in uyarlamalı eşikleme algoritması kullanılarak bir görüntünün ikilileştirilmesi
override BinarizeFixed(byte)Önceden tanımlanmış eşik değeri olan bir görüntünün ikilileştirilmesi
override BinarizeOtsu()Otsu eşik değeri ile bir görüntünün ikilileştirilmesi
override CacheData()Özel verileri önbelleğe alır.
CanSave(ImageOptionsBase)Görüntünün, geçirilen kaydetme seçenekleriyle temsil edilen belirtilen dosya biçimine kaydedilip kaydedilemeyeceğini belirler.
override Crop(Rectangle)Görüntü kırpılıyor.
override Crop(int, int, int, int)Görüntüyü kaydırmalarla kırpın.
Dispose()Geçerli örneği atar.
Dither(DitheringMethod, int)Geçerli görüntüde renk taklidi gerçekleştirir.
override Dither(DitheringMethod, int, IColorPalette)Geçerli görüntüde renk taklidi gerçekleştirir.
override Filter(Rectangle, FilterOptionsBase)Belirtilen dikdörtgeni filtreler.
GetArgb32Pixel(int, int)32-bit ARGB piksel görüntüsü alır.
GetDefaultArgb32Pixels(Rectangle)Varsayılan 32 bit ARGB piksel dizisini alır.
virtual GetDefaultOptions(object[])Varsayılan seçenekleri alır.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Kısmi piksel yükleyiciyi kullanarak varsayılan piksel dizisini alır.
GetDefaultRawData(Rectangle, RawDataSettings)Varsayılan ham veri dizisini alır.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Kısmi piksel yükleyici kullanarak varsayılan ham veri dizisini alır.
virtual GetModifyDate(bool)Kaynak görüntüsünün en son değiştirildiği tarih ve saati alır.
virtual GetOriginalOptions()Orijinal dosya ayarlarına dayalı seçenekleri alır. Bu, orijinal görüntünün bit derinliğini ve diğer parametrelerini değiştirmemeye yardımcı olabilir. Örneğin, piksel başına 1 bitlik siyah beyaz bir PNG görüntüsü yükler ve ardından the kullanarak kaydedinSave yöntemi, piksel başına 8 bitlik çıktı PNG görüntüsü üretilecektir. Bundan kaçınmak ve PNG görüntüsünü piksel başına 1 bit ile kaydetmek için, ilgili kaydetme seçeneklerini almak için bu yöntemi kullanın ve bunları Save ikinci parametre olarak yöntem.
GetPixel(int, int)Bir görüntü pikseli alır.
GetSkewAngle()Eğim açısını alır. Bu yöntem, tarama sırasında eğrilik açısını belirlemek için taranan metin belgelerine uygulanabilir.
override Grayscale()Bir görüntünün gri tonlamalı temsiline dönüştürülmesi
InsertPage(int)Belirtilen dizindeki sayfa listesine yeni bir sayfa ekler.
LoadArgb32Pixels(Rectangle)32 bit ARGB pikselleri yükler.
LoadArgb64Pixels(Rectangle)64 bit ARGB pikselleri yükler.
LoadCmyk32Pixels(Rectangle)Pikselleri CMYK biçiminde yükler.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)32 bit ARGB piksellerini kısmen paketler halinde yükler.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Pikselleri paketlere göre kısmen yükler.
LoadPixels(Rectangle)Piksel yükler.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Ham verileri yükler.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Ham verileri yükler.
NormalizeAngle()Açıyı normalleştirir. Bu yöntem, eğri taramadan kurtulmak için taranan metin belgelerine uygulanabilir. Bu yöntem şunları kullanır:GetSkewAngle veRotate yöntemler.
override NormalizeAngle(bool, Color)Açıyı normalleştirir. Bu yöntem, eğri taramadan kurtulmak için taranan metin belgelerine uygulanabilir. Bu yöntem şunları kullanır:!:GetSkewAngle veRotate yöntemler.
ReadArgb32ScanLine(int)Belirtilen tarama satırı dizinine göre tüm tarama satırını okur.
ReadScanLine(int)Belirtilen tarama satırı dizinine göre tüm tarama satırını okur.
RemovePage(int)Sayfa listesinin belirtilen dizinindeki sayfayı kaldırır.
ReplaceColor(Color, byte, Color)İzin verilen farkla bir rengi başka bir renkle değiştirir ve düzgün kenarları kaydetmek için orijinal alfa değerini korur.
override ReplaceColor(int, byte, int)İzin verilen farkla bir rengi başka bir renkle değiştirir ve düzgün kenarları kaydetmek için orijinal alfa değerini korur.
ReplaceNonTransparentColors(Color)Tüm saydam olmayan renkleri yeni renklerle değiştirir ve düzgün kenarları korumak için orijinal alfa değerini korur. Not: Bunu saydam olmayan görüntülerde kullanırsanız, tüm renkler tek bir renkle değiştirilir.
override ReplaceNonTransparentColors(int)Tüm saydam olmayan renkleri yeni renkle değiştirir ve düzgün kenarları korumak için orijinal alfa değerini korur. Not: Bunu saydam olmayan görüntülerde kullanırsanız, tüm renkler tek bir renkle değiştirilir.
Resize(int, int)Resmi yeniden boyutlandırır. VarsayılanNearestNeighbourResample kullanılır.
override Resize(int, int, ImageResizeSettings)Resmi yeniden boyutlandırır.
override Resize(int, int, ResizeType)Resmi yeniden boyutlandırır.
ResizeHeightProportionally(int)Yüksekliği orantılı olarak yeniden boyutlandırır. VarsayılanNearestNeighbourResample kullanılır.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Yüksekliği orantılı olarak yeniden boyutlandırır.
override ResizeHeightProportionally(int, ResizeType)Genişliği orantılı olarak yeniden boyutlandırır.
ResizeProportional(int, int, ResizeType)Görüntü üzerinde orantılı yeniden boyutlandırma gerçekleştirir. Orantılı yeniden boyutlandırma, her kareyinewWidth/genişlik venewHeight /yükseklik.
ResizeWidthProportionally(int)Genişliği orantılı olarak yeniden boyutlandırır. VarsayılanNearestNeighbourResample kullanılır.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Genişliği orantılı olarak yeniden boyutlandırır.
override ResizeWidthProportionally(int, ResizeType)Genişliği orantılı olarak yeniden boyutlandırır.
virtual Rotate(float)Resmi merkez çevresinde döndürün.
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate merkezin etrafındaki görüntü.
override RotateFlip(RotateFlipType)Yalnızca Etkin çerçeveyi döndürür, çevirir veya döndürür ve döndürür.
Save()Görüntü verilerini temel alınan akışa kaydeder.
Save(Stream)Nesnenin verilerini belirtilen akışa kaydeder.
override Save(string)Resmi belirtilen dosya konumuna kaydeder.
Save(Stream, ImageOptionsBase)Görüntünün verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen akışa kaydeder.
virtual Save(string, bool)Nesnenin verilerini belirtilen dosya konumuna kaydeder.
virtual Save(string, ImageOptionsBase)Nesnenin verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen dosya konumuna kaydeder.
override Save(Stream, ImageOptionsBase, Rectangle)Görüntünün verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen akışa kaydeder.
virtual Save(string, ImageOptionsBase, Rectangle)Nesnenin verilerini, kaydetme seçeneklerine göre belirtilen dosya biçiminde belirtilen dosya konumuna kaydeder.
SaveAll(string, ImageOptionsBase)Nesnenin verilerini belirtilen dosya (indexer + dosya adı) konumuna kaydetme seçeneklerine göre belirtilen dosya formatında kaydeder..
SaveArgb32Pixels(Rectangle, int[])32 bit ARGB piksellerini kaydeder.
SaveCmyk32Pixels(Rectangle, int[])Pikselleri kaydeder.
SavePixels(Rectangle, Color[])Pikselleri kaydeder.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Ham verileri kaydeder.
SetArgb32Pixel(int, int, int)Belirtilen konum için bir 32-bit ARGB pikseli ayarlar.
override SetPalette(IColorPalette, bool)Görüntü paletini ayarlar.
SetPixel(int, int, Color)Belirtilen konum için bir görüntü pikseli ayarlar.
override SetResolution(double, double)Bunun için çözünürlüğü ayarlarRasterImage .
virtual ToBitmap()Raster görüntüyü bitmap’e dönüştürür.
WriteArgb32ScanLine(int, int[])Tüm tarama satırını belirtilen tarama satırı dizinine yazar.
WriteScanLine(int, Color[])Tüm tarama satırını belirtilen tarama satırı dizinine yazar.

Örnekler

DICOM sıkıştırmasında Renk Türünü değiştirin.

[C#]

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

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

DICOM görüntüsünde RLE sıkıştırmasını kullanın.

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

DICOM görüntüsünde JPEG 2000 sıkıştırmasını kullanın.

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

DICOM görüntüsünde JPEG sıkıştırmasını kullanın.

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

Bu örnek, bir dosya akışından bir DICOM görüntüsünün nasıl yükleneceğini gösterir.

[C#]

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

// Bir dosya akışından bir DICOM görüntüsü yükleyin.
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))
    {
        // Her sayfayı ayrı bir PNG görüntüsü olarak kaydedin.                    
        foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
        {
            // Sayfa dizinine göre bir dosya adı oluşturun.
            string fileName = string.Format("sample.{0}.png", dicomPage.Index);

            // Bir DICOM sayfası bir raster görüntüdür, bu nedenle bir raster görüntüyle izin verilen tüm işlemler bir DICOM sayfasına uygulanabilir.
            dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
        }
    }
}

Çok sayfalı bir Dicom görüntüsü oluşturun.

[C#]

using (DicomImage image = (DicomImage)Image.Create(
        new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
        100,
        100))
{
    // Vektör grafikleri kullanarak bir şeyler çizin
    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);

    // Çizilen görüntünün piksellerini kaydedin. Şimdi Dicom görüntüsünün ilk sayfasındalar.
    int[] pixels = image.LoadArgb32Pixels(image.Bounds);

    // Sonra birkaç sayfa ekleyerek daha koyu hale getirin
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.AddPage();
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(i * 30);
    }

    // Ana sayfanın önüne birkaç sayfa ekleyerek onları daha parlak hale getirin
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.InsertPage(0);
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(-i * 30);
    }

    // Oluşturulan çok sayfalı görüntüyü çıktı dosyasına kaydedin
    image.Save("MultiPage.dcm");
}

Ayrıca bakınız