Aspose.Medical DICOM to Text Converter за .NET
Медицински ДИЦОМ у тексту конвертер за .НЕТ је моћна АПИ фокусирана на конвертирање ДИКОМ података у људско-читајуће и машински-пропуштене формати. Серијализује датотеке ДиЦоМ на ЈСОН и КСМЛ формате, омогућава интегрисање са веб услугама, РЕСТ АПИ, и савременим здравственим системима. Изграђен за интерактивност, обезбеђује стандардно-усклађене серијализације према ДИСКОМ Веб Услуге (ПС3.18) спецификацијама.
Инсталација и подешавање
- Инсталирајте пакет НУГЕТ
Aspose.Medical(Основни АПИ снабдевање конверзије). - Аплицирајте мерене лиценце на стартапу како бисте избегли ограничења за процену: погледајте Метеран лиценцирање .
- Преглед оквирних захтева у Инсталацијски водич .
Подржане платформе
- ОС: Виндовс, Линук, МацОС
- Рамкови: * .NET 8.0+
- ** Архитектура:** x64, ARM64 (macOS)
брз почетак
1) ДИКОМ ДО ЈСОН
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm);2) DICOM do JSON sa Pretty Print
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string formattedJson = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(formattedJson);3) DICOM Dataset za JSON
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
Dataset dataset = dcm.Dataset;
string json = DicomJsonSerializer.Serialize(dataset, writeIndented: true);4) Mnogo DICOM datoteka za JSON Array
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm1 = DicomFile.Open("scan1.dcm");
DicomFile dcm2 = DicomFile.Open("scan2.dcm");
Dataset[] datasets = [dcm1.Dataset, dcm2.Dataset];
string json = DicomJsonSerializer.Serialize(datasets, writeIndented: true);5) Серијализација на струју (ефикасна меморија)
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
using MemoryStream stream = new();
DicomJsonSerializer.Serialize(stream, dcm.Dataset);6) Сачувајте као JSON датотеку
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
using FileStream output = File.Create("output.json");
DicomJsonSerializer.Serialize(output, dcm.Dataset, writeIndented: true);JSON дезерјализација
Deserializuje JSON String na Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(jsonText);Deserializujte JSON Stream na Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(stream);Deserializujte JSON na DicomFile
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_file.json");
DicomFile? dicomFile = DicomJsonSerializer.DeserializeFile(jsonText);Deserializuje JSON Array na više setova podataka
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_array.json");
Dataset[]? datasets = DicomJsonSerializer.DeserializeList(jsonText);КСМЛ серијализација
ДИКОМ до КСМЛ
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string xml = DicomXmlSerializer.Serialize(dcm.Dataset);КСНУМКС до ДИКОМ Датасет
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string xmlText = File.ReadAllText("dicom_data.xml");
Dataset? dataset = DicomXmlSerializer.Deserialize(xmlText);Асинц АПИ
За асинхронне операције у веб апликацијама и услугама:
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
// Async deserialization from stream
using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = await DicomJsonSerializer.DeserializeAsync(stream);
// Async serialization to stream
using FileStream output = File.Create("output.json");
await DicomJsonSerializer.SerializeAsync(output, dataset);** Доступни Асинц Методе:**
DeserializeAsyncDeserializujte UTF-8 JSON tok na DatasetDeserializeFileAsyncDeserializujte UTF-8 JSON tok na DicomFileDeserializeListAsyncDeserialize UTF-8 JSON tok na Dataset arraySerializeAsync- Серијализовати Датасет, ДикомФиле, или Датисет распоређивање на УТФ-8 ЈСОН струју
Карактеристике и функционалност
DICOM Web Services Усклађеност
Конвертер се придржава DICOM PS3.18 (Веб Услуге) стандарда, осигуравајући компатибилност са:
- Преостале дицом веб АПИ
- PACS sisteme u oblaku
- Савремене платформе интерактивности здравствене заштите
- FHIR-компатибилни системи
Опције за серијализацију
Прилагођавање понашања серијализације са DicomJsonSerializerOptions:
DicomJsonSerializerOptions options = new()
{
UseKeywordsAsJsonKeys = false, // Use tags instead of keywords
WriteKeyword = true, // Include keyword as separate attribute
WriteName = true, // Include tag name as separate attribute
NumberHandling = JsonNumberHandling.AsNumber // Number format
};
string json = DicomJsonSerializer.Serialize(dataset, options);| Option | Опис |
|---|---|
UseKeywordsAsJsonKeys | Koristite ključne reči DICOM umesto oznaka kao JSON ključeve (ne standardno) |
WriteKeyword | Напишите ДИКОМ таг кључне речи као посебан ЈСОН атрибут |
WriteName | Напишите име ознаке ДИКОМ као посебан JSON атрибут |
NumberHandling | обрађују се бројевима као AsNumber или AsString |
BulkDataLoader | Loader za blob podatke upućene u elementima BulkData |
BulkDataConverter | Конвертер за писање података као БулкДата референце |
System.Text.Json Интеграција
Користите конверторе са стандардном .NET JSON сериализацијом:
using System.Text.Json;
using Aspose.Medical.Dicom.Serialization;
JsonSerializerOptions options = new();
options.Converters.Add(new DicomFileJsonConverter());
options.Converters.Add(new DatasetJsonConverter());
// Now use with JsonSerializer
string json = JsonSerializer.Serialize(dicomFile, options);Подржани типови
| Тип улаза | излазни формати |
|---|---|
DicomFile | ЈСОН, КСМЛ |
Dataset | ЈСОН, КСМЛ |
Dataset[] | ЈСОН, КСМЛ |
Očuvanje podataka
Серијализација прецизно чува:
- Svi DICOM oznake i vrednosti
- Репрезентације вредности (ВР)
- Снежне секције
- Приватни тагови
- Масовне референце података
- Специјалне вредности пловила (наН, бесконачност)
Уобичајени случајеви
- Веб гледаоци: Сервирајте ДИЦОМ метадане за претраживаче медицинске слике.
- REST APIs: Изградите здравствене АПИ које размјењују DICOM податке у JSON формату.
- Аналитика података: Експортирајте метадане ДИЦОМ-а за анализу у цеви за обраду подата.
- Интеграција: Прикључите наследни ПАЦС са модерним платформама здравствене заштите заснованим на облаку.
- Debugging: Kreirajte ljudsko čitljive predstavke podataka DICOM-a za rešavanje problema.
- Архивирање: Складиштење ДИКОМ метада у базама података докумената као што су МонгоДБ или Еластицсеарх.
Најбоља пракса
- Лиценца прво: Иницијалишете мерено лиценцирање пре било какве конверзије како бисте избегли ограничења процене.
- Употреба токова: За велике датотеке или веб услуге, користите методе засноване на току за ефикасност меморије.
- Асинц операције: У веб апликацијама користите методе асинца како бисте избегли блокирање трака.
- Валидација кружних путовања: Циклуси тестирања сериализације/десериализација како би се осигурала интегритет података.
- Стандардна усклађеност: Употреба подразумеваних опција за DICOM PS3.18 поштовање; не-стандардне опције могу да прекину треће стране.
- УТФ-8 кодирање: Методе струје користе УТF-8 код, идеалан за веб АПИ и операције датотека.
Операција резюме
| Operation | Input | излаз | Method |
|---|---|---|---|
| Serialize | Dataset | струја / Stream | Serialize |
| Serialize | DicomFile | струја / Stream | Serialize |
| Serialize | Списак података[уреди] | струја / Stream | Serialize |
| Deserialize | струја / Stream | Dataset | Deserialize |
| Deserialize | струја / Stream | DicomFile | DeserializeFile |
| Deserialize | струја / Stream | Списак података[уреди] | DeserializeList |
FAQ
** Да ли је потребна библиотека треће стране?**То је самостална АПИ која користи само .NET уграђену подршку за ЈСОН/КСМЛ.
**Да ли је JSON излаз компаније DICOM Web Services у складу?**Да. Стандардни излаз следи спецификације ДИЦОМ ПС3.18.
** Могу ли прилагодити формат кључа ЈСОН-а?**Да. Употреба DicomJsonSerializerOptions да контролише ознаке против кључних речи и додатних атрибута.
- Да ли су нежељене секције сачуване? *Да. Серијализатор одржава пуну структуру ДИЦОМ-а, укључујући и нежељене секције.
**Како могу да управљам великим ДИКОМ датотекама?**Употреба метода заснованих на струји (Serialize(stream, ...) и DeserializeAsyncЗа ефикасну обраду меморије.
** Да ли је конверзија кружног путовања без губитка?**Да. Серијализација чува све ДИЦОМ податке за тачну десерјализацију назад на Објекте Датасет или ДицомФиле.