Aspose.Medical DICOM til tekstkonverter til .NET

Aspose.Medical DICOM til Text Converter for .NET er en kraftfuld API, der fokuserer på konvertering af DICUM-data til humant læsbare og maskinpærerbare formater. Det serialiserer DIKOM-datasæt til JSON og XML-formater, hvilket gør det muligt at integrere med webtjenester, REST APIs og moderne sundhedssystemer.

Installation og installation

  • Installation af NuGet-pakken Aspose.Medical (Core API styrer konvertering)
  • Anvend målt licens på startups for at undgå evalueringsgrænser: se Målt licens .
  • Oversigt over rammevilkårene i Installationsvejledning .

Støtte platforme

  • Windows, Linux og MacOS
    • Frameworks: * .NET 8.0+
  • **Architekturer: * x64 og ARM64 (macOS)

Hurtig start

1) DICOM til JSON

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm);

2) DICOM til JSON med 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 til 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 filer til 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) Serialiser til strøm (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) Save som JSON fil

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 Deserialisering

Deserialiser JSON String til Dataset

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

string jsonText = File.ReadAllText("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(jsonText);

Deserialiser JSON Stream til Dataset

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(stream);

Deserialiser JSON til DicomFile

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

string jsonText = File.ReadAllText("dicom_file.json");
DicomFile? dicomFile = DicomJsonSerializer.DeserializeFile(jsonText);

Deserialize JSON Array til flere datasæt

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

string jsonText = File.ReadAllText("dicom_array.json");
Dataset[]? datasets = DicomJsonSerializer.DeserializeList(jsonText);

XML serialisering

DICOM til XML

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string xml = DicomXmlSerializer.Serialize(dcm.Dataset);

XML til DICOM Dataset

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

string xmlText = File.ReadAllText("dicom_data.xml");
Dataset? dataset = DicomXmlSerializer.Deserialize(xmlText);

Async ild

For asynkron operationer i webapplikationer og tjenester:

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);

** Tilgængelige Async metoder:**

  • DeserializeAsync - Deserialisere UTF-8 JSON-strøm til Dataset
  • DeserializeFileAsync - Deserialisere UTF-8 JSON-strøm til DicomFile
  • DeserializeListAsync - Deserialisere UTF-8 JSON-strøm til Dataset array
  • SerializeAsync - Serialisere Dataset, DicomFile eller Dataaset til UTF-8 JSON-strøm

Funktioner og funktionalitet

DICOM Web Services overensstemmelse

Konverteringen overholder DICOM PS3.18 (Webtjenester) standard, hvilket sikrer kompatibilitet med:

  • Resten af DICOM Web APIs
  • Cloud-baserede PACS-systemer
  • Moderne sundhedspleje interoperabilitet platforme
  • FHIR-kompatible systemer

Serialiseringsmuligheder

Tilpasse serialisering adfærd med 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);
OptionBeskrivelse
UseKeywordsAsJsonKeysBrug DICOM nøgleord i stedet for tag som JSON nøgler (ikke standard)
WriteKeywordSkriv DICOM tag nøgleord som en distinkt JSON-attribut
WriteNameSkriv tagnavnet DICOM som en distinkt JSON-attribut
NumberHandlingBehandle tal som AsNumber eller AsString
BulkDataLoaderLader til blob data refereret i BulkData elementer
BulkDataConverterKonverter til at skrive data som BulkData referencer

System.Text.Json integration

Brug konvertere med standard .NET JSON serialisering:

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);

Støtte typer

Indtast TypeUdgangsformater
DicomFileJSON og XML
DatasetJSON og XML
Dataset[]JSON og XML

Data bevarelse

Serialisering bevarer nøjagtigt:

  • Alle DICOM tags og værdier
  • Værdi repræsentationer (VR)
  • Nestede sekvenser
  • Personlige tags
  • Mængde data referencer
  • Specielle flådeværdier (NaN, Infinity)

Gennemsigtig brug af tilfælde

  • Websøgere: Serve DICOM metadata til browserbaserede medicinske billedsejere.
  • REST APIs: Byg sundhedspleje API, der udveksler DICOM-data i JSON-format.
  • Data Analytics: Eksporterer DICOM metadata til analyse i databehandlingsrør.
  • Integration: Forbinder legacy PACS med moderne cloudbaserede sundhedsplatforme.
  • Debugging: Skab menneskelig læsbare repræsentationer af DICOM-data til problemløsning.
  • Archiving: Lagre DICOM metadata i dokumentdatabaser som MongoDB eller Elasticsearch.

Bedste praksis

  • License first: Initialiser målt licens før enhver konvertering for at undgå evalueringsbegrænsninger.
  • Use streams: For store filer eller webtjenester, brug strømbaserede metoder til hukommelseseffektivitet.
  • Async-operationer: Brug asynkmetoder i webapplikationer for at undgå at blokere tråden.
  • Validering af runder: Test serialisering/deserialisering cykler for at sikre data integritet.
  • Standard overensstemmelse: Brug standardoptioner for DICOM PS3.18 overenskomst; ikke-standard optioner kan bryde tredjemand parsers.
  • UTF-8 kodning: Stream metoder bruger UTF-8, ideel til web API’er og filoperationer.

Operationsresumé

OperationInputUdgangMethod
SerializeDatasetStrøm / StreamSerialize
SerializeDicomFileStrøm / StreamSerialize
SerializeDatasæt[rediger rediger kilde]Strøm / StreamSerialize
DeserializeStrøm / StreamDatasetDeserialize
DeserializeStrøm / StreamDicomFileDeserializeFile
DeserializeStrøm / StreamDatasæt[rediger rediger kilde]DeserializeList

FAQ

** Er det nødvendigt med tredjepartsbibliotek?**Det er en ensartet API, der kun bruger .NET-indbygget JSON/XML-support.

** Er JSON-produktionen DICOM Web Services i overensstemmelse?**Den standardudgang følger DICOM PS3.18 specifikationer.

** Kan jeg tilpasse JSON-nøgleformat?**Ja, brug af DicomJsonSerializerOptions til at kontrollere tag vs. nøgleord og yderligere attributter.

  • Er nægte sekvenser bevaret? *Serialiseren vedligeholder den fulde DICOM-struktur, herunder nestede sekvenser.

**Hvordan håndterer jeg store DICOM-filer?**Ved hjælp af strømbaserede metoder (Serialize(stream, ...) og DeserializeAsync3) for hukommelseseffektiv behandling.

** Er rund-trip konvertering tabsløs?**Serialisering bevarer alle DICOM-data for nøjagtig deserialisering tilbage til Dataset eller DicomFile-objekter.

 Dansk