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
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 DatasetDeserializeFileAsync- Deserialisasi UTF-8 JSON aliran ke DicomFileDeserializeListAsync- Deserialize UTF-8 JSON stream ke Dataset arraySerializeAsync- 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);| Pilihan | deskripsi |
|---|---|
UseKeywordsAsJsonKeys | Gunakan kata kunci DICOM bukannya tag sebagai kunci JSON (tidak standar) |
WriteKeyword | Tulis kata kunci tag DICOM sebagai atribut JSON yang berbeda |
WriteName | Tulis nama tag DICOM sebagai atribut JSON yang berbeda |
NumberHandling | Mengendalikan angka sebagai AsNumber atau AsString |
BulkDataLoader | Loader untuk data blob yang dirujuk dalam elemen BulkData |
BulkDataConverter | Converter 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 Input | Format output |
|---|---|
DicomFile | JSON dan XML |
Dataset | JSON 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
| Operasi | Input | output | Metode |
|---|---|---|---|
| Serialize | Dataset | String dan Stream | Serialize |
| Serialize | DicomFile | String dan Stream | Serialize |
| Serialize | Pengaturan Data[sunting sumber] | String dan Stream | Serialize |
| Deserialize | String dan Stream | Dataset | Deserialize |
| Deserialize | String dan Stream | DicomFile | DeserializeFile |
| Deserialize | String dan Stream | Pengaturan 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.