LEADTOOLS Medical

フレームを表示

3次元空間で一連の二次元の医用画像を描写して、表示するために、Leadtools.Medical3Dアセンブリを使います。LEADTOOLSメディカル3D SDKは、3Dビジュアル表現を作成する再建技術を単純化します。クラスライブラリは、多くのimageスライスを用いて容積測定(3D)データを生成するために、いろいろな数値計算用アルゴリズムを提供します。MPR、VRT、MIP、MinIP、SSDなどの3D再構成法を使用して、元のデータからさまざまな表示を得ることができます。また、異なるボリュームタイプによるレンダリングが可能で、面、クリッピング、スラブ、拡大縮小、ズーム、カメラの完全な制御、しきい値、画像処理などのレンダリングオプションが用意されています。さらに、カーブドMPR、パノラマ生成、沿軸切断の表示もサポートします。

Medical3DContainerクラスは、3Dオブジェクト(カメラ、エンジン、プレーンなど)を保持して、Renderメソッドを用いて提出するベースクラスです。LEADTOOLSには、組み込みアクションツールを備えた使いやすいメディカル3Dコントロールが含まれます。このコントロールをLEADTOOLS Medicalビューワに統合すれば、ハイエンドの放射線ワークステーションに匹敵する、さまざまなレイアウト、ツール、機能を備えた高度な3Dビューワを開発できます。また、メディカルワークステーションビューワアプリケーションとメディカルウェブビューワソリューションが完成したアプリケーションとして付属しており、そのソースコードを自由にカスタマイズできます。

メディカル3Dコントロールの使用は、その使いやすさのため、迅速な開発に理想的です。より多くのプログラミングコントロールが目的である、または、既存のアプリケーションに上級ビジュアライゼーションを追加する必要があるメディカル3D Containerが、使われることができます。メディカル3Dコントロールを使う方法の詳細については、メディカル3Dコントロールで操作中のを参照します。

メディカル3D能力を使うために、3D能力をロック解除しなければなりません。メディカル3D能力をロック解除することの詳細については、「特殊なLEAD機能のアンロック」を参照してください。

LEADTOOLSメディカル3D SDKで機能するために、Medical3DContainerのインスタンスを最初に作成しなければなりません。次の手順は、コンテナにMedical3DObjectを追加して、それから以下のメソッドの1つを用いて2Dイメージ(スタック)で3Dオブジェクトを値を入力することです:

3Dオブジェクトを提出するために、以下の手順を用いてレンダリング面(例えばコントロール)をMedical3DContainerに提供しなければなりません:

  1. 描画面として機能するコントロールまたはフォームを選択または作成します。
  2. 選ばれたコントロールまたはフォームのペイントイベントを登録します。
  3. ペイントイベントでは、Medical3DContainer.Renderメソッドを呼び出して、コントロールを割り当てます。

3Dボリュームを生成するために、適切な順序で多くの2Dスライスを最初に追加しなければならない点に注意してください。意味のある3Dボリュームを生成するためには、断面が互いに平行していることが必要です。LEADTOOLS Medicalビューワは、MedicalViewerSeriesManagerヘルパークラスを容積測定スタックを識別して、切り離すために、そして、DICOMタグから検索される情報を使用して様々なソーティングを適用するために提供します。

Medical3DEngineクラスは、ターゲットシステムの3D能力を確認するために、プロパティとメソッドを格納します。決定するために、このクラスを使用することができます:

3Dボリュームおよび生成されたスライスの正しい寸法やスケーリングを取得するためには、3Dピクセルボリューム(ボクセル)を適切に定義する必要があります。以下は、3Dピクセルボリュームを定義するのに用いられることができます:

これらのプロパティのための情報は、軸のスライスでイメージポジション(Patient)0020、0032)DICOMタグから検索されることができて(二重の配列の3つの値として)、それからFromDoubleArrayメソッドを用いてPoint3Dに変換されることができます。

3Dボリュームの方向を適切に設定し、生成された画像の患者方向ラベルが正しくなるようにするには、Medical3DObject.ImageOrientationプロパティを使用して画像スライスでの患者の方向を設定します。image向き情報は、通常軸のCTとMR DICOMファイルで画像方向(患者)0020、0037)DICOMタグで保存されます。

Medical3DContainerにとって、そして、ボクセルと患者向きが定義されたあと一度多くの断面画像が追加されたら、Medical3DContainer.VolumeTypeプロパティを使用してレンダリングのために3Dボリュームの以下のタイプを作成することができます:

生成される3Dボリュームは、カメラスペース(ビュースペース)で、または、3Dオブジェクトスペースで操られることができます。3D空間でズーム、パン、および回転操作を行うにはMedical3DCameraを使用します。カメラの投影法をOrthogonalまたはPerspectiveに設定し、遠い側または近い側のクリッピング面を設定して不要な構造や邪魔な構造が表示されないようにします。詳細については、「メディカル3Dカメラでのプログラミング」を参照してください。

3Dオブジェクトレベルの操作プログラムを使用して、オブジェクトの拡大/縮小、回転角度、パン設定、ISOしきい値、透過性(ボクセルの不透明度)、ボリュームのクロッピング(スラブ)を制御することもできます。Medical3DObjectを使うことの詳細については、3Dオブジェクトの操作を参照します。

カメラ制御とクロッピング(スラブの作成)や回転などの3Dオブジェクト操作を組み合わせることで、さまざまなビューを作成できます。その一例は、3D空間で関心オブジェクトの周りを周回することです。スラブ機能の詳細については、3Dボリュームスラブでプログラミングを参照します。

Medical3DContainerのMedical3DWindowLevelPropertiesクラスでは、ウィンドウ中心とウィンドウ幅を使用して関心強度範囲を選択することにより、ボリュームデータを簡単に区分できます。幅(データ範囲)の変更は傾きに影響を与え、それがコントラストに影響します。Centerの値を変更すると、対象となるデータが変わります(すなわち、低密度構造と高密度構造の間のウィンドウがスライドします)。また、解剖学的構造の視覚的表現を向上させるため、線形、指数、対数、シグモイドのマッピングアルゴリズムを使用してテーブル値を移動することもできます。

また、LEADTOOLS 3D SDKは、保存して、SSDで使われる3Dボリュームデータ、3Dボリュームの状態とメッシュのロードすることをサポートします。これが、その常態に3Dボリュームの高速ロードとレンダリングのために使われることができます。以下のメソッドは、ロードして、3Dデータの保存することをサポートします:

Medical3DContainerは、マウスと描画イベントのカスタム処理もサポートします。詳細は、「Medical3DContainerクラスメンバー」を参照してください。

LEADTOOLSメディカル3Dトピックによるプログラミング

メディカル3Dコントロールによるプログラミング
メディカル3Dカメラでのプログラミング
SSDと3Dメッシュでのプログラミング
3Dオブジェクトの作成
3Dオブジェクトの操作
LEADTOOLSメディカル3Dの保存とロード
スラブの操作
MPRスライスによるプログラミング