Az ASPOSE.MEDICAL DICOM a .NET szövegfordítóhoz

Aspose.Medical DICOM to Text Converter for .NET egy erőteljes API, amelynek középpontjában az dicom adatok átalakítása emberi olvasható és gépi használható formátumokba. serializálja a DICom adatkészülékeket JSON és XML formatumokra, lehetővé téve a webszolgáltatásokkal, a REST API-kkal és a modern egészségügyi rendszerekkel való integrációt.

Telepítés és telepítés

  • Telepítse a NuGet csomagot Aspose.Medical (Az átalakítási erőforrás alapú API)
  • Jelentkezzen mérsékelt licencre a startupnál, hogy elkerüljék az értékelési korlátokat: lásd Mérett licenc .
  • A keretrendszer követelményeinek áttekintése a Telepítési útmutató .

támogatott platformok

  • Windows, Linux és macOS
  • Keretrendszerek: .NET 8.0+
  • Építészeti adatok: x64, ARM64 (macOS)

Gyors indulás

1. A JSON

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

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

2) DICOM a JSON-hoz 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);

DICOM Dataset a JSON-hoz

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) Több DICOM fájl 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. Serialization to Stream (A memória hatékony)

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) A JSON fájl mentése

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áció

Deserializálja a JSON String-t a Dataset-ra

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

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

Deserializálja a JSON Stream-t a Dataset-ra

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

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

Deserializ JSON a DicomFile

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

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

Deserializálja a JSON Array-t több adatkészülékre

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

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

XML szerializáció

DICOM és XML

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

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

XML a DICOM adatkészlethez

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

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

Async tűz

Az aszinkron műveletekhez a webes alkalmazások és szolgáltatások területén:

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

** A rendelkezésre álló Async módszerek:**

  • DeserializeAsync - Deserializálja az UTF-8 JSON áramlását a Dataset-ba
  • DeserializeFileAsync - Deserializálja az UTF-8 JSON áramlását a DicomFile-re
  • DeserializeListAsync - Deserializálja az UTF-8 JSON áramlását a Dataset sorozatra
  • SerializeAsync - Serializálja a Dataset, a DicomFile vagy a DataSet array-t az UTF-8 JSON áramláshoz

Jellemzők és funkcionalitás

DICOM Web Szolgáltatások megfelelősége

Az átalakító megfelel a DICOM PS3.18 (Web Szolgáltatások) szabványnak, amely biztosítja a kompatibilitást a következőkkel:

  • RESTFUL DICOM web API-k
  • felhőalapú PACS rendszerek
  • Modern egészségügyi interoperabilitási platformok
  • FHIR-kompatibilis rendszerek

Serializációs lehetőségek

A szerializációs magatartás alkalmazása 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);
Optionleírása
UseKeywordsAsJsonKeysHasználja a DICOM kulcsszavakat a json kulcsok helyett (nem szabványos)
WriteKeywordÍrja meg a DICOM tag kulcsszavát, mint egy külön JSON attribútumot
WriteNameÍrja meg a DICOM tag nevét külön JSON attribútumként
NumberHandlingA számokat úgy kezeljük AsNumber vagy AsString
BulkDataLoaderA BulkData elemekben hivatkozott blob adatok feltöltése
BulkDataConverterAz adatok írása BulkData referenciaként

System.Text.Json integráció

Használja a konvertereket a .NET JSON szérializációval:

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

Támogatott típus

Bevezetési típuskimeneti formátumok
DicomFileJSON és XML
DatasetJSON és XML
Dataset[]JSON és XML

adatmegőrzés

A serializáció pontosan megőrzi:

  • Minden DICOM címkék és értékek
  • Értékek képviselete (VR)
  • Eltűnt szekciók
  • Személyes tags
  • tömeges adat referenciák
  • Különleges hajóértékek (NaN, Infinity)

Általános használati esetek

  • Web nézők: Szerezze a DICOM metadatait a böngészőalapú orvostudományi képre nézőknek.
  • REST APIs: Építsen egészségügyi API-kat, amelyek a DICOM-adatokat JSON formátumban cserélik.
  • Data Analytics: DICOM metaadatokat exportál az elemzéshez az adatfeldolgozó csővezetékekben.
  • Integráció: Csatlakozzon az örökség PACS-hez a modern felhőalapú egészségügyi platformokhoz.
  • Debugging: A problémamegoldás céljából a DICOM adatai emberi olvasható reprezentációit hozzon létre.
  • Archiving: A DICOM metadatainak tárolása dokumentumadatbázisokban, mint például a MongoDB vagy az Elasticsearch.

Legjobb gyakorlatok

  • License first: Az értékelési korlátozások elkerülése érdekében minden átalakítás előtt kezdeményezze a mérhető engedélyezést.
  • Use streams: Nagy fájlok vagy webes szolgáltatások esetén használjon áramalapú módszereket a memória hatékonyságához.
  • Async műveletek: A webalkalmazásokban az asynk módszereket használjuk, hogy elkerüljük a szalagok blokkolását.
  • Validált kerek útvonalak: teszt serializáció/deserializációs ciklusok az adatok integritásának biztosítása érdekében.
  • Standard compliance: Használja a DICOM PS3.18 megfelelőségre vonatkozó alapértelmezett lehetőségeket; a nem szabványos lehetőségek megszakíthatják a harmadik fél részesedését.
  • UTF-8 kódolás: A Stream módszerek UTF-9 kódolást használnak, ideális webes API-k és fájlműveletekhez.

Operációs összefoglaló

OperationInputkimenetelMethod
SerializeDatasetString / ÁramlásSerialize
SerializeDicomFileString / ÁramlásSerialize
SerializeAz adatok[szerkesztés]String / ÁramlásSerialize
DeserializeString / ÁramlásDatasetDeserialize
DeserializeString / ÁramlásDicomFileDeserializeFile
DeserializeString / ÁramlásAz adatok[szerkesztés]DeserializeList

FAQ

  • Szükség van-e harmadik fél könyvtáraire? *Nem. Ez egy önálló API, amely csak .NET beépített JSON/XML támogatást használ.

**A JSON kimenete megfelel a DICOM Web Services szolgáltatásoknak?**Az alapértelmezett kimenetel a DICOM PS3.18 specifikációit követi.

**A JSON kulcsformátumot személyre szabhatom?**Igen, használja DicomJsonSerializerOptions Ellenőrizze a címke vs. kulcsszavak és további attribútumok.

  • Megmaradtak-e a szűk keresztmetszetek? *Igen. A serializátor fenntartja a teljes DICOM szerkezetét, beleértve a nemes szekciókat.

**Hogyan kezelhetem a nagy DICOM fájlokat?**Részletesebben Rendelkezési módszerek (Serialize(stream, ...) és DeserializeAsynca memória hatékony feldolgozásához.

** A körforgásos átalakítás veszteségmentes?**Igen. A serializáció megőrzi az összes DICOM adatot a pontos deserializálás érdekében vissza a Dataset vagy a DicomFile objektumokhoz.

 Magyar