Aspose.Medical DICOM uz teksta konvertētāju .NET

Aspose.Medical DICOM to Text Converter for .NET ir spēcīgs API, kas koncentrējas uz konvertējot DIKOM datus cilvēka lasāmos un mašīnspārdējamos formātos. Tas seralizē DIM datasetus JSON un XML formātā, ļaujot integrēties ar tīmekļa pakalpojumiem, REST API un mūsdienu veselības aprūpes sistēmām.

Instalācija un uzstādīšana

  • Instalēt NuGet paketi Aspose.Medical (Core API stiprina konversiju).
  • Pielietojiet mērītu licencēšanu start-up, lai izvairītos no novērtēšanas ierobežojumiem: skatīt Mērtēta licencēšana .
  • Pārskats par pamatprasībām Instalācijas ceļvedis .

Atbalstītas platformas

  • Operētājsistēma: Windows, Linux, MacOS
  • Sīkāka informācija: .NET 8.0+
  • Arhitektūras: x64, ARM64 (macOS)

Ātrs sākums

1) DIKOM uz JSON

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

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

2) DICOM uz JSON ar 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 uz 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) Daudzi DICOM faili JSON arēnā

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ēt uz plūsmu (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) Saglabāt kā JSON failu

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 deserializācija

Deserializēt JSON String uz Dataset

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

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

Deserializēt JSON Stream uz Dataset

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

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

Deserializēt JSON uz DicomFile

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

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

Deserializēt JSON Array uz vairākiem datu komplektiem

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

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

XML serializācija

DICOM līdz XML

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

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

XML uz DICOM Dataset

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

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

Async ugunsgrēks

Attiecībā uz asinkronu darbībām tīmekļa lietojumprogrammās un pakalpojumos:

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

** Pieejamas Async metodes:**

  • DeserializeAsync - Deserializēt UTF-8 JSON plūsmu uz Dataset
  • DeserializeFileAsync - Deserializēt UTF-8 JSON plūsmu uz DicomFile
  • DeserializeListAsync - Deserializēt UTF-8 JSON plūsmu uz Dataset array
  • SerializeAsync - Serializējiet Dataset, DicomFile vai dataset array uz UTF-8 JSON plūsmu

Iezīmes un funkcionalitāte

DICOM tīmekļa pakalpojumu atbilstība

Konverteris atbilst DICOM PS3.18 (Web Services) standartiem, nodrošinot saderību ar:

  • Pārējie DICOM tīmekļa API
  • Cloud-based PACS sistēmas
  • Mūsdienu veselības aprūpes sadarbspējas platformas
  • FHIR saderīgas sistēmas

Serializācijas iespējas

Serijalizācijas uzvedība ar 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
UseKeywordsAsJsonKeysIzmantojiet DICOM atslēgvārdus, nevis etiķetes kā JSON atmiņas (nestandarta)
WriteKeywordRakstīt DICOM etiķetes atslēgvārdu kā atšķirīgu JSON atribūtu
WriteNameRakstīt DICOM etiķetes nosaukumu kā atšķirīgu JSON atribūtu
NumberHandlingDarbojas ar numuriem kā AsNumber vai AsString
BulkDataLoaderBlob datu lādētājs, kas minēts BulkData elementos
BulkDataConverterKonvertētājs, lai rakstītu datus kā BulkData atsauces

System.Text.Json integrācija

Izmantojiet konvertorus ar standarta .NET JSON serializāciju:

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

Atbalstītie veidi

ieejas veidsIzplūdes formāts
DicomFileJSON un XML
DatasetJSON un XML
Dataset[]JSON un XML

Datu saglabāšana

Serializācija precīzi saglabā:

  • Visi DICOM tags un vērtības
  • Vērtības prezentācijas (VR)
  • Sekojošas sekas
  • Privātmājas tags
  • Daudzveidīgas datu references
  • Īpašas flotes vērtības (NaN, Infinity)

Parastās lietojumprogrammas

  • Web skatītāji: Pakalpojumi DICOM metadatiem pārlūkprogrammas medicīnisko attēlu skatītājam.
  • REST API: Izveidojiet veselības aprūpes API, kas apmainās ar DICOM datiem JSON formātā.
  • Data Analytics: DICOM metadatu eksportēšana analīzei datu apstrādes caurulēs.
  • Integrācija: savienojiet PACS mantojumu ar mūsdienu mākoņa veselības aprūpes platformām.
  • Debugging: radīt cilvēka lasāmās DICOM datu reprezentācijas problēmu risināšanai.
  • Arhīvs: DICOM metadati tiek glabāti dokumentu datu bāzēs, piemēram, MongoDB vai Elasticsearch.

Labākās prakses

  • Licence first: Pirms jebkādas konversijas sākotnēji novērtēto licencēšanu, lai izvairītos no novērtēšanas ierobežojumiem.
  • Izmantojot plūsmas: Lieliem failiem vai tīmekļa pakalpojumiem atmiņas efektivitātes metožu izmantošana.
  • Async operācijas: tīmekļa lietojumprogrammās izmanto asinc metodes, lai izvairītos no bloka.
  • Validēt apkārtējos ceļojumus: testa serializācijas/deserializēšanas ciklus, lai nodrošinātu datu integritāti.
  • Standarta atbilstība: DICOM PS3.18 izpildei izmanto parastās iespējas; neparastas iespējas var izkropļot trešo pušu partnerus.
  • UTF-8 kodēšana: Stream metodes izmanto UTF-8, ideāli piemērots tīmekļa API un failu operācijām.

Operācijas kopsavilkums

OperationInputOutputMethod
SerializeDatasetStrīds / StreamSerialize
SerializeDicomFileStrīds / StreamSerialize
SerializeDatu saraksts [ ]Strīds / StreamSerialize
DeserializeStrīds / StreamDatasetDeserialize
DeserializeStrīds / StreamDicomFileDeserializeFile
DeserializeStrīds / StreamDatu saraksts [ ]DeserializeList

FAQ

** Vai tas prasa trešo pušu bibliotēkas?**Tas ir atsevišķs API, kas izmanto tikai .NET iebūvēto JSON/XML atbalstu.

** Vai JSON produkts atbilst DICOM Web Services?**Jā, pamata iznākums atbilst DICOM PS3.18 specifikācijām.

** Vai es varu pielāgot JSON atslēgas formātu?**Jā, izmantojiet DicomJsonSerializerOptions kontrolēt etiķetes vs. atslēgvārdu un papildu atribūtus.

  • Vai ir saglabātas šūnu sekas? *Jā. serializators uztur pilnīgu DICOM struktūru, ieskaitot nestās sekas.

** Kā es varu pārvaldīt lielas DICOM failus?**Izmantojiet metodi, kas balstās uz plūsmu (Serialize(stream, ...) un DeserializeAsyncAtmiņas efektīvai apstrādei.

** Vai apkārtējie ceļojumi ir bez zaudējumiem?**Jā. Serializācija glabā visus DICOM datus precīzamai deserializācijai atpakaļ Dataset vai DicomFile objektiem.

 Latviski