Aspose.Medical DICOM na Text Converter pre .NET
Aspose.Medical DICOM to Text Converter pre .NET je výkonný API zameraný na konverzovanie údajov DICUM do ľudsky čitateľných a strojovo rozpustných formátov. Serializuje dátové súbory DIKOM na formáty JSON a XML, čo umožňuje integráciu s webovými službami, REST APIs a modernými systémami zdravotnej starostlivosti.
Inštalácia a nastavenie
- Inštalácia balíka NuGet
Aspose.Medical(Core API napájanie konverzie) - Aplikovať merané licencie na startup, aby sa zabránilo hodnotenie limity: pozri Metrické licencie .
- Preskúmať rámcové požiadavky v Inštalácia sprievodca .
Podporované platformy
- OS: Windows, Linux a MacOS
- Rámcové prvky: .NET 8.0+
- Architektúra: x64, ARM64 (macOS)
rýchly štart
1) DICOM k JSON
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm);2) DICOM na JSON s 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 na 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) Multiple DICOM súbory na 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) Serializácia na Stream (Memory Efficient)
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) Uložiť ako JSON súbor
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);Deserializácia JSON
Deserializovať 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);Deserializovať 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);Deserializovať JSON na DicomFile
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_file.json");
DicomFile? dicomFile = DicomJsonSerializer.DeserializeFile(jsonText);Deserializovať JSON Array na viaceré dátové súbory
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_array.json");
Dataset[]? datasets = DicomJsonSerializer.DeserializeList(jsonText);XML serializácia
DICOM na XML
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string xml = DicomXmlSerializer.Serialize(dcm.Dataset);XML na DICOM Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string xmlText = File.ReadAllText("dicom_data.xml");
Dataset? dataset = DicomXmlSerializer.Deserialize(xmlText);Async požiar
Pre asynchrónne operácie v webových aplikáciách a službách:
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);** Dostupné metódy Async:**
DeserializeAsync- Deserializovať UTF-8 JSON stream na DatasetDeserializeFileAsync- Deserializovať UTF-8 JSON stream na DicomFileDeserializeListAsync- Deserializovať UTF-8 JSON stream na Dataset arraySerializeAsync- Serializovať dataset, DicomFile alebo Dataset array na UTF-8 JSON stream
Funkcie a funkčnosť
DICOM Web Services súlad
Konverter dodržiava DICOM PS3.18 (Web Services) štandard, ktorý zaručuje kompatibilitu s:
- Ostatné webové aplikácie DICOM
- Cloud-based PACS systémy
- Moderné platformy interoperability zdravotnej starostlivosti
- FHIR kompatibilné systémy
Serializácia možností
Vhodné pre serializáciu s 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 | Popis |
|---|---|
UseKeywordsAsJsonKeys | Použite kľúčové slová DICOM namiesto značiek ako JSON kľúče (nie štandardné) |
WriteKeyword | Napíšte DICOM tag kľúčové slovo ako odlišný JSON atribút |
WriteName | Napíšte názov značky DICOM ako odlišný atribút JSON |
NumberHandling | Spracujte čísla ako AsNumber alebo AsString |
BulkDataLoader | Nabíjač pre blob údaje uvedené v BulkData prvky |
BulkDataConverter | Konvertor pre písanie údajov ako BulkData referencie |
Systém.Text.Json Integrácia
Použite konvertory so štandardnou serializáciou .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);Podporované typy
| typ vstupu | Výstupné formáty |
|---|---|
DicomFile | JSON a XML |
Dataset | JSON a XML |
Dataset[] | JSON a XML |
uchovávanie údajov
Serializácia presne zachováva:
- Všetky značky DICOM a hodnoty
- Predstavovanie hodnoty (VR)
- Nestlé sekvencie
- Súkromné tags
- Množstvo referencií údajov
- Zvláštne flotilné hodnoty (NaN, Infinity)
bežné prípady použitia
- Web Viewers: Poskytnite metadata DICOM prehliadačom založeným na lekárskom obraze.
- REST API: Vytvorte zdravotnícke API, ktoré vymieňajú údaje DICOM vo formáte JSON.
- Data Analytics: Export metadata DICOM na analýzu v potrubiach na spracovanie údajov.
- Integrácia: Pripojte PACS dedičstva k moderným platformám zdravotnej starostlivosti založeným na cloude.
- Debugging: Vytvorte čitateľné reprezentácie údajov DICOM pre riešenie problémov.
- Archiving: Uložiť metadata DICOM v databázach dokumentov, ako je MongoDB alebo Elasticsearch.
Najlepšie postupy
- License first: Počiatočné merané licencovanie pred každou konverziou, aby sa zabránilo hodnotenie obmedzenia.
- Užívanie tokov: Pri veľkých súboroch alebo webových službách použite metódy založené na tokoch pre efektívnosť pamäte.
- Async operácie: V webových aplikáciách sa používajú metódy asyncu, aby sa zabránilo blokovaniu pruhov.
- Validujte kruhové cesty: Testové serializácie/deserializácia cyklov na zabezpečenie integrity údajov.
- Standardné dodržiavanie: Použite predvolené možnosti pre DICOM PS3.18 súladu; Non-standardné možnosti môžu prerušiť tretej strany.
- Utf-8 kódovanie: Stream metódy používajú UTF-8 šifrovanie, ideálne pre webové API a súborové operácie.
Zhrnutie operácie
| Operation | Input | Výstup | Method |
|---|---|---|---|
| Serialize | Dataset | String / Stream | Serialize |
| Serialize | DicomFile | String / Stream | Serialize |
| Serialize | Zoznam údajov [ ] | String / Stream | Serialize |
| Deserialize | String / Stream | Dataset | Deserialize |
| Deserialize | String / Stream | DicomFile | DeserializeFile |
| Deserialize | String / Stream | Zoznam údajov [ ] | DeserializeList |
FAQ
** Potrebuje to knižnice tretích strán?**Nie. Jedná sa o samostatnú API, ktorá používa iba .NET vstavanú podporu JSON/XML.
**Je výstup JSON v súlade s webovými službami DICOM?**Predvolený výstup nasleduje špecifikácie DICOM PS3.18.
**Môžem prispôsobiť JSON kľúčový formát?**Áno, používať DicomJsonSerializerOptions ovládať tag vs. kľúčové slová a ďalšie atribúty.
- Sú zachované nechtové sekvencie? *Sérializátor zachováva plnú štruktúru DICOM vrátane nektovaných sekvencií.
** Ako môžem spravovať veľké súbory DICOM?**Použitie metód založených na streamovaní (Serialize(stream, ...) a DeserializeAsyncPre efektívne spracovanie pamäte.
**Je konverzia okrúhlej cesty bez straty?**Serializácia zachováva všetky údaje DICOM pre presnú deserializáciu späť do objektov Dataset alebo DicomFile.