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