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 DatasetDeserializeFileAsync- Deserializēt UTF-8 JSON plūsmu uz DicomFileDeserializeListAsync- Deserializēt UTF-8 JSON plūsmu uz Dataset arraySerializeAsync- 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);| Option | Description |
|---|---|
UseKeywordsAsJsonKeys | Izmantojiet DICOM atslēgvārdus, nevis etiķetes kā JSON atmiņas (nestandarta) |
WriteKeyword | Rakstīt DICOM etiķetes atslēgvārdu kā atšķirīgu JSON atribūtu |
WriteName | Rakstīt DICOM etiķetes nosaukumu kā atšķirīgu JSON atribūtu |
NumberHandling | Darbojas ar numuriem kā AsNumber vai AsString |
BulkDataLoader | Blob datu lādētājs, kas minēts BulkData elementos |
BulkDataConverter | Konvertē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 veids | Izplūdes formāts |
|---|---|
DicomFile | JSON un XML |
Dataset | JSON 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
| Operation | Input | Output | Method |
|---|---|---|---|
| Serialize | Dataset | Strīds / Stream | Serialize |
| Serialize | DicomFile | Strīds / Stream | Serialize |
| Serialize | Datu saraksts [ ] | Strīds / Stream | Serialize |
| Deserialize | Strīds / Stream | Dataset | Deserialize |
| Deserialize | Strīds / Stream | DicomFile | DeserializeFile |
| Deserialize | Strīds / Stream | Datu 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.