Aspose.Medical DICOM į teksto konverteris .NET

Aspose.Medical DICOM į teksto konvertuotojas .NET yra galingas API, orientuotas į konvertuojant DIKOM duomenis į žmogiškai skaitomus ir mašinai išmatuojamus formatus. Jis serijalizuoja DICO duomenų rinkinius į JSON ir XML formatus, leidžiančius integruotis su žiniatinklio paslaugomis, REST API ir šiuolaikinėmis sveikatos priežiūros sistemomis.

Įdiegimas ir nustatymas

  • Įdiegti NuGet paketą Aspose.Medical (Nukreipta iš puslapio Pagrindinis konvertavimas)
  • Taikykite matuotą licenciją „Startup“, kad išvengtumėte vertinimo ribų: žiūrėkite Išmatuota licencija .
  • Patikrinkite pagrindinius reikalavimus Įdiegimo vadovas .

palaikomos platformos

  • Windows“, „Linux“ ir „MacOS
  • Rėmuo: .NET 8.0 +
  • ** Architektūros: * x64, ARM64 (macOS)

Greitas pradžia

1) DICOM į JSON

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

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

2) DICOM į JSON su 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 į 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) Daug DICOM failų į 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) Serializuoti į srovę (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) Išsaugoti kaip JSON failą

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 deserializavimas

Deserializuoti JSON String į duomenų rinkinį

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

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

Deserializuoti JSON Stream į duomenų rinkinį

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

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

Deserializuoti JSON į DicomFile

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

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

Deserializuokite JSON Array į daugybę duomenų rinkinių

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

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

XML serializavimas

DICOM į XML

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

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

XML į DICOM Dataset

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

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

Async apšvietimas

Dėl asinkroninių operacijų interneto programose ir paslaugose:

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

** Galimi Async metodai:**

  • DeserializeAsync - Deserializuoti UTF-8 JSON srautą į Dataset
  • DeserializeFileAsync - Deserializuoti UTF-8 JSON srautą į DicomFile
  • DeserializeListAsync - Deserializuoti UTF-8 JSON srautą į Dataset arriją
  • SerializeAsync - Serializuoti Dataset, DicomFile, arba DataSet ryšį į UTF-8 JSON srautą

Savybės ir funkcionalumas

DICOM interneto paslaugų atitikimas

Konverteris laikosi DICOM PS3.18 (Web Services) standarto, užtikrinant suderinamumą su:

  • Kiti DICOM tinklalapiai
  • Cloud-based PACS sistemos
  • Šiuolaikinės sveikatos priežiūros sąveikumo platformos
  • FHIR suderinamos sistemos

Serializavimo galimybės

Serializacijos elgesys su 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);
OptionDescription
UseKeywordsAsJsonKeysNaudokite DICOM raktinius žodžius vietoj žymenų kaip JSON raktus (ne standartiniai)
WriteKeywordParašykite DICOM žymės raktinius žodžius kaip atskirą JSON atributą
WriteNameParašykite DICOM ženklinimo pavadinimą kaip atskirą JSON atributą
NumberHandlingSkaičiuojami skaičiai kaip AsNumber arba AsString
BulkDataLoaderBlob duomenų įkroviklis, nurodytas BulkData elementuose
BulkDataConverterKonvertuotojas rašyti duomenis kaip BulkData nuorodas

System.Text.Json integravimas

Naudokite konvertuotojus su standartine .NET JSON serializavimu:

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

Palaikomi tipai

Įvesties tipasIšleidimo formatas
DicomFileJSON ir XML
DatasetJSON ir XML
Dataset[]JSON ir XML

Duomenų saugojimas

Serializavimas tiksliai išsaugo:

  • Visi DICOM ženklai ir vertybės
  • Vertės atvaizda (VR)
  • Nustatytas sekas
  • Privatūs žymės
  • Bulk duomenų referencijos
  • Specialios plovimo vertės (NaN, Infinity)

Dažniausiai naudojami atvejai

  • Web žiūrovai: „DICOM“ metaduomenis teikia naršyklės medicinos vaizdo žiūrėjams.
  • REST API: Sukurkite sveikatos priežiūros API, kurios keičia DICOM duomenis JSON formatu.
  • Data Analytics: Eksportuoti DICOM metaduomenis analizei duomenų tvarkymo vamzdžiuose.
  • Integracija: Prisijunkite prie paveldėjimo PACS su šiuolaikinėmis debesijos sveikatos priežiūros platformomis.
  • Debugging: sukurkite žmogiškai skaitomą DICOM duomenų atstovavimą problemų sprendimui.
  • Archiving: DICOM metadata saugoma dokumentų duomenų bazėse, tokiose kaip MongoDB arba Elasticsearch.

Geriausios praktikos

  • License first: Prieš bet kokį konvertavimą pradėkite matuojamą licenciją, kad išvengtumėte vertinimo apribojimų.
  • Use streams: Dideliems failams ar žiniatinklio paslaugoms naudokite srauto pagrįstus metodus atminties efektyvumui.
  • Async operacijos: Naudokite asynco metodus žiniatinklio programose, kad išvengtumėte blokuojančių juostų.
  • Validuokite apvalius maršrutus: bandymų serializavimo / deserializavimo ciklai, kad būtų užtikrintas duomenų vientisumas.
  • Standartinės atitikties: Naudokite numatytus variantus DICOM PS3.18 Atitikčiai; ne standartinės galimybės gali sutrikdyti trečiųjų šalių parsers.
  • UTF-8 kodavimas: srauto metodai naudoja UTF-8, idealiai tinklas API ir failų operacijas.

Operacijos santrauka

OperationInputOutputMethod
SerializeDatasetStringas / StreamSerialize
SerializeDicomFileStringas / StreamSerialize
SerializeDuomenų rinkimas[redaguoti redaguoti vikitekstą]Stringas / StreamSerialize
DeserializeStringas / StreamDatasetDeserialize
DeserializeStringas / StreamDicomFileDeserializeFile
DeserializeStringas / StreamDuomenų rinkimas[redaguoti redaguoti vikitekstą]DeserializeList

FAQ

** Ar tai reikalauja trečiųjų šalių bibliotekų?**Ne. Tai atskiras API, kuris naudoja tik .NET integruotą JSON/XML palaikymą.

** Ar JSON išleidimas atitinka DICOM Web Services?**Pavyzdžiui, numatytas išleidimas atitinka DICOM PS3.18 specifikacijas.

** Ar galiu pritaikyti JSON raktų formatą?**Naudojimas DicomJsonSerializerOptions valdyti žymes vs. raktinių žodžių raktus ir papildomus atributus.

  • Ar išsaugoti sklypai? *Taip. serializatorius palaiko visą DICOM struktūrą, įskaitant nardytas sekas.

**Kaip tvarkyti didelius DICOM failus?**Naudojant metodus, pagrįstus srauto (Serialize(stream, ...) ir DeserializeAsyncAtminties efektyvaus apdorojimo.

** Ar „Round-Trip“ konvertavimas yra be nuostolių?**Serializavimas išsaugo visus DICOM duomenis tiksliam deserializavimui atgal į Dataset arba DicomFile objektus.

 Lietuvių