DicomImage
Содержание
[
Скрывать
]DicomImage class
Это класс реализации, работающей с изображением из файла DICOM
public sealed class DicomImage : RasterCachedMultipageImage, IMultipageImageExt
Конструкторы
| Имя | Описание |
|---|---|
| DicomImage(Stream) | Инициализирует новый экземплярDicomImage класс. |
| DicomImage(Stream, LoadOptions) | Инициализирует новый экземплярDicomImage класс. |
| DicomImage(DicomOptions, int, int) | Инициализирует новый экземплярDicomImage класс. |
Характеристики
| Имя | Описание |
|---|---|
| ActivePage { get; set; } | Получает или задает активную страницу. |
| ActivePageIndex { get; } | Получает активную страницу индекса. |
| AutoAdjustPalette { get; set; } | Получает или задает значение, указывающее, следует ли автоматически настраивать палитру. |
| override BackgroundColor { get; set; } | Получает или задает значение цвета фона. |
| override BitsPerPixel { get; } | Получает количество бит изображения на пиксель. |
| Bounds { get; } | Получает границы изображения. |
| BufferSizeHint { get; set; } | Получает или задает подсказку о размере буфера, которая определяет максимально допустимый размер для всех внутренних буферов. |
| Container { get; } | ПолучаетImage контейнер. |
| DataStreamContainer { get; } | Получает поток данных объекта. |
| DicomPages { get; } | Получает страницы. |
| Disposed { get; } | Получает значение, указывающее, удален ли этот экземпляр. |
| override FileFormat { get; } | Получает значение формата файла |
| FileInfo { get; } | Получает значение, которое содержит информационный заголовок файла DICOM |
| override HasAlpha { get; } | Получает альфа-канал. |
| virtual HasBackgroundColor { get; set; } | Получает или задает значение, указывающее, имеет ли изображение фоновый цвет. |
| override HasTransparentColor { get; } | Получает значение, указывающее, имеет ли изображение прозрачный цвет. |
| override Height { get; } | Получает высоту изображения. |
| virtual HorizontalResolution { get; set; } | Получает или задает горизонтальное разрешение в пикселях на дюйм для этогоRasterImage . |
| override ImageOpacity { get; } | Получает непрозрачность этого изображения. |
| InterruptMonitor { get; set; } | Получает или устанавливает монитор прерываний. |
| IsCached { get; } | Получает значение, указывающее, кэшируются ли в данный момент данные изображения. |
| IsRawDataAvailable { get; } | Получает значение, указывающее, доступна ли загрузка необработанных данных. |
| override PageCount { get; } | Получает количество страниц. |
| override PageExportingAction { get; set; } | Получает или задает действие экспорта страницы. Обратите внимание, что установка этого метода автоматически освобождает ресурсы страницы после его выполнения. Он будет выполняться непосредственно перед сохранением каждой страницы. |
| override Pages { get; } | Получает страницы. |
| Palette { get; set; } | Получает или задает цветовую палитру. Цветовая палитра не используется, когда пиксели представлены напрямую. |
| virtual PremultiplyComponents { get; set; } | Получает или задает значение, указывающее, должны ли компоненты изображения предварительно умножаться. |
| RawCustomColorConverter { get; set; } | Получает или задает пользовательский конвертер цветов |
| virtual RawDataFormat { get; } | Получает формат необработанных данных. |
| RawDataSettings { get; } | Получает текущие настройки необработанных данных. Обратите внимание, что при использовании этих настроек данные загружаются без преобразования. |
| RawFallbackIndex { get; set; } | Получает или задает резервный индекс для использования, когда индекс палитры выходит за пределы |
| RawIndexedColorConverter { get; set; } | Получает или задает преобразователь индексированных цветов |
| virtual RawLineSize { get; } | Получает исходный размер строки в байтах. |
| Size { get; } | Получает размер изображения. |
| virtual TransparentColor { get; set; } | Получает прозрачный цвет изображения. |
| virtual UpdateXmpData { get; set; } | Получает или задает значение, указывающее, следует ли обновлять метаданные XMP. |
| override UsePalette { get; } | Получает значение, указывающее, используется ли палитра изображения. |
| virtual UseRawData { get; set; } | Получает или задает значение, указывающее, следует ли использовать загрузку необработанных данных, когда доступна загрузка необработанных данных. |
| virtual VerticalResolution { get; set; } | Получает или задает разрешение по вертикали в пикселях на дюйм этогоRasterImage . |
| override Width { get; } | Получает ширину изображения. |
| override XmpData { get; set; } | Получает или задает данные Xmp. |
Методы
| Имя | Описание |
|---|---|
| AddPage() | Добавляет новую страницу в конец списка страниц. |
| AddPage(RasterImage) | Добавляет страницу к изображению. |
| override AdjustBrightness(int) | Настройкаbrightness для изображения. |
| override AdjustContrast(float) | Image контрастный |
| override AdjustGamma(float) | Гамма-коррекция изображения. |
| override AdjustGamma(float, float, float) | Гамма-коррекция изображения. |
| override BinarizeBradley(double) | Бинаризация изображения с использованием алгоритма адаптивной пороговой обработки Брэдли с использованием интегрального порогового значения изображения |
| override BinarizeBradley(double, int) | Бинаризация изображения с использованием алгоритма адаптивной пороговой обработки Брэдли с использованием интегрального порогового значения изображения |
| override BinarizeFixed(byte) | Бинаризация изображения с заданным порогом |
| override BinarizeOtsu() | Бинаризация изображения с пороговым значением Otsu |
| override CacheData() | Кэширует приватные данные. |
| CanSave(ImageOptionsBase) | Определяет, можно ли сохранить изображение в указанном формате файла, представленном переданными параметрами сохранения. |
| override Crop(Rectangle) | Обрезка изображения. |
| override Crop(int, int, int, int) | Обрезать изображение со сдвигами. |
| Dispose() | Удаляет текущий экземпляр. |
| Dither(DitheringMethod, int) | Выполняет сглаживание текущего изображения. |
| override Dither(DitheringMethod, int, IColorPalette) | Выполняет сглаживание текущего изображения. |
| override Filter(Rectangle, FilterOptionsBase) | Фильтрует указанный прямоугольник. |
| GetArgb32Pixel(int, int) | Получает изображение 32-битного пикселя ARGB. |
| GetDefaultArgb32Pixels(Rectangle) | Получает массив 32-битных пикселей ARGB по умолчанию. |
| virtual GetDefaultOptions(object[]) | Получает параметры по умолчанию. |
| GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | Получает массив пикселей по умолчанию с помощью частичной загрузки пикселей. |
| GetDefaultRawData(Rectangle, RawDataSettings) | Получает массив необработанных данных по умолчанию. |
| GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | Получает массив необработанных данных по умолчанию с использованием частичной загрузки пикселей. |
| virtual GetModifyDate(bool) | Получает дату и время последнего изменения образа ресурса. |
| virtual GetOriginalOptions() | Получает параметры, основанные на настройках исходного файла. Это может быть полезно для сохранения без изменений битовой глубины и других параметров исходного изображения. Например, если мы загружаем черно-белое изображение PNG с 1 битом на пиксель, а затем сохраните его, используя the Save будет создано выходное изображение PNG с 8 битами на пиксель. Чтобы избежать этого и сохранить изображение PNG с 1 битом на пиксель, используйте этот метод, чтобы получить соответствующие параметры сохранения и передать их Save метод в качестве второго параметра. |
| GetPixel(int, int) | Получает пиксель изображения. |
| GetSkewAngle() | Получает угол наклона. Этот метод применим к отсканированным текстовым документам для определения угла наклона при сканировании. |
| override Grayscale() | Преобразование изображения в его представление в градациях серого |
| InsertPage(int) | Вставляет новую страницу в список страниц по указанному индексу. |
| LoadArgb32Pixels(Rectangle) | Загружает 32-битные пиксели ARGB. |
| LoadArgb64Pixels(Rectangle) | Загружает 64-битные пиксели ARGB. |
| LoadCmyk32Pixels(Rectangle) | Загружает пиксели в формате CMYK. |
| LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | Загружает 32-битные пиксели ARGB частично по пакетам. |
| LoadPartialPixels(Rectangle, IPartialPixelLoader) | Загружает пиксели частично пачками. |
| LoadPixels(Rectangle) | Загружает пиксели. |
| LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | Загружает необработанные данные. |
| LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | Загружает необработанные данные. |
| NormalizeAngle() | Нормализует угол. Этот метод применим к отсканированным текстовым документам, чтобы избавиться от перекоса сканирования. Этот метод используетGetSkewAngle а такжеRotate методы. |
| override NormalizeAngle(bool, Color) | Нормализует угол. Этот метод применим к отсканированным текстовым документам, чтобы избавиться от перекоса сканирования. Этот метод использует!:GetSkewAngle а такжеRotate методы. |
| ReadArgb32ScanLine(int) | Считывает всю строку сканирования по указанному индексу строки сканирования. |
| ReadScanLine(int) | Считывает всю строку сканирования по указанному индексу строки сканирования. |
| RemovePage(int) | Удаляет страницу с указанным индексом из списка страниц. |
| ReplaceColor(Color, byte, Color) | Заменяет один цвет другим с допустимой разницей и сохраняет исходное значение альфа-канала для сохранения сглаженных краев. |
| override ReplaceColor(int, byte, int) | Заменяет один цвет другим с допустимой разницей и сохраняет исходное значение альфа-канала для сохранения сглаженных краев. |
| ReplaceNonTransparentColors(Color) | Заменяет все непрозрачные цвета новым цветом и сохраняет исходное значение альфа-канала для сохранения гладких краев. Примечание: если вы используете его на изображениях без прозрачности, все цвета будут заменены одним цветом. |
| override ReplaceNonTransparentColors(int) | Заменяет все непрозрачные цвета новым цветом и сохраняет исходное значение альфа-канала для сохранения гладких краев. Примечание: если вы используете его на изображениях без прозрачности, все цвета будут заменены одним цветом. |
| Resize(int, int) | Изменяет размер изображения. По умолчаниюNearestNeighbourResample используется. |
| override Resize(int, int, ImageResizeSettings) | Изменяет размер изображения. |
| override Resize(int, int, ResizeType) | Изменяет размер изображения. |
| ResizeHeightProportionally(int) | Изменяет размер высоты пропорционально. По умолчаниюNearestNeighbourResample используется. |
| virtual ResizeHeightProportionally(int, ImageResizeSettings) | Изменяет размер высоты пропорционально. |
| override ResizeHeightProportionally(int, ResizeType) | Изменяет ширину пропорционально. |
| ResizeProportional(int, int, ResizeType) | Выполняет пропорциональное изменение размера изображения. Пропорциональное изменение размера изменит размер каждого кадра в соответствии с соотношениемnewWidth/ширина иnewHeight /высота. |
| ResizeWidthProportionally(int) | Изменяет ширину пропорционально. По умолчаниюNearestNeighbourResample используется. |
| virtual ResizeWidthProportionally(int, ImageResizeSettings) | Изменяет ширину пропорционально. |
| override ResizeWidthProportionally(int, ResizeType) | Изменяет ширину пропорционально. |
| virtual Rotate(float) | Повернуть изображение вокруг центра. |
| override Rotate(float, bool, Color) | !:RasterCahcedMultipageImage.Rotate изображение вокруг центра. |
| override RotateFlip(RotateFlipType) | Вращает, переворачивает или вращает и переворачивает только активный кадр. |
| Save() | Сохраняет данные изображения в базовый поток. |
| Save(Stream) | Сохраняет данные объекта в указанный поток. |
| override Save(string) | Сохраняет изображение в указанном месте файла. |
| Save(Stream, ImageOptionsBase) | Сохраняет данные изображения в указанный поток в указанном формате файла в соответствии с параметрами сохранения. |
| virtual Save(string, bool) | Сохраняет данные объекта в указанном месте файла. |
| virtual Save(string, ImageOptionsBase) | Сохраняет данные объекта в указанном месте файла в указанном формате файла в соответствии с параметрами сохранения. |
| override Save(Stream, ImageOptionsBase, Rectangle) | Сохраняет данные изображения в указанный поток в указанном формате файла в соответствии с параметрами сохранения. |
| virtual Save(string, ImageOptionsBase, Rectangle) | Сохраняет данные объекта в указанном месте файла в указанном формате файла в соответствии с параметрами сохранения. |
| SaveAll(string, ImageOptionsBase) | Сохраняет данные объекта в указанном месте файла (индексатор + имя файла) в указанном формате файла в соответствии с параметрами сохранения.. |
| SaveArgb32Pixels(Rectangle, int[]) | Сохраняет 32-битные пиксели ARGB. |
| SaveCmyk32Pixels(Rectangle, int[]) | Сохраняет пиксели. |
| SavePixels(Rectangle, Color[]) | Сохраняет пиксели. |
| SaveRawData(byte[], int, Rectangle, RawDataSettings) | Сохраняет необработанные данные. |
| SetArgb32Pixel(int, int, int) | Устанавливает 32-битный пиксель изображения ARGB для указанной позиции. |
| override SetPalette(IColorPalette, bool) | Задает палитру изображения. |
| SetPixel(int, int, Color) | Устанавливает пиксель изображения для указанной позиции. |
| override SetResolution(double, double) | Устанавливает разрешение для этогоRasterImage . |
| virtual ToBitmap() | Преобразует растровое изображение в растровое. |
| WriteArgb32ScanLine(int, int[]) | Записывает всю строку сканирования в указанный индекс строки сканирования. |
| WriteScanLine(int, Color[]) | Записывает всю строку сканирования в указанный индекс строки сканирования. |
Примеры
Изменить тип цвета при сжатии DICOM.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Используйте сжатие RLE в изображении DICOM.
[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);
}
Используйте сжатие JPEG 2000 в изображении DICOM.
[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);
}
Используйте сжатие JPEG в изображении DICOM.
[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);
}
В этом примере показано, как загрузить изображение DICOM из файлового потока.
[C#]
string dir = "c:\\temp\\";
// Загрузить изображение DICOM из файлового потока.
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))
{
// Сохраняем каждую страницу как отдельное изображение PNG.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Генерируем имя файла на основе индекса страницы.
string fileName = string.Format("sample.{0}.png", dicomPage.Index);
// Страница DICOM — это растровое изображение, поэтому все разрешенные операции с растровым изображением применимы к странице DICOM.
dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
}
}
}
Создайте многостраничное изображение Dicom.
[C#]
using (DicomImage image = (DicomImage)Image.Create(
new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
100,
100))
{
// Рисуем что-нибудь с помощью векторной графики
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);
// Сохраняем пиксели нарисованного изображения. Теперь они находятся на первой странице изображения Dicom.
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
// Добавляем несколько страниц после, делая их темнее
for (int i = 1; i < 5; i++)
{
DicomPage page = image.AddPage();
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(i * 30);
}
// Добавляем несколько страниц перед главной, делая их ярче
for (int i = 1; i < 5; i++)
{
DicomPage page = image.InsertPage(0);
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(-i * 30);
}
// Сохраняем созданное многостраничное изображение в выходной файл
image.Save("MultiPage.dcm");
}
Смотрите также
- class RasterCachedMultipageImage
- interface IMultipageImageExt
- пространство имен Aspose.Imaging.FileFormats.Dicom
- сборка Aspose.Imaging