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 ροή στο Dataset
  • DeserializeFileAsync - Αποστράγγιση UTF-8 JSON ροή στο DicomFile
  • DeserializeListAsync - Deserialize UTF-8 JSON ροή στην σειρά Dataset
  • SerializeAsync - Σειράζουμε το 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);

Υποστηριζόμενοι τύποι

Τύπος εισόδουΕισαγωγικές μορφές
DicomFileJSON και XML
DatasetJSON και 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ΕΞΕΛΙΞΗΜέθοδος
SerializeDatasetΣύνδεση / StreamSerialize
SerializeDicomFileΣύνδεση / StreamSerialize
SerializeΤα δεδομένα [ ]Σύνδεση / StreamSerialize
DeserializeΣύνδεση / StreamDatasetDeserialize
DeserializeΣύνδεση / StreamDicomFileDeserializeFile
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.

 Ελληνικά