Πώς να μετατρέψετε ένα αρχείο DICOM σε JSON χρησιμοποιώντας το DicomJsonSerializer

Πώς να μετατρέψετε ένα αρχείο DICOM σε JSON χρησιμοποιώντας το DicomJsonSerializer

Αυτό το εγχειρίδιο δείχνει πώς να μετατρέψετε τα αρχεία DICOM σε μορφή JSON χρησιμοποιώντας το C#. Η προέλευση J SON είναι απαραίτητη για την ενσωμάτωση των μεταδεδομένων DIKOM με σύγχρονες διαδικτυακές υπηρεσίες, REST APIs και συστήματα πληροφοριών υγείας.

Πλεονεκτήματα της μετατροπής DICOM σε JSON

  • • Διαδικτυακή ενσωμάτωση:- Το JSON είναι η τυποποιημένη μορφή για REST APIs και Web Services.

  • Ανάλυση δεδομένων:- Εύκολη επεξεργασία των μεταδεδομένων DICOM στα σωλήνα ανάλυσης δεδομένων.

  • • Διαλειτουργικότητα *:- Μοιραστείτε τα μεταδεδομένα με συστήματα που δεν υποστηρίζουν αρχικά μορφές DICOM.

Προϋποθέσεις: Προετοιμασία του περιβάλλοντος

  • Εγκαταστήστε το Visual Studio ή οποιοδήποτε συμβατό .NET IDE.
  • Δημιουργήστε ένα νέο πρόγραμμα εφαρμογής .NET 8 console.
  • Εγκαταστήστε το Aspose.Medical από το NuGet Package Manager.

Βήμα προς βήμα Οδηγός για τη μετατροπή DICOM σε JSON

Βήμα 1: Εγκατάσταση Aspose.Medical

Προσθήκη της βιβλιοθήκης Aspose.Medical στο έργο σας χρησιμοποιώντας το NuGet.

Install-Package Aspose.Medical

Βήμα 2: Συμπληρώστε τις απαραίτητες ονομαστικές περιοχές

Προσθέστε αναφορές στις απαιτούμενες ονομαστικές περιοχές στον κώδικα σας.

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

Βήμα 3: Κατεβάστε το αρχείο DICOM

Κατεβάστε το αρχείο DICOM που θέλετε να μετατρέψετε.

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

Βήμα 4: Σειρά σε JSON

Χρησιμοποιήστε το DicomJsonSerializer.Serialize Μέθοδος μετατροπής του αρχείου DICOM σε JSON.

string json = DicomJsonSerializer.Serialize(dcm);

Βήμα 5: Αποθηκεύστε ή χρησιμοποιήστε την έκδοση JSON

Αποθηκεύστε το JSON σε ένα αρχείο ή το χρησιμοποιήστε απευθείας στην εφαρμογή σας.

// Save to file
File.WriteAllText("patient_scan.json", json);

// Or use directly
Console.WriteLine(json);

Το πλήρες παράδειγμα κώδικα για να μετατρέψετε το DICOM σε JSON

Εδώ είναι ένα πλήρες παράδειγμα που δείχνει πώς να μετατρέψετε ένα αρχείο DICOM σε JSON:

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

// Load the DICOM file
DicomFile dcm = DicomFile.Open("patient_scan.dcm");

// Convert to JSON
string json = DicomJsonSerializer.Serialize(dcm);

// Save to file
File.WriteAllText("patient_scan.json", json);

Console.WriteLine("DICOM file converted to JSON successfully!");
Console.WriteLine($"Output saved to: patient_scan.json");

Πλήρης εκτύπωση JSON

Για το ανθρώπινο-διαβαστό JSON με ενδιέξοδο, χρησιμοποιήστε το writeIndented Παράμετρος :

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

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

// Serialize with indentation for readability
string prettyJson = DicomJsonSerializer.Serialize(dcm, writeIndented: true);

File.WriteAllText("patient_scan_pretty.json", prettyJson);

Console.WriteLine("Pretty-printed JSON saved successfully!");

Μετατροπή Dataset αντί για DicomFile

Μπορείτε επίσης να μετατρέψετε μόνο το τμήμα Dataset:

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

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

// Serialize only the dataset (without file meta information)
string datasetJson = DicomJsonSerializer.Serialize(dcm.Dataset);

File.WriteAllText("patient_dataset.json", datasetJson);

Η δομή εξόδου JSON

Η έκδοση JSON ακολουθεί το πρότυπο DICOM PS3.18. Εδώ είναι ένα παράδειγμα του τι φαίνεται η έκβαση:

{
  "00080005": {
    "vr": "CS",
    "Value": ["ISO_IR 100"]
  },
  "00080020": {
    "vr": "DA",
    "Value": ["20240115"]
  },
  "00080030": {
    "vr": "TM",
    "Value": ["143022"]
  },
  "00100010": {
    "vr": "PN",
    "Value": [
      {
        "Alphabetic": "DOE^JOHN"
      }
    ]
  },
  "00100020": {
    "vr": "LO",
    "Value": ["12345"]
  }
}

Σειροποίηση με βάση τη ροή

Για μεγάλα αρχεία ή web εφαρμογές, χρησιμοποιήστε τη σειρά που βασίζεται στο ρεύμα:

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

DicomFile dcm = DicomFile.Open("large_scan.dcm");

// Write directly to a file stream
using (FileStream fs = File.Create("large_scan.json"))
{
    DicomJsonSerializer.Serialize(fs, dcm.Dataset);
}

Console.WriteLine("Large DICOM file serialized to JSON stream!");

Παράδειγμα ενσωμάτωσης: Αποστολή JSON στο Web API

Εδώ είναι πώς να ενσωματώσετε τη μετατροπή DICOM σε JSON με έναν πελάτη HTTP:

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
using System.Net.Http;
using System.Text;

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

// Send to web API
using HttpClient client = new();
var content = new StringContent(json, Encoding.UTF8, "application/json");

HttpResponseMessage response = await client.PostAsync(
    "https://api.example.com/dicom/metadata",
    content
);

if (response.IsSuccessStatusCode)
{
    Console.WriteLine("DICOM metadata successfully sent to API!");
}

Χρήση Tips

Ετικέτες DICOM Metadata

Χρησιμοποιήστε τη μετατροπή JSON για να ελέγξετε τις τιμές ετικετών DICOM:

DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);

Εισαγωγή στο Web Front-End

Το JSON είναι ιδανικό για την εμφάνιση των μεταδεδομένων DICOM σε προβολείς βάσει προγράμματος περιήγησης:

// In ASP.NET Core controller
[HttpGet("dicom/{id}/metadata")]
public IActionResult GetMetadata(string id)
{
    DicomFile dcm = DicomFile.Open($"storage/{id}.dcm");
    string json = DicomJsonSerializer.Serialize(dcm);
    return Content(json, "application/json");
}

Τι περιλαμβάνεται στην έκδοση JSON

Η έκδοση JSON περιλαμβάνει:

  • Όλες οι ετικέτες DICOM με τις αξίες τους
  • Αξιοσημείωση (VR) για κάθε ετικέτα
  • Συσκευασμένα αντικείμενα όπως νεφρωμένα JSON
  • Δυαδικές αναφορές δεδομένων (BulkData) για τα δεδομένα pixel

Πρόσθετες πληροφορίες

  • Η μορφή JSON ακολουθεί τις προδιαγραφές DICOM PS3.18 Web Services.
  • Οι μεγάλες δυαδικές αξίες (όπως τα δεδομένα pixel) συνήθως αναφέρονται αντί να ενσωματώνονται.
  • Σκεφτείτε τη χρήση προσαρμοσμένων επιλογών σειριοποίησης για συγκεκριμένες απαιτήσεις ολοκλήρωσης.

Συμπεράσματα

Αυτό το εγχειρίδιο σας έχει δείξει πώς να μετατρέψετε τα αρχεία DICOM σε μορφή JSON στο C# χρησιμοποιώντας το Aspose.Medical.JSON output επιτρέπει αδιάλειπτη ενσωμάτωση με σύγχρονες υπηρεσίες υγείας, web viewers και συστήματα ανάλυσης δεδομένων.

 Ελληνικά