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 DatasetDeserializeFileAsync- Deserializirajte UTF-8 JSON tok na DicomFileDeserializeListAsync- Deserializirajte UTF-8 JSON tok na Dataset arraySerializeAsync- 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);| Option | Opis |
|---|---|
UseKeywordsAsJsonKeys | Koristite ključne riječi DICOM umjesto oznaka kao JSON ključeve (ne-standard) |
WriteKeyword | Napišite DICOM tag ključne riječi kao poseban JSON atribut |
WriteName | Napišite ime oznake DICOM kao poseban JSON atribut |
NumberHandling | Razgovarajte s brojkama kao AsNumber ili AsString |
BulkDataLoader | Loader za blob podatke upućene u elementima BulkData |
BulkDataConverter | Konverter 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 ulaza | Izlazni formati |
|---|---|
DicomFile | JSON i XML |
Dataset | JSON 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
| Operation | Input | Izlazak | Method |
|---|---|---|---|
| Serialize | Dataset | String / struja | Serialize |
| Serialize | DicomFile | String / struja | Serialize |
| Serialize | Sastav podataka[uredi VE] | String / struja | Serialize |
| Deserialize | String / struja | Dataset | Deserialize |
| Deserialize | String / struja | DicomFile | DeserializeFile |
| Deserialize | String / struja | Sastav 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.