Hogyan lehet átalakítani egy DICOM fájlt a JSON használatával DicomJsonSerializer

Hogyan lehet átalakítani egy DICOM fájlt a JSON használatával DicomJsonSerializer

Ez a kézikönyv megmutatja, hogyan lehet átalakítani a DICOM fájlokat a JSON formátumban C#. A jSON kimenetel elengedhetetlen az integrálása DIKOM metadata a modern webes szolgáltatások, REST APIs, és az egészségügyi információs rendszerek.

A DICOM átalakításának előnyei JSON

  • • Webes integráció:- A JSON a REST API-k és webszolgáltatások szabványos formátumát jelenti.

  • Az adatok elemzése:- Könnyen feldolgozza a DICOM metadatait az adatelemzési csővezetékekben.

  • Az interoperabilitás *:- Megosztja a metadatait olyan rendszerekkel, amelyek nem támogatják a DICOM indiai formátumokat.

Előfeltételek: a környezet előkészítése

  • A Visual Studio vagy bármely kompatibilis .NET IDE beállítása.
  • Hozzon létre egy új .NET 8 konzol alkalmazási projektet.
  • Telepítse az Aspose.Medical-t a NuGet csomagkezelőből.

Lépésről lépésre útmutató a DICOM átalakítására JSON-ra

1. lépés: Install Aspose.Medical

Add hozzá az Aspose.Medical könyvtárat a projekthez a NuGet használatával.

Install-Package Aspose.Medical

2. lépés: Tartalmazza a szükséges névterületeket

Hozzáadjon hivatkozásokat a szükséges névterületekhez a kódjában.

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

3. lépés: Töltse le a DICOM fájlt

Töltse le a DICOM fájlt, amelyet átalakítani szeretne.

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

4. lépés: Serializáljuk a JSON-t

Használja a DicomJsonSerializer.Serialize A DICOM fájl átalakításának módja JSON.

string json = DicomJsonSerializer.Serialize(dcm);

5. lépés: mentse vagy használja a JSON kimenetet

Mentse a JSON-t egy fájlra, vagy használja közvetlenül az alkalmazásban.

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

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

Tökéletes példája a DICOM-nak a JSON-ra való átalakításához

Íme egy teljes példa, amely bemutatja, hogyan lehet átalakítani egy DICOM fájlt 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");

Pretty-Print JSON kiadás

Az emberi olvasható JSON indentációval, használja a writeIndented A paraméterek:

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 átalakítása a DicomFile helyett

Ezenkívül csak a Dataset részét konvertálhatja:

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 kimeneti szerkezet

A JSON kimenetel a DICOM PS3.18 szabványt követi.Itt van egy példa arra, hogy a kimenet hogyan néz ki:

{
  "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"]
  }
}

Stream-alapú serializáció

Nagy fájlokhoz vagy webes alkalmazásokhoz használja a stream-alapú serializációt:

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!");

Integrációs példa: JSON küldése a Web API-n

Íme, hogyan lehet integrálni a DICOM a JSON konverzió egy HTTP kliens:

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!");
}

Használati tippek

DICOM metadata megosztása

Használja a JSON konverziót a DICOM címkével kapcsolatos értékek ellenőrzésére:

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

Küldés a web front-endhez

A JSON ideális a DICOM metadatainak megjelenítéséhez böngészőalapú nézőknél:

// 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");
}

Mit tartalmaz a JSON kimenetel

A JSON kiadás tartalmazza:

  • Minden DICOM címkék értékeikkel
  • Value Representations (VR) minden egyes címkéhez
  • Szekvenciális elemek, mint a JSON tárgyak
  • Bináris adatok referenciái (BulkData) a pixel adatokhoz

További információk

  • A JSON formátum a DICOM PS3.18 Web Services specifikációt követi.
  • Nagy bináris értékek (például pixel adatok) általában hivatkozva, nem pedig beépített.
  • Tekintse meg a személyre szabott serializációs lehetőségek használatát a konkrét integrációs követelményekhez.

következtetések

Ez a kézikönyv megmutatta, hogyan lehet átalakítani a DICOM fájlokat a JSON formátumban C# használatával Aspose.Medical.JSON kimenetel lehetővé teszi a szoros integráció a modern egészségügyi APIs, webes nézők, és az adatelemzési rendszerek.

 Magyar