Aspose.Medical DICOM ke Text Converter untuk .NET

Aspose.Medical DICOM to Text Converter untuk .NET adalah API yang kuat yang berfokus pada mengkonversi data DICUM ke format yang dapat dibaca oleh manusia dan dapat dihapus oleh mesin.Ia serialisasikan data set DIKOM menjadi format JSON dan XML, memungkinkan integrasi dengan layanan web, APIs REST, dan sistem perawatan kesehatan modern.Dibangun untuk interoperabilitas, ia menyediakan serialisasi yang mematuhi standar sesuai dengan spesifikasi Perkh Web DISOM (PS3.18)

Instalasi dan Setup

  • Menginstal paket NuGet Aspose.Medical (Baca juga: API Power Conversion)
  • Memohon lisensi terukur di startup untuk menghindari batas evaluasi: lihat Lisensi Terukur .
  • Memeriksa persyaratan kerangka kerja dalam Panduan Instalasi .

Platform yang didukung

  • Sistem operasi: Windows, Linux, MacOS
  • Bingkai : .NET 8.0+
  • Arsitektur: x64 dan ARM64 (macOS)

Mulai Cepat

1) Berkomunikasi dengan JSON

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

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

2) DICOM ke JSON dengan 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 untuk 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) Multiple DICOM file ke 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) Serialisasi untuk Stream (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) Simpan sebagai file JSON

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

Pengembangan Deserialisasi JSON

Deserialisasi JSON String ke Dataset

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

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

Deserialisasi JSON Stream ke Dataset

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

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

Deserialisasi JSON ke DicomFile

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

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

Deserialisasi JSON Array ke Multi Dataset

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

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

XML serialisasi

DICOM ke XML

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

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

XML untuk DICOM Dataset

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

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

Async api

Untuk operasi asinkron dalam aplikasi dan layanan web:

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

Metode Async yang tersedia:

  • DeserializeAsync - Deserialisasi UTF-8 JSON aliran ke Dataset
  • DeserializeFileAsync - Deserialisasi UTF-8 JSON aliran ke DicomFile
  • DeserializeListAsync - Deserialize UTF-8 JSON stream ke Dataset array
  • SerializeAsync - Serialisasikan Dataset, DicomFile, atau Dataaset array ke UTF-8 JSON stream

Fitur dan Fungsi

Komplikasi Layanan Web DICOM

Converter mematuhi DICOM PS3.18 (Web Services) standar, memastikan kompatibilitas dengan:

  • Keterangan dari DICOM Web APIs
  • Sistem PACS Berbasis Awan
  • Platform interoperabilitas kesehatan modern
  • Sistem yang kompatibel dengan FHIR

Opsi Serialisasi

Mengadaptasi perilaku serialisasi dengan 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);
Pilihandeskripsi
UseKeywordsAsJsonKeysGunakan kata kunci DICOM bukannya tag sebagai kunci JSON (tidak standar)
WriteKeywordTulis kata kunci tag DICOM sebagai atribut JSON yang berbeda
WriteNameTulis nama tag DICOM sebagai atribut JSON yang berbeda
NumberHandlingMengendalikan angka sebagai AsNumber atau AsString
BulkDataLoaderLoader untuk data blob yang dirujuk dalam elemen BulkData
BulkDataConverterConverter untuk menulis data sebagai referensi BulkData

Sistem.Text.Json Integrasi

Menggunakan converter dengan serial .NET JSON standar:

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

Jenis yang didukung

Jenis InputFormat output
DicomFileJSON dan XML
DatasetJSON dan XML
Dataset[]JSON dan XML

Penyimpanan Data

Serialisasi dengan tepat mempertahankan:

  • Semua tag dan nilai DICOM
  • Perwakilan Nilai (VR )
  • Sesuai dengan sekuel
  • Tag pribadi
  • Referensi Data Bulk
  • Nilai float khusus (NaN, Infinity)

Kasus Penggunaan Umum

  • Penglihatan Web: Menyediakan meta-data DICOM untuk pengikut gambar medis berbasis browser.
  • REST APIs: Membangun API kesehatan yang bertukar data DICOM dalam format JSON.
  • Data Analytics: Ekspor metadata DICOM untuk analisis di pipa pemrosesan data.
  • Integrasi: Sambungkan PACS warisan dengan platform perawatan kesehatan berbasis awan modern.
  • Debugging: Mencipta representasi yang dapat dibaca oleh manusia dari data DICOM untuk penyelesaian masalah.
  • Archiving: Simpan metadata DICOM dalam database dokumen seperti MongoDB atau Elasticsearch.

Praktik Terbaik

  • Lisensi pertama: Memulai lisensial yang diukur sebelum konversi untuk menghindari pembatasan evaluasi.
  • Use streams: Untuk file besar atau layanan web, gunakan metode berbasis stream untuk efisiensi memori.
  • Operasi Async: Gunakan metode asynk dalam aplikasi web untuk menghindari memblokir thread.
  • Validate round-trips: siklus serialisasi ujian/deserialisasi untuk memastikan integritas data.
  • Persetujuan standar: Gunakan opsi default untuk pematuhan DICOM PS3.18; Opsi non-standar mungkin memecahkan pihak ketiga.
  • UTF-8 encoding: Metode streaming menggunakan UTF-8, ideal untuk web APIs dan operasi file.

Operasi ringkasan

OperasiInputoutputMetode
SerializeDatasetString dan StreamSerialize
SerializeDicomFileString dan StreamSerialize
SerializePengaturan Data[sunting sumber]String dan StreamSerialize
DeserializeString dan StreamDatasetDeserialize
DeserializeString dan StreamDicomFileDeserializeFile
DeserializeString dan StreamPengaturan Data[sunting sumber]DeserializeList

FAQ

** Apakah itu membutuhkan perpustakaan pihak ketiga?**Ini adalah API terpisah yang hanya menggunakan .NET yang terintegrasi dengan dukungan JSON/XML.

**Apakah output JSON sesuai dengan Layanan Web DICOM?**Ya. output default mengikuti spesifikasi DICOM PS3.18.

**Bolehkah saya menyesuaikan format kunci JSON?**Ya, Gunakan DicomJsonSerializerOptions Untuk mengontrol tag vs. kata kunci dan atribut tambahan.

“Apakah sekuel yang dibiayai disimpan?”Ya. serialiser mempertahankan struktur DICOM penuh, termasuk sekuensi yang dihiasi.

**Bagaimana saya mengendalikan file DICOM besar?**Menggunakan metode berbasis stream (Serialize(stream, ...) dan DeserializeAsyncUntuk memori yang efisien.

** Apakah konversi round-trip tanpa kerugian?**Serialisasi menyimpan semua data DICOM untuk deserialisasi yang tepat kembali ke objek Dataset atau DicomFile.

 Indonesia