Aspose.Medical DICOM na tekst konverter za .NET

Aspose.Medical DICOM to Text Converter za .NET je moćna API usmjerena na konvertiranje podataka DICO-a u ljudsko čitljive i strojno raspršljive formate. Serializira DicO datasete u JSON i XML formatima, omogućavajući integraciju s web uslugama, REST API-ima i modernim zdravstvenim sustavima.

Instaliranje i postavljanje

  • Instaliranje paketa NuGet Aspose.Medical (Potrebno je napraviti konverziju u API)
  • Zatražite mjerenu licenciju na startup-u kako biste izbjegli granice ocjenjivanja: pogledajte Mjerena dozvola .
  • Pregled okvirnih zahtjeva u Priručnik za instalaciju .

Podržana platforma

  • Operacijski sustav: Windows, Linux, MacOS
  • Obilježavanje: .NET 8.0+
  • ** Arhitektura:** x64, ARM64 (macOS)

Brzo početak

Sljedeći članakDikom na JSON

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 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 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) Mnogobrojni DICOM datoteke 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) Serializirati na struju (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) Sačuvajte kao JSON datoteka

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

Deserializiranje JSON

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

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

Deserializirajte JSON na DicomFile

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

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

Deserializirajte JSON Array na više zbirki podataka

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

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

XML serijacija

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 za DICOM Dataset

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

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

Async vatra

Za asinkronne operacije u web aplikacijama i uslugama:

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

** Dostupne metode Async:**

  • DeserializeAsync - Deserializirajte UTF-8 JSON tok na Dataset
  • DeserializeFileAsync - Deserializirajte UTF-8 JSON tok na DicomFile
  • DeserializeListAsync - Deserializirajte UTF-8 JSON tok na Dataset array
  • SerializeAsync - Serializirajte Dataset, DicomFile ili dataset array na UTF-8 JSON tok

Značajke i funkcionalnost

DICOM web usluga usklađenost

Konverter se pridržava DICOM PS3.18 (Web Services) standarda, osiguravajući kompatibilnost s:

  • Preostali DICOM web API
  • Oblačni PACS sustavi
  • Suvremene platforme interoperabilnosti zdravstvene skrbi
  • FHIR-kompatibilni sustavi

Serializirane opcije

Korištenje serializiranog ponašanja 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);
OptionOpis
UseKeywordsAsJsonKeysKoristite ključne riječi DICOM umjesto oznaka kao JSON ključeve (ne-standard)
WriteKeywordNapišite DICOM tag ključne riječi kao poseban JSON atribut
WriteNameNapišite ime oznake DICOM kao poseban JSON atribut
NumberHandlingRazgovarajte s brojkama kao AsNumber ili AsString
BulkDataLoaderLoader za blob podatke upućene u elementima BulkData
BulkDataConverterKonverter za pisanje podataka kao referencije BulkData

System.Text.Json integracija

Koristite konvertere s standardnom serijalizacijom .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);

Podržani tipovi

Vrsta ulazaIzlazni formati
DicomFileJSON i XML
DatasetJSON i XML
Dataset[]JSON i XML

Očuvanje podataka

Serializiranje točno čuva:

  • Svi DICOM oznake i vrijednosti
  • Vrijednost predstavljanja (VR)
  • Nested sekvencije
  • privatni tagovi
  • Brojne referencije podataka
  • Posebne vrijednosti plovidbe (NaN, Infinity)

Uobičajeni slučajevi korištenja

  • Web gledatelji: Poslužite metapodatke DICOM-a preglednicima medicinskih slika na temelju pretraživača.
  • REST API: Izgradite zdravstvene API koji razmjenjuju podatke DICOM-a u JSON formatu.
  • Data Analytics: Izvoz DICOM metapodataka za analizu u cijevi za obradu podataka.
  • Integracija: Povezivanje PACS-a s modernim platformama za zdravstveno osiguranje u oblaku.
  • Debugging: Stvaranje ljudsko čitljivih prezentacija podataka DICOM-a za rješavanje problema.
  • Arhiviranje: Sačuvajte metapodatke DICOM-a u bazama podataka dokumenata kao što su MongoDB ili Elasticsearch.

Najbolje prakse

  • License first: Inicijalizirajte mjerenu licenciju prije bilo kakve konverzije kako biste izbjegli ograničenja ocjenjivanja.
  • Korištenje tokova: Za velike datoteke ili web usluge, koristite metode koje se temelje na tokovima za učinkovitost pamćenja.
  • Async operacije: Koristite metode asynca u web aplikacijama kako biste izbjegli blokiranje trake.
  • Validacija okruglih putova: test serializiranja/deserializiranog ciklusa kako bi se osigurala integritet podataka.
  • Standardna usklađenost: Koristite podrazumevane opcije za DICOM PS3.18 u skladu; ne-standardna opcija može razbiti treće strane.
  • UTF-8 kodiranje: Metode prijenosa koriste UTF-8, idealno za web APIs i operacije datoteke.

Operativni sažetak

OperationInputIzlazakMethod
SerializeDatasetString / strujaSerialize
SerializeDicomFileString / strujaSerialize
SerializeSastav podataka[uredi VE]String / strujaSerialize
DeserializeString / strujaDatasetDeserialize
DeserializeString / strujaDicomFileDeserializeFile
DeserializeString / strujaSastav podataka[uredi VE]DeserializeList

FAQ

Trebaju li to knjižnice trećih strana?**To je jedinstvena API koja koristi samo .NET ugrađenu JSON/XML podršku.

** Je li JSON izlazak DICOM Web Services u skladu?**Podrazumevani ishod slijedi specifikacije DICOM PS3.18.

Mogu li prilagoditi JSON format ključa?**Da, koristi se DicomJsonSerializerOptions za kontrolu tag vs. ključne riječi i dodatnih atributa.

*Jeste li sačuvane nestane sekvencije?**Serializator održava punu strukturu DICOM-a, uključujući i nestane sekvencije.

**Kako upravljati velikim DICOM datotekama?**Koristite metode koje se temelje na struji (Serialize(stream, ...) i DeserializeAsyncza učinkovitu obradu pamćenja.

** Je li konversijsko putovanje bez gubitaka?**Serializiranje čuva sve podatke DICOM-a za točnu deserifikaciju nazad na Dataset ili DicomFile objekte.

 Hrvatski