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-baDeserializeFileAsync- Deserializálja az UTF-8 JSON áramlását a DicomFile-reDeserializeListAsync- Deserializálja az UTF-8 JSON áramlását a Dataset sorozatraSerializeAsync- 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);| Option | leírása |
|---|---|
UseKeywordsAsJsonKeys | Haszná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 |
NumberHandling | A számokat úgy kezeljük AsNumber vagy AsString |
BulkDataLoader | A BulkData elemekben hivatkozott blob adatok feltöltése |
BulkDataConverter | Az 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ípus | kimeneti formátumok |
|---|---|
DicomFile | JSON és XML |
Dataset | JSON é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ó
| Operation | Input | kimenetel | Method |
|---|---|---|---|
| Serialize | Dataset | String / Áramlás | Serialize |
| Serialize | DicomFile | String / Áramlás | Serialize |
| Serialize | Az adatok[szerkesztés] | String / Áramlás | Serialize |
| Deserialize | String / Áramlás | Dataset | Deserialize |
| Deserialize | String / Áramlás | DicomFile | DeserializeFile |
| Deserialize | String / Áramlás | Az 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.