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 Dataset
  • DeserializeFileAsync - Deserializovať UTF-8 JSON stream na DicomFile
  • DeserializeListAsync - Deserializovať UTF-8 JSON stream na Dataset array
  • SerializeAsync - 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);
OptionPopis
UseKeywordsAsJsonKeysPoužite kľúčové slová DICOM namiesto značiek ako JSON kľúče (nie štandardné)
WriteKeywordNapíšte DICOM tag kľúčové slovo ako odlišný JSON atribút
WriteNameNapíšte názov značky DICOM ako odlišný atribút JSON
NumberHandlingSpracujte čísla ako AsNumber alebo AsString
BulkDataLoaderNabíjač pre blob údaje uvedené v BulkData prvky
BulkDataConverterKonvertor 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 vstupuVýstupné formáty
DicomFileJSON a XML
DatasetJSON 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

OperationInputVýstupMethod
SerializeDatasetString / StreamSerialize
SerializeDicomFileString / StreamSerialize
SerializeZoznam údajov [ ]String / StreamSerialize
DeserializeString / StreamDatasetDeserialize
DeserializeString / StreamDicomFileDeserializeFile
DeserializeString / StreamZoznam ú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.

 Slovenčina