LEADTOOLS Medical

フレームを表示

一般

メディカルビューワは、セルという多数の子ウィンドウを格納することができます。これらのセルは、イメージ、タグまたはルーラーを格納することができます。セルは、ビューワ内の行と列を構成する"ブロック"内にちょうど収まるようにリサイズされます。段数とコラムは、MedicalViewer.RowsMedicalViewer.Columnsプロパティを変更することによって、プログラムコードから変えられることができます。段数とコラムは、ビューワの中で「スプリッタ」を配置することによって、ユーザーによってダイナミックに変えられることができます。

ビューワが作成されるとき、それは空です。ビューワにセルを追加するために、MedicalViewer.Cells.Addメソッドを呼び出します。それがメディカルビューワにセルを挿入するとき、このメソッドはセルのためにウィンドウを自動的に作成します。ビューワでセルの現在の数字を取得するために、MedicalViewer.Cells.Countプロパティを呼び出します。

セルはビューワ内に左から右および上から下の方向に配置されます。ビューワにセルを挿入すると、そのセルの右側にあるすべてのセルが1ブロックずつ右に移動し、行がいっぱいになると次の行に折り返します。各々のセルの行と列位置は、MedicalViewerCellPositionクラスで保存されます。セルは、インデックスに基づいて、MedicalViewer.Cells.Repositionメソッドを呼び出すことによって再位置付けされることができます。

ビューワの各セルには境界があり、これは行と列を区切るスプリッタによって決定されます。これらの境界はプログラムコードから実際にリセットされることができません、しかし、ビューワで段数とコラムを変更することができました。しかし、MedicalViewerCell.LocationMedicalViewerCell.Sizeプロパティを通して、境界は得られることができます。

行動は、ビューワでセルに関連づけられるイメージに適用されることができます。関連した利用できる行動と関数の詳細については、「適用している行動」を参照してください。適用している行動トピックが説明して、行動はマウスボタンとキーストロークの組合せに割り当てられることができます。こうしたアクションは、マウスボタンが押された・ドラッグされたとき、またはキーストロークを組み合わせて押されたときに1つ以上のセルに適用されます。

マウスまたはキーボードの操作によってセルにアクションが適用されないようにするため、セルを固定できます。これは、MedicalViewerCell.Frozenプロパティを使用してされます。固定したセルは、マウスまたはキーボードを使用して操作することはできませんが、プログラムコードからその一部のプロパティを変更することはできます。すべてのセルは、MedicalViewerCellCollection.FreezeAllメソッドを呼び出すことによって固定されることができます。選択したセルを固定または固定解除するには、MedicalViewerCellCollection.FreezeSelectedメソッドを呼び出します。

ビューワ内のセルは選択または選択解除できます。さらに、セルにアクションを追加するとき、ユーザーはアクションを1つのセル、すべてのセル、選択したセルのみのいずれに適用するかを選択できます。セルの選択状況は、MedicalViewerBaseCell.Selectedプロパティを使用して変えられることができます。セルを動的に選択するときは、1つのセルをクリックします。そうすると、そのほかのセルはすべて選択解除されます。複数のセルを選択するには、Ctrlキーを押したままセルをクリックします。

MedicalViewerMultiCell.FreezeSubCellメソッドを呼び出してサブセルを固定します。このメソッドは、サブセルだけを固定します。セル全体を固定するか、固定解除するために、MedicalViewerCell.Frozenプロパティを使います。サブセルがMedicalViewerMultiCell.SubCellFrozenメソッドを呼び出すことによって固定されるかどうか決定します。

MedicalViewerCell.InvertImageメソッドを呼び出して、指定したセルまたはサブセルの画像の色を反転できます。imageが反転されたかどうか決定するために、MedicalViewerMultiCell.IsImageInvertedメソッドを呼び出します。

指定されたセルまたはサブセルの視野回転角度を取得して、MedicalViewerCell.RotateImagePerspectiveメソッドを用いてそれを設定するために、MedicalViewerCell.GetRotateImagePerspectiveAngleメソッドを呼び出します。

画像の高さ、幅、水平解像度、垂直解像度などの情報を取得または設定するには、MedicalViewer.MedicalViewerImageInformationクラスを使用します。

セルが格納するもの

セルは、一つ以上のイメージをそれに関連づけておくことができます。imageに複数イメージがあるならば、スクロールバーはイメージを通してスクロールを許可するように見えます。MedicalViewerCell.Imageプロパティを使用してimageを取得または設定することができます。セルを再描画するために、MedicalViewerMultiCell.Invalidateメソッドを呼び出します。

セルは、ルーラーを格納することもできます。水平および垂直ルーラーを使用して、画像の実際のサイズを指定した単位で測定できます。imageが大きさを変更されるならば、これらのルーラーは自動的に更新されます。MedicalViewerCell.DisplayRulersプロパティを用いて示されることができるか、非表示にすることができます。ルーラーを描画するのに用いられるスタイルと色は、MedicalViewerBaseCell.RulerInColorMedicalViewerBaseCell.RulerOutColorMedicalViewerBaseCell.RulerStyleプロパティを使用してビューワのために設定されます。ルーラーのための測定単位は、MedicalViewerBaseCell.MeasurementUnitプロパティで設定されることができるか、取り戻されることができます。

画像とルーラーに加えて、セルにはタグも含めることができます。タグはセルの辺に沿って表示されるテキストで、画像に関する情報を提供します。タグなしにするか、1つまたは複数のタグを設定できます。個々のタグを追加するには、MedicalViewerMultiCell.SetTagメソッドを呼び出します。

3種類のタグがあります:

サブセル

セルをミニメディカルビューワのようにすることができます。つまり、MedicalViewerMultiCell.RowsプロパティプロパティとMedicalViewerMultiCell.Columnsプロパティによって設定される行と列の数に基づいて、セルを同等のブロックに分割することが可能です。セル内の行と列の区切りにはスプリッタは使用されません。セル内の各ブロックには、セルに関連付けられた画像リストの1ページが表示されます。セル内のスクロールもサポートされていますが、ビューワのスクロールとは若干異なります。セルのスクロールでは、ページが1ページずつ移動します。したがって、セルにページ、1、2、3が表示されている場合、下に1ページスクロールすると、ページ0が画面から消えてその位置にページ1が移動します。

各サブセルに固有の動作や設定はほとんどありません。ほとんどのアクションはすべてのサブセルに作用します。たとえば、1つのサブセルを拡大した場合、すべてのサブセルが拡大されます。ただし、ウィンドウレベル調整とアルファアクションは、すべてのサブセルでなく個々のサブセルに適用できます。

サブセルを選択することは可能ですが、一度に選択できるのはセルあたり1つのサブセルだけです。サブセルのインデックスを取り戻すために、MedicalViewerMultiCell.ActiveSubCellメソッドを使います。

実行時にサブセルを左ダブルクリックすると、セルが「エクスプロード」モードになり、サブセルがセル全体に拡張します。もう一度セルを左ダブルクリックすると、通常の状態に戻ります。プログラムコードでエクスプロードモードに入る、またはエクスプロードモードから出るには、MedicalViewerMultiCell.Explodedプロパティを使用します。ユーザーがセルをダブルクリックしたときにエクスプロードモードにならないようにするには、MedicalViewerMultiCell.EnableExplodeModeプロパティを使用します。

下位セルは、タイトルバーを格納することができます。タイトルバーは、画像ビューワ内のすべてのセルまたはサブセルの上部にドッキングされます。タイトルバーには小さいアイコンが配置されており、ユーザーはこれらのアイコンを手動またはプログラムコードから選択/選択解除できます。タイトルバーは、デフォルトでは非表示です。ユーザーは、MedicalViewerCell.Titlebarを通してタイトルバーを示すことができるか、非表示にすることができます。

タイトルバー内のアイコンをプログラムコードから選択または選択解除するには、MedicalViewerCell.SetTitlebarIconStateプロパティを呼び出します。また、MedicalViewerCell.GetTitlebarIconStateメソッドを呼び出して、特定のタイトルバーアイコンの現在の状態(選択されているかどうか)を取得することもできます。

セルを描画すること

セルを再描画するには、画像が更新された後にMedicalViewerMultiCell.Invalidateメソッドを呼び出します。MedicalViewerCell.CreateGraphicsメソッドを呼び出してグラフィックオブジェクトを取得することにより、任意のオブジェクトを描画できます。

セルを削除すること

セルがビューワでもはや必要でないとき、MedicalViewerCellCollection.Removeメソッドを呼び出すことによって、それを削除します。削除したセルの右側にあるセルが左に移動します。必要に応じて、前の行にセルが折り返されます。ビューワ内のすべてのセルを削除するには、MedicalViewerCellCollection.Clearメソッドを呼び出します。

ルーラーアノテーション補正

アノテーションルーラーを使用せずにセルまたはサブセルを較正するには、MedicalViewerCell.Calibrateメソッドを呼び出します。アノテーションルーラーを使用してセルまたはサブセルを較正するには、いずれかのMedicalViewerCell.CalibrateRulerメソッドを呼び出します。

オーバレイタグ

フレーム、scaleまたはルーラー単位のような様々な種類のメディカルビューワオーバレイタグを管理するために、MedicalViewer.MedicalViewerTagInformationクラスを使用します。タグは、MedicalViewerBaseCell.DeleteTagメソッドの1つを呼び出すことによって、セルまたはサブセルから削除されることができます。MedicalViewerBaseCell.GetTagメソッドのタグ使用1を取得するために、セルまたはサブセルタグを編集するか、削除するために、MedicalViewerCell.EditTagメソッドの1つを使います。サブセルのタグは、指定したサブセルインデックスを持つ単一フレームに表示されます。サブセルのタグは、他のタグと同じように使用します。つまり、サブセルのインデックスをオーバーロードメソッドに渡します。

画像サイズをセルに合わせる

現時点では、imageをセルに取り付ける2つの方法が、あります。1つは、MedicalViewerCell.FitImageToCellプロパティをTrueに設定する方法です。もう1つは、MedicalViewerCell.SetScaleとMedicalViewerCell.GetScaleメソッドを使用する方法です。後者の方法を使用する場合は、MedicalViewerCell.FitImageToCellがfalseに設定されていることを確認してください。

セル/サブセルのスケーリングモードを取得するには、MedicalViewerCell.GetScaleModeメソッドを使用します。

セルを描画すること

画像に加えられた変更に従ってビューを更新するためセルの内部値を再計算するには、MedicalViewerCell.UpdateViewメソッドを使用します。image寸法が変更するとき、これは役に立ちます。メソッドは、セルも再描画します。

任意の変更が適用されるならば、よみがえることから、ビューワを停止するために、MedicalViewer.BeginUpdateメソッドを呼び出します。すべての変化が適用されたあと、なされた変化の全てを示すためにビューワを再描画するために、MedicalViewer.EndUpdateメソッドを呼び出します。また、MedicalViewer.PrePaintイベントMedicalViewer.PostPaintイベントは、追加の処理の用途に提供されます。

ローメモリ使用法

通常は、MedicalViewerCell.Imageプロパティを使用して画像をセルに割り当てることにより、画像を直接ロードします。低いメモリー使用状況機能を使うためにコントロールを設定するために、MedicalViewerCell.EnableLowMemoryUsageメソッドを呼び出します。この機能は、実行時にすべてのフレームがコントロールにロードされないようにすることでメモリ使用量を抑えます。現在セルに表示されているフレームだけが(指定した数の非表示フレームとともに)コントロールにロードされます。ユーザーが上下のスクロールや表示フレーム数の変更などを行うたびに、コントロールは必要な新しいフレームを要求します。たとえば、セルレイアウトが2X2であるとします(100,000以上のフレームをロードするために、MedicalViewer.RowsMedicalViewer.Columnsとユーザーニーズを参照します。低いメモリー使用状況が有効にされるとき、コントロールがすべてをロードしないで。そのかわりに、セルがロードされるとき、このメソッドはMedicalViewer.FramesRequestedイベントを送ります。そして、4つのフレーム(1、2、3と4)(セルが2X2であるので)を要請する。一度ユーザーがフレーム番号5を表示するためにセルの下でスクロールしたら、それがもはや見えないので、フレーム番号1は破棄されます。そして、イベントは要求フレーム番号5まで発生されます。フレームが要請されるとき、ユーザーはMedicalViewerCell.SetRequestedImageメソッドを用いてコントロールに送ることになっています。低いメモリー使用状況が有効にされるとき、MedicalViewer.MedicalViewerVirtualImageクラスはimageが存在するか、リージョンを持っているかどうか決定するか、ロードしたimageを得るのに用いられることができます。

レンダリングオプション

以下の特殊効果は、セル/サブセルimageに利用できます:

セルを印刷すること

MedicalViewerCell.GetCellImageメソッドを呼び出すことによって、セルのコンテンツのimageを得ます。このオーバーロードされたメソッドは、特定のサブセルのimageを得るために、バージョンを持っています。

セルとサブセル境界

セルまたはサブセルの境界は、以下のメソッドを用いて得られることができます:

ユーザーが指定したマウス座標に対応する画像座標を取得するには、MedicalViewerCell.PointToImageメソッドを呼び出します。

参照線

参照線は診断の正確さを高めるために役立ちます。参照線は、接続された他のセルに対してそのセルの位置を示す線として描画されます(セルはFrameOfReferenceUIDによって接続されます)。たとえば、セルAが他の3つのセルに接続されている場合、その3つのセルにセルAの位置を示す参照線が表示されます。

参照線を作成して、以下の値を塗りつぶすこと:

この情報が提供されたあと、Medical ViewerはFrameOfReferenceUIDに基づくセルの関係を検索して、参照線を描画します。

MedicalViewerCell.MedicalViewerReferenceLineProperties.Colorプロパティを使用して参照線のカラーを変更します。

参照線を有効または無効にするには、MedicalViewerCell.MedicalViewerReferenceLineProperties.Enabledプロパティを使用します。

最初と最後の参照線を有効または無効にするには、Leadtools.MedicalViewer.MedicalViewerReferenceLineProperties.ShowFirstAndLastプロパティを使用します。

© 1991-2016のLEAD Technologies, Inc. All Rights Reserved.