Aspose.Medical DICOM to テキスト変換器 for .NET

Aspose.Medical DICOM to Text Converter for .NET は、人間に読み取れ、機械に分散可能なフォーマットに DIKOM データを変換することに焦点を当てた強力な API です。それは、Web サービス、REST APIs、および近代的な医療システムとの統合を可能にする JSON および XML フォーミットへの DICO のデータセットをシリアル化します。

インストール&セットアップ

サポートされたプラットフォーム

  • オペレーティング:Windows、Linux、MacOS
  • フレームワーク: .NET 8.0+
  • アーキテクチャ: x64, ARM64 (macOS)

早速スタート

1)ジョンソンに話す

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

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

2) Pretty Print で DICOM を JSON に

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

メモリ効率(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 をデータセットにダウンロード

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 to DicomFile

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

アシンク 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);

利用可能なアシンク方法:

  • DeserializeAsync データセットに UTF-8 JSON ストリームをダウンロード
  • DeserializeFileAsync - UTF-8 JSON ストリームをDicomFile に分離する
  • DeserializeListAsync データセットに UTF-8 JSON ストリームをデセリアル化
  • SerializeAsync データセット、DicomFile、またはDataset を UTF-8 JSON ストリームに連続します。

特徴と機能性

DICOM Web サービスの遵守

コンバーターは DICOM PS3.18 (Web Services) 標準に準拠しており、以下と互換性が確保されます。

  • 残りのDICOM Web APIs
  • クラウドベースの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);
オプション説明
UseKeywordsAsJsonKeysJSONキーとしてタグ代わりにDICOMキーワードを使用する(非標準)
WriteKeywordDICOM タグキーワードを JSON 属性として書く
WriteName別々のJSON属性としてDICOMタグ名を書く
NumberHandling数字を扱う AsNumber または AsString
BulkDataLoaderBulkData 要素に記載されている blob データの充電器
BulkDataConverterデータを BulkData リファレンスとして書くための変換器

システム.テキスト.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)
  • NESTED セクション
  • プライベートタグ
  • マルクデータ参照
  • 特殊フラット値(NaN、Infinity)

一般利用ケース

  • Web 視聴者: ブラウザベースの医療イメージ ビジョンに DICOM メタデータを提供します。
  • REST APIs: JSON 形式で DICOM データを交換する医療アプリを作成します。
  • データアナリティクス:データ処理パイプでの分析のためのDICOMメタデータを輸出します。
  • 統合:現代のクラウドベースの医療プラットフォームと遺産PACSを接続します。
  • Debugging:問題解決のためのDICOMデータの人間読みやすい表現を作成します。
  • アーカイブ:DICOMのメタデータをMongoDBやElasticsearchなどのドキュメントデータベースに保存します。

ベストプラクティス

  • ライセンスファースト:評価制限を避けるために、変換前に測定されたライシングを開始します。
  • ストリームの使用:大型ファイルやウェブサービスの場合、メモリの効率化に基づくストライムベースの方法を使用します。
  • Async オペレーション: Web アプリケーションでアシンク メソッドを使用して、ロープをブロックするのを避ける。
  • 認証回路:データの完全性を確保するためにテストシリアリゼーション/デセリアリティサイクル。
  • 標準遵守:デフォルトオプションを使用して、DICOM PS3.18 に準拠します。
  • UTF-8暗号化:ストリームメソッドは、Web APIsおよびファイル操作に最適なUtf-8コードを使用します。

作戦概要

作戦Input出力メソッド
SerializeDatasetストリーム / StreamSerialize
SerializeDicomFileストリーム / StreamSerialize
Serializeデータセット( )ストリーム / StreamSerialize
Deserializeストリーム / StreamDatasetDeserialize
Deserializeストリーム / StreamDicomFileDeserializeFile
Deserializeストリーム / Streamデータセット( )DeserializeList

FAQ

「第三者図書館は必要ですか?」これは単一のAPIであり、 .NET だけの JSON/XML サポートを使用しています。

**JSONの出力はDICOM Web Servicesに準拠していますか?**デフォルト出力は、DICOM PS3.18 の仕様に従います。

**JSONキーフォーマットをカスタマイズできますか?**はい 使用 DicomJsonSerializerOptions タグ対キーワードのコントロールと追加の属性。

◎ 遺跡は保存されていますか?*シリアリザーは完全なDICOM構造を維持し、ナストセクションを含む。

「DICOMファイルをどう処理するか?」流れに基づく方法(Serialize(stream, ...) そして DeserializeAsyncメモリ効率の高い処理

** 回転トリップの変換は無損ですか?**シリアリズムは、DICOMのすべてのデータをデータセットまたはDicomFileオブジェクトに戻すための正確なデセリウムのために保存します。

 日本語