.NET के लिए Aspose.Medical DICOM to Text Converter
Aspose.Medical DICOM to Text Converter for .NET एक शक्तिशाली एपीआई है जो डिसीओएम डेटा को मनुष्य-पढ़ने योग्य और मशीन-पास करने योग्य प्रारूपों में परिवर्तित करने पर ध्यान केंद्रित करता है. यह JSON और XML फ़ॉर्मेट्स में DICOएम डाटा सेटों को सीरियल बनाता है, जिससे वेब सेवाओं, REST APIs, और आधुनिक स्वास्थ्य देखभाल प्रणालियों के साथ एकीकरण की अनुमति मिलती है. इंटरैक्टिवता के लिए बनाया गया, यह मानक-अनुपालन श्रृंखला प्रदान करती है डीसीयूएम वेब सर्विस (PS3.18) विनिर्देशों के अनुसार।
स्थापना और स्थापन
- NuGet पैकेज स्थापित कर
Aspose.Medical(परमाणु एपीआई पावर रूपांतरण) - मूल्यांकन सीमाओं से बचने के लिए स्टार्टअप पर माप लाइसेंस का आवेदन करें: देख मेट्रिक लाइसेंस .
- फ्रेमवर्क आवश्यकताओं की समीक्ष स्थापना गाइड .
समर्थित प्लेटफार्म
- **ओएस: ** विंडोज, लिनक्स, मैकओएस
- फ्रेमवर्क: .NET 8.0+
- आर्किटेक्चर: x64, ARM64 (macOS)
त्वरित प्रारंभ
1) JSON के लिए DICOM
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm);2) Pretty Print के साथ JSON के लिए DICOM
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 डेटासेट 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) JSON Array के लिए कई DICOM फ़ाइलें
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. स्मृति प्रभावी (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) 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);JSON विनाशकारी
डेटासेट में JSON String Deserialize
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(jsonText);JSON स्ट्रीम को डेटासेट में डिज़ेरियल करें
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(stream);JSON से DicomFile के लिए Deserialize
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_file.json");
DicomFile? dicomFile = DicomJsonSerializer.DeserializeFile(jsonText);JSON Array को कई डेटा सेट के लिए डिज़ेरियल करें
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_array.json");
Dataset[]? datasets = DicomJsonSerializer.DeserializeList(jsonText);XML सीरियल
DICOM के लिए XML
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string xml = DicomXmlSerializer.Serialize(dcm.Dataset);XML से DICOM डेटासेट तक
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string xmlText = File.ReadAllText("dicom_data.xml");
Dataset? dataset = DicomXmlSerializer.Deserialize(xmlText);एसीएनसी एपीआई
वेब अनुप्रयोगों और सेवाओं में असेंक्रोन ऑपरेशन के लिए:
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);** उपलब्ध Async विधियों:**
DeserializeAsync- UTF-8 JSON स्ट्रीम को डेटासेट में डिज़ेरियल करेंDeserializeFileAsync- UTF-8 JSON स्ट्रीम को DicomFile में डिज़ेरियल करेंDeserializeListAsync- UTF-8 JSON स्ट्रीम को डेटासेट रेंज में डिज़ेरियल करेंSerializeAsync- डेटासेट, DicomFile, या Dataset को UTF-8 JSON स्ट्रीम के लिए सीरियल करें
विशेषताएं और कार्यक्षमत
DICOM वेब सेवा अनुपालन
कनवर्टर DICOM PS3.18 (वेब सर्विस) मानक के अनुरूप है, जो निम्नलिखित के साथ संगतता सुनिश्चित करता है:
- बाकी DICOM वेब एपीआई
- क्लाउड-आधारित PACS सिस्टम
- आधुनिक स्वास्थ्य देखभाल इंटरैक्टिव प्लेटफार्म
- FHIR संगत प्रणालियों
श्रृंखला विकल्प
सीरियलिंग व्यवहार को अनुकूलित करें 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 | Description |
|---|---|
UseKeywordsAsJsonKeys | JSON कुंजी के रूप में टैग के बजाय DICOM कीवर्ड का उपयोग करें (मानक नहीं) |
WriteKeyword | DICOM टैग कुंजी शब्द के रूप में एक विशिष्ट JSON Attribute लिखें |
WriteName | DICOM टैग नाम लिखें एक अलग JSON गुण के रूप में |
NumberHandling | संख्याओं के रूप में व्यवहार करें AsNumber य AsString |
BulkDataLoader | BulkData तत्वों में संदर्भित ब्लॉब डेटा के लिए लोडर |
BulkDataConverter | BulkData संदर्भ के रूप में डेटा लिखने के लिए रूपांतरक |
सिस्टम.Text.Json एकीकरण
मानक .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);समर्थन के प्रकार
| इनपुट प्रकार | आउटपुट फॉर्मेट |
|---|---|
DicomFile | JSON, XML के बारे में |
Dataset | JSON, XML के बारे में |
Dataset[] | JSON, XML के बारे में |
डेटा संरक्षण
सीरियल को सटीक रूप से संरक्षित किया जाता है:
- सभी DICOM टैग और मूल्य
- मूल्य प्रस्तुतियों (VR)
- निम्नलिखित अनुक्रम
- निजी टैग
- बड़े डेटा संदर्भ
- विशिष्ट फ्लोट मूल्य (NaN, Infinity)
सामान्य उपयोग के मामले
- ** वेब दर्शक**: ब्राउज़र-आधारित चिकित्सा छवि दर्शकों के लिए DICOM मेटाडेटा सेवा करें।
- REST APIs: स्वास्थ्य देखभाल एपीआई बनाएं जो JSON प्रारूप में DICOM डेटा का आदान-प्रदान करते हैं।
- Data Analytics: डेटा प्रसंस्करण पाइपलाइनों में विश्लेषण के लिए DICOM मेटाडेटा का निर्यात करें।
- ** एकीकरण**: आधुनिक क्लाउड-आधारित स्वास्थ्य देखभाल प्लेटफार्मों के साथ विरासत PACS को कनेक्ट करें।
- Debugging: समस्या हल करने के लिए DICOM डेटा के मानव-पढ़ने योग्य प्रतिनिधियों का निर्माण करें।
- Archiving: DICOM मेटाडेटा को MongoDB या Elasticsearch जैसे दस्तावेज़ डेटाबेस में संग्रहीत करें।
सर्वश्रेष्ठ अभ्यास
- प्रथम लाइसेंस: मूल्यांकन सीमाओं से बचने के लिए किसी भी रूपांतरण से पहले मापदंड लेनदेन शुरू करें।
- प्रवाह का उपयोग करें: बड़े फ़ाइलों या वेब सेवाओं के लिए, स्मृति दक्षता के साथ प्रवाह-आधारित विधियों का इस्तेमाल करें।
- Async ऑपरेशन: वेब अनुप्रयोगों में asynk विधियों का उपयोग तारों को अवरुद्ध करने से बचने के लिए।
- गुलाबी मार्गों को सत्यापित करें: डेटा की अखंडता सुनिश्चित करने के लिए परीक्षण सीरियल / डिज़ेरिलेशन चक्र।
- स्टैंडर्ड अनुपालन: DICOM PS3.18 के लिए डिफ़ॉल्ट विकल्पों का उपयोग करें; गैर-मानक विकल्प तीसरे पक्ष के पार्टनरों को तोड़ सकते हैं।
- UTF-8 एन्कोडिंग: स्ट्रीम विधियों का उपयोग UTF-8, वेब एपीआई और फ़ाइल ऑपरेशन के लिए आदर्श है।
ऑपरेशन का सारांश
| Operation | Input | Output | Method |
|---|---|---|---|
| Serialize | Dataset | स्ट्रीम / Stream | Serialize |
| Serialize | DicomFile | स्ट्रीम / Stream | Serialize |
| Serialize | डेटा[संपादित करें] | स्ट्रीम / Stream | Serialize |
| Deserialize | स्ट्रीम / Stream | Dataset | Deserialize |
| Deserialize | स्ट्रीम / Stream | DicomFile | DeserializeFile |
| Deserialize | स्ट्रीम / Stream | डेटा[संपादित करें] | DeserializeList |
FAQ
** क्या यह तीसरे पक्ष की पुस्तकालयों की आवश्यकता है?**यह केवल .NET के अंतर्निहित JSON/XML समर्थन का उपयोग करके एक अद्वितीय एपीआई है।
** क्या JSON आउटपुट DICOM वेब सेवाओं के अनुरूप है?**हाँ. डिफ़ॉल्ट आउटपुट DICOM PS3.18 विनिर्देशों का पालन करता है।
** क्या मैं JSON कुंजी प्रारूप को अनुकूलित कर सकता हूं?**हाँ, उपयोग कर DicomJsonSerializerOptions टैग vs. कीवर्ड कुंजी और अतिरिक्त गुणों को नियंत्रित करने के लिए।
** क्या नस्लीय अनुक्रम बनाए रखा गया है?**हाँ. श्रृंखला निर्माता पूरी DICOM संरचना को बनाए रखता है, जिसमें नस्लीय अनुक्रम शामिल हैं।
** मैं बड़े DICOM फ़ाइलों को कैसे संभाल सकता हूं?**प्रणालियों का उपयोग करने के लिए (Serialize(stream, ...) और DeserializeAsyncस्मृति-प्रभावी प्रसंस्करण के लिए।
** क्या रूट-ट्रिप रूपांतरण हानिहीन है?**हाँ. सीरियलिंग डेटा के लिए सटीक डीसीओएम को डेटसेट या डिकॉमफिल वस्तुओं में वापस रखता है।