Aspose.Medical DICOM tekstimuunnin .NET

Aspose.Medical DICOM to Text Converter for .NET on tehokas API, joka keskittyy konvertoimaan DIKOM-tietoja ihmiselle luettavissa ja koneellisesti käytettävissä muodoissa. Se serialisoi DICO: n tietokoneet JSON- ja XML-muodoihin, mikä mahdollistaa integroinnin web-palvelujen, REST-API:ien ja nykyaikaisten terveydenhuollon järjestelmien kanssa.

Asennus ja asennus

  • Käytä NuGet-pakettia Aspose.Medical (Ydinen API vahvistaa muunnosta)
  • Soveltaa mitattuja lisenssejä startupissa arviointirajojen välttämiseksi: katso mitattu lisenssi .
  • Tarkastellaan puitevaatimuksia Asennusopas .

Tuetut alustat

  • Käyttöjärjestelmä: Windows, Linux ja macOS
  • Ohjelmakohta: .NET 8.0+
    • Arkkitehdit: x64 ja ARM64 (macOS)

Nopea aloitus

1. Tutustu JSONiin

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

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

2) DICOM to JSON ja 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 JSONille

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) Useita DICOM tiedostoja 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) Serioitu virtaukseen (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) Tallenna JSON-tiedostoina

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 Deserialismi

Deserialisoi JSON String Datasetille

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

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

Deserialisoi JSON Stream Datasetille

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

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

Deserialisoi JSON DicomFile

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

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

Deserialisoi JSON Array useisiin tietokoneisiin

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

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

XML sarjakuvaus

DICOM ja XML

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

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

XML ja DICOM Dataset

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

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

Asyntinen API

Web-sovellusten ja palvelujen synkronoimien toimien osalta:

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

** Käytettävissä Async-menetelmät:**

  • DeserializeAsync - Deserialisoi UTF-8 JSON virta Datasetille
  • DeserializeFileAsync - Deserialisoi UTF-8 JSON virtaa DicomFile
  • DeserializeListAsync - Deserialisoi UTF-8 JSON-virta Dataset-järjestelmään
  • SerializeAsync - Serioi Dataset, DicomFile tai dataset array UTF-8 JSON-virtaan

Ominaisuudet ja toiminnallisuus

DICOM Web Services -palvelun vaatimustenmukaisuus

Muuntaja noudattaa DICOM PS3.18 (Web Services) -standardia, joka takaa yhteensopivuuden seuraavien kanssa:

  • Jäljelle jäänyt DICOM Web APIs
  • pilvipohjaiset PACS-järjestelmät
  • Nykyiset terveydenhuollon yhteentoimivuusalustat
  • FHIR-yhteensopivat järjestelmät

Seriointivaihtoehdot

Serialisaation käyttäytymisen mukauttaminen 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);
Optionkuvaus
UseKeywordsAsJsonKeysKäytä DICOM- avainsanoja merkintöjen sijasta JSON-tunnuksina (ei-standardi)
WriteKeywordKirjoita DICOM-merkintä avainsana erillisenä JSON-ominaisuutena
WriteNameKirjoita DICOM-merkinnän nimi erillisenä JSON-ominaisuutena
NumberHandlingKäytä numeroita niin kuin AsNumber tai AsString
BulkDataLoaderBulkData-elementteissä mainittujen blob-tietojen lataaja
BulkDataConverterSuunnittelija kirjoittaa tietoja BulkData viittauksina

Järjestelmä.Text.Json Integraatio

Käytä standardin .NET JSON -serioinnin kanssa muuntimia:

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

Tuetut tyypit

Sisäänkäynti tyyppiLähtömuodot
DicomFileJSON ja XML
DatasetJSON ja XML
Dataset[]JSON ja XML

Tietojen säilyttäminen

Serialisaatio säilyttää tarkasti:

  • Kaikki DICOM-merkinnät ja arvot
  • Arvon esitykset (VR)
  • Sekoituneet sekvenssit
  • Yksityiset tags
  • Bulk data viittaukset
  • Erityiset aluksen arvot (NaN, Infinity)

Yleisiä käyttötapoja

  • Web Viewers: Tarjoa DICOM-metatietoja selaimelle perustuville lääketieteellisille kuvan katsojille.
  • REST API: Rakenna terveydenhuollon API, joka vaihtaa DICOM-tietoja JSON-muodossa.
  • Data Analytics: DICOM-metatietoja analysoidaan tietojenkäsittelyn putkeissa.
  • Integration: Liitä perinnöllinen PACS nykyaikaisiin pilvipohjaisiin terveydenhuollon alustoihin.
  • Debugging: Luo DICOM-tietojen ihmisen luettavissa olevat esitykset ongelmanratkaisuun.
  • ** Arkistointi**: Tallenna DICOM-metatietoja asiakirjan tietokannoissa, kuten MongoDB tai Elasticsearch.

Parhaat käytännöt

  • License first: Aloita mitattu lisenssi ennen muuntamista, jotta voidaan välttää arviointirajoituksia.
  • Use Streams: Suurille tiedostoille tai verkkopalveluille käytä virta-pohjaisia menetelmiä muistin tehokkuuden varmistamiseksi.
  • Async-toiminnot: Käytä asyncin menetelmiä web-sovelluksissa estääkseen langat.
  • Validate round-trips: Test serialisointi/deserialisointiskierrokset tietojen eheyden varmistamiseksi.
  • Standard compliance: Käytä oletusarvoisia vaihtoehtoja DICOM PS3.18:n vaatimustenmukaisuuden kannalta; ei-standardin vaihtoehdot voivat rikkoa kolmansien osapuolten kumppaneita.
  • UTF-8 koodaus: Stream-menetelmät käyttävät UTF8-koodausta, joka on ihanteellinen verkkopalveluille ja tiedostojen toiminnalle.

Toiminnan yhteenveto

OperationInputLähtöMethod
SerializeDatasetString ja StreamSerialize
SerializeDicomFileString ja StreamSerialize
SerializeTietokoneet [ ]String ja StreamSerialize
DeserializeString ja StreamDatasetDeserialize
DeserializeString ja StreamDicomFileDeserializeFile
DeserializeString ja StreamTietokoneet [ ]DeserializeList

FAQ

** Tarvitaanko se kolmansien osapuolten kirjastoja?**Se on erillinen API, joka käyttää vain .NETin sisäänrakennettua JSON/XML-tukea.

**Onko JSON-tuote DICOM Web Servicesin mukainen?**Oletusarvoinen tulos noudattaa DICOM PS3.18:n eritelmiä.

** Voinko räätälöidä JSON-avainmuotoa?**Kyllä - Käytä DicomJsonSerializerOptions hallita merkkejä vs. avainsanoja ja lisäominaisuuksia.

*Ovatko säilyneet jäljennökset säilytettyjä? *Serialisaattori ylläpitää täydellistä DICOM-rakennetta, mukaan lukien nestetut sekvenssit.

** Miten käsitellä suuria DICOM-tiedostoja?**Käyttämällä virta-pohjaisia menetelmiä (Serialize(stream, ...) ja DeserializeAsync• Muistin tehokasta käsittelyä varten.

** Onko kierroksinen kierros muuntaminen tappiota?**Kyllä. Seriointi säilyttää kaikki DICOM-tiedot tarkkaan deserialisoitumiseksi takaisin Datasetille tai DicomFile-objekteille.

 Suomi