Aspose.Medical DICOM to テキスト変換器 for .NET
Aspose.Medical DICOM to Text Converter for .NET は、人間に読み取れ、機械に分散可能なフォーマットに DIKOM データを変換することに焦点を当てた強力な API です。それは、Web サービス、REST APIs、および近代的な医療システムとの統合を可能にする JSON および XML フォーミットへの DICO のデータセットをシリアル化します。
インストール&セットアップ
- NuGet パッケージをインストール
Aspose.Medical(Core API Power Conversion) - 評価制限を避けるためにスタートアップで測定されたライセンスを申請する:見る メータードライセンス .
- 枠組みの要件を検討し インストールガイド .
サポートされたプラットフォーム
- オペレーティング: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);| オプション | 説明 |
|---|---|
UseKeywordsAsJsonKeys | JSONキーとしてタグ代わりにDICOMキーワードを使用する(非標準) |
WriteKeyword | DICOM タグキーワードを JSON 属性として書く |
WriteName | 別々のJSON属性としてDICOMタグ名を書く |
NumberHandling | 数字を扱う AsNumber または AsString |
BulkDataLoader | BulkData 要素に記載されている 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);サポートされたタイプ
| 入力タイプ | 出力形式 |
|---|---|
DicomFile | JSON、XML |
Dataset | JSON、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 | 出力 | メソッド |
|---|---|---|---|
| Serialize | Dataset | ストリーム / Stream | Serialize |
| Serialize | DicomFile | ストリーム / Stream | Serialize |
| Serialize | データセット( ) | ストリーム / Stream | Serialize |
| Deserialize | ストリーム / Stream | Dataset | Deserialize |
| Deserialize | ストリーム / Stream | DicomFile | DeserializeFile |
| Deserialize | ストリーム / Stream | データセット( ) | DeserializeList |
FAQ
「第三者図書館は必要ですか?」これは単一のAPIであり、 .NET だけの JSON/XML サポートを使用しています。
**JSONの出力はDICOM Web Servicesに準拠していますか?**デフォルト出力は、DICOM PS3.18 の仕様に従います。
**JSONキーフォーマットをカスタマイズできますか?**はい 使用 DicomJsonSerializerOptions タグ対キーワードのコントロールと追加の属性。
◎ 遺跡は保存されていますか?*シリアリザーは完全なDICOM構造を維持し、ナストセクションを含む。
「DICOMファイルをどう処理するか?」流れに基づく方法(Serialize(stream, ...) そして DeserializeAsyncメモリ効率の高い処理
** 回転トリップの変換は無損ですか?**シリアリズムは、DICOMのすべてのデータをデータセットまたはDicomFileオブジェクトに戻すための正確なデセリウムのために保存します。