Aspose.Medical DICOM σε μετατροπέα κειμένου για .NET
Aspose.Medical DICOM to Text Converter για .NET είναι ένα ισχυρό API που επικεντρώνεται στην μετατροπή των δεδομένων DICO σε μορφές που μπορούν να διαβάζονται από τον άνθρωπο και να διαγραφούν από το μηχάνημα**. Εξυγείρει τα δεδομένα DicO προς JSON και XML μορφότυπους, επιτρέποντας την ολοκλήρωση με τις υπηρεσίες web, τις APIs REST και τα σύγχρονα συστήματα υγειονομικής περίθαλψης.
Εισαγωγή και εγκατάσταση
- Εγκαταστήστε το πακέτο NuGet
Aspose.Medical(Κύριος API εξουσιοδότηση μετατροπής). - Εφαρμόστε μετρημένη άδεια στο startup για να αποφύγετε όρια αξιολόγησης: δείτε רישוי מדוד .
- Αναθεώρηση των απαιτήσεων του πλαισίου στο Οδηγός εγκατάστασης .
Υποστηριζόμενες πλατφόρμες
- Λίγα λόγια για Windows, Linux, MacOS
- • Πλαίσιο: .NET 8.0+
- ** Αρχιτεκτονική:** x64, ARM64 (macOS)
Γρήγορη έναρξη
1) Μιλάμε για τον JSON
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 με 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 στο 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) Πολλαπλά αρχεία DICOM στο 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) Σειρά σε ροή (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 στο Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(jsonText);Αποσυνδεθείτε το JSON Stream στο Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
using FileStream stream = File.OpenRead("dicom_data.json");
Dataset? dataset = DicomJsonSerializer.Deserialize(stream);Αποσυνδεθείτε το JSON στο DicomFile
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_file.json");
DicomFile? dicomFile = DicomJsonSerializer.DeserializeFile(jsonText);Deserialize JSON Array σε πολλαπλές συσκευές δεδομένων
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string jsonText = File.ReadAllText("dicom_array.json");
Dataset[]? datasets = DicomJsonSerializer.DeserializeList(jsonText);XML Σειρά
Εισαγωγή στο 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 Dataset
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
string xmlText = File.ReadAllText("dicom_data.xml");
Dataset? dataset = DicomXmlSerializer.Deserialize(xmlText);Πυροσβεστική API
Για ασύγχρονες λειτουργίες σε διαδικτυακές εφαρμογές και υπηρεσίες:
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- Deserialize UTF-8 JSON ροή στο DatasetDeserializeFileAsync- Αποστράγγιση UTF-8 JSON ροή στο DicomFileDeserializeListAsync- Deserialize UTF-8 JSON ροή στην σειρά DatasetSerializeAsync- Σειράζουμε το Dataset, το DicomFile ή το Dataaset σε UTF-8 JSON stream
Χαρακτηριστικά και λειτουργικότητα
Συμμόρφωση Web Services DICOM
Ο μετατροπέας συμμορφώνεται με το DICOM PS3.18 (Web Services) πρότυπο, διασφαλίζοντας τη συμβατότητα με:
- Διαβάστε περισσότερα για DICOM Web API
- Συστήματα PACS με βάση το σύννεφο
- Σύγχρονες πλατφόρμες διαλειτουργικότητας της υγειονομικής περίθαλψης
- Συμβατό σύστημα FHIR
Επιλογές Σειροποίησης
Προσαρμογή της συμπεριφοράς serialization με 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 | Περιγραφή |
|---|---|
UseKeywordsAsJsonKeys | Χρησιμοποιήστε λέξεις-κλειδιά DICOM αντί για ετικέτες ως κλειδιές JSON (μη τυποποιημένες) |
WriteKeyword | Γράψτε την ετικέτα DICOM ως ξεχωριστό χαρακτηριστικό JSON |
WriteName | Γράψτε το όνομα ετικέτας DICOM ως ξεχωριστό χαρακτηριστικό JSON |
NumberHandling | Διαχειριστείτε τους αριθμούς ως AsNumber ή AsString |
BulkDataLoader | Το φορτιστή για τα δεδομένα blob που αναφέρονται στα στοιχεία BulkData |
BulkDataConverter | Μετατροπέα για να γράψετε δεδομένα ως αναφορές BulkData |
System.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)
- Κατεστραμμένες ακολουθίες
- Ιδιωτικά tags
- Μαζικές αναφορές δεδομένων
- Ειδικές αξίες πλημμύρας (NaN, Infinity)
Συχνές περιπτώσεις χρήσης
- Οι προβολείς ιστοσελίδων: Υπηρετούν τα μεταδεδομένα του DICOM σε θεραπευτές ιατρικής εικόνας με βάση το πρόγραμμα περιήγησης.
- REST APIs: Δημιουργήστε Υπηρεσίες Υγείας που ανταλλάσσουν δεδομένα DICOM σε μορφή JSON.
- Data Analytics: Εξαγωγή μεταδεδομένων DICOM για ανάλυση σε σωλήνες επεξεργασίας δεδομένων.
- Σύνδεση: Συνδέστε την κληρονομική PACS με τις σύγχρονες πλατφόρμες υγειονομικής περίθαλψης που βασίζονται στο cloud.
- Debugging: Δημιουργία ανθρώπινων αναγνωρίσιμων αντιπροσωπειών δεδομένων DICOM για την επίλυση προβλημάτων.
- Archiving: Αποθηκεύστε τα μεταδεδομένα DICOM σε βάσεις δεδομένων εγγράφων όπως το MongoDB ή το Elasticsearch.
שיטות עבודה מומלצות
- Πρώτη άδεια: Ξεκινήστε τη μέτρηση της άδειας πριν από οποιαδήποτε μετατροπή για να αποφύγετε περιορισμούς αξιολόγησης.
- ** Χρήση ροών**: Για μεγάλα αρχεία ή υπηρεσίες web, χρησιμοποιήστε μεθόδους που βασίζονται σε ροές για την αποδοτικότητα της μνήμης.
- Διαχείριση Async: Χρησιμοποιήστε τις μεθόδους ASYNC στις εφαρμογές Web για να αποφύγετε το μπλοκ των τμημάτων.
- Για να επιβεβαιώσετε τις περιόδους διαδρομής: δοκιμάστε κύκλους σειριοποίησης/απεριορισμού για να εξασφαλίσετε την ακεραιότητα των δεδομένων.
- Συμφωνία προτύπου: Χρησιμοποιήστε τις προεπιλεγμένες επιλογές για τη συμμόρφωση με το DICOM PS3.18· οι μη τυποποιημένες Επιλογές ενδέχεται να σπάσουν τους παίκτες τρίτων.
- UTF-8 κρυπτογράφηση: Οι μέθοδοι ροής χρησιμοποιούν UTF-8, ιδανικό για web APIs και λειτουργίες αρχείων.
Συνοπτική Επιχείρηση
| Επιχείρηση | Input | ΕΞΕΛΙΞΗ | Μέθοδος |
|---|---|---|---|
| Serialize | Dataset | Σύνδεση / Stream | Serialize |
| Serialize | DicomFile | Σύνδεση / Stream | Serialize |
| Serialize | Τα δεδομένα [ ] | Σύνδεση / Stream | Serialize |
| Deserialize | Σύνδεση / Stream | Dataset | Deserialize |
| Deserialize | Σύνδεση / Stream | DicomFile | DeserializeFile |
| Deserialize | Σύνδεση / Stream | Τα δεδομένα [ ] | DeserializeList |
FAQ
**Πρέπει να υπάρχει βιβλιοθήκη τρίτων;**Δεν είναι μια ξεχωριστή API που χρησιμοποιεί μόνο την ενσωματωμένη υποστήριξη JSON/XML .NET.
** Είναι η έκδοση JSON σύμφωνη με τις Web Services DICOM;**Η προεπιλεγμένη έκδοση ακολουθεί τις προδιαγραφές του DICOM PS3.18.
**Μπορώ να προσαρμόσω τη μορφή κλειδιού JSON;**Ναι - Χρησιμοποιήστε DicomJsonSerializerOptions Για να ελέγξετε ετικέτες vs. λέξεις-κλειδιά και πρόσθετα χαρακτηριστικά.
- Υπάρχουν διατηρημένες παρακολούθησεις; *Ναι. Ο σειριοποιητής διατηρεί την πλήρη δομή του DICOM, συμπεριλαμβανομένων των κατεστραμμένων ακολουθιών.
** Πώς μπορώ να χειριστώ μεγάλα αρχεία DICOM;**Χρησιμοποιήστε μεθόδους που βασίζονται στο ρεύμα (Serialize(stream, ...) και DeserializeAsyncγια αποτελεσματική επεξεργασία μνήμης.
*Είναι η μετατροπή του γύρου χωρίς απώλεια;**Ναι. Η σειρά διατηρεί όλα τα δεδομένα DICOM για ακριβή αποσυναρμολόγηση πίσω στα αντικείμενα Dataset ή DicomFile.