Объединение изображений DICOM с помощью C#
Создавайте собственные приложения .NET для объединения изображений DICOM с помощью серверных API
Как объединить файлы DICOM с помощью C#
Если вы хотите дать волю творчеству, то самое время использовать коллаж изображений. Данная функция позволит объединять фотографии и изображения даже при разноформатности исходных файлов. Отличным способом привлечь внимание к вашему портфолио станет использование фотообоев с повторяющимися изображениями или паттернами. При этом объединение изображений возможно как в горизонтальном, так и в вертикальном направлениях. В том случае, если вам необходимо продемонстрировать результат обработки файла, вы с легкостью можете соединить два изображения: до и после применения фото-эффекта. Чтобы объединить файлы DICOM, мы будем использовать Aspose.Imaging для .NET API, который представляет собой многофункциональный, мощный и простой в использовании API для обработки и преобразования изображений для платформы C#. Откройте менеджер пакетов NuGet , найдите через поиск пакет Aspose.Imaging и установите его. Вы также можете использовать следующую команду из консоли диспетчера пакетов.
Команда консоли диспетчера пакетов
PM> Install-Package Aspose.Imaging
Действия по объединению DICOM с помощью C#
Вам потребуется библиотека aspose.imaging.dll , чтобы попробовать следующий рабочий процесс в вашей собственной среде:
- загрузите файлы DICOM с помощью метода Image.Load;
- объедините изображения в новый файл;
- сохраните объединенное изображение на диск в поддерживаемом Aspose.Imaging формате.
Системные Требования
Aspose.Imaging для .NET поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предпосылки:
- Microsoft Windows или совместимая ОС с .NET Framework, .NET Core, приложением Windows, веб-приложением ASP.NET;
- среда разработки, такая как Microsoft Visual Studio;
- Aspose.Imaging для .NET упоминается в вашем проекте.
Объединить DICOM изображения - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Tiff; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Sources; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
string templatesFolder = @"c:\Users\USER\Downloads\templates\"; | |
string dataDir = templatesFolder; | |
var images = new List<Image>(); | |
var singles = new List<Image>(); | |
string[] files = new string[] { "template.png", "template.jpg" }; | |
int maxWidth = 0; | |
int maxHeight = 0; | |
foreach (var fileName in files) | |
{ | |
var image = Image.Load(dataDir + fileName); | |
if (image.Width > maxWidth) | |
{ | |
maxWidth = image.Width; | |
} | |
if (image.Height > maxHeight) | |
{ | |
maxHeight = image.Height; | |
} | |
if (image is VectorImage) | |
{ | |
throw new NotImplementedException("Vector images is not supported by these code snippet. Please look at vector to booklet example to get the iplementation idea."); | |
} | |
if (image is IMultipageImage) | |
{ | |
foreach (var page in ((IMultipageImage)image).Pages) | |
{ | |
singles.Add(page); | |
} | |
} | |
else | |
{ | |
singles.Add(image); | |
} | |
images.Add(image); | |
} | |
var outputPath = Path.Combine(dataDir, "result.tiff"); | |
var outputPath2 = Path.Combine(dataDir, "result.pdf"); | |
using (TiffImage tiffImage = new TiffImage(new TiffFrame((RasterImage)singles[0]))) | |
{ | |
for (int i = 1; i < singles.Count; i++) | |
{ | |
tiffImage.AddPage((RasterImage)singles[i]); | |
} | |
// Save as muti frame tiff | |
tiffImage.Save(outputPath, new TiffOptions(TiffExpectedFormat.TiffJpegRgb)); | |
// Worry about Pdf ? That's it! | |
tiffImage.Save(outputPath2, new PdfOptions()); | |
} | |
images.ForEach(image => image.Dispose()); | |
File.Delete(outputPath); | |
File.Delete(outputPath2); |
Об Aspose.Imaging for .NET API
Aspose.Imaging API — это решение для обработки изображений, позволяющее создавать, изменять, рисовать или конвертировать изображения и фотографии в приложениях. Он предлагает: кросс-платформенную обработку изображений, включая, помимо прочего, преобразования между различными форматами изображений (включая единую многостраничную или многокадровую обработку изображений), модификации, такие как рисование, работа с графическими примитивами, преобразования (изменение размера, обрезка, отражение и поворот), бинаризация, оттенки серого, настройка яркости, контрастности, расширенные функции обработки изображений (фильтрация, дизеринг, маскирование, устранение перекоса) и стратегии оптимизации памяти. Это автономная библиотека, которая не зависит от какого-либо программного обеспечения для операций с изображениями. Можно легко добавить в проекты высокопроизводительные функции преобразования изображений с помощью собственных API. Это 100% частные локальные API, а изображения обрабатываются на ваших серверах.Объединить DICOM через онлайн-приложение
Объедините файлы DICOM, посетив наш веб-сайт Live Demos Online примеры имеют следующие преимущества
DICOM Чем является DICOM формат
DICOM — это аббревиатура от Digital Imaging and Communications in Medicine, относящаяся к области медицинской информатики. DICOM — это комбинация определения формата файла и сетевого протокола связи. DICOM использует расширение .DCM. .DCM существует в двух разных форматах, то есть в формате 1.x и формате 2.x. Формат DCM 1.x также доступен в двух версиях: нормальной и расширенной. DICOM используется для интеграции медицинских устройств визуализации, таких как принтеры, серверы, сканеры и т. д., от различных поставщиков, а также содержит идентификационные данные каждого пациента для обеспечения уникальности. Файлы DICOM могут совместно использоваться двумя сторонами, если они способны получать данные изображения в формате DICOM. Коммуникационная часть DICOM представляет собой протокол прикладного уровня и использует TCP/IP для связи между объектами. Протоколы HTTP и HTTPS используются для веб-служб DICOM. Версии, поддерживаемые веб-службами: 1.0, 1.1, 2 или более поздние версии.
Читать далееДругие поддерживаемые форматы слияния
Используя C#, можно легко объединять разные форматы изображений, в том числе: