JPH10207700A - プログラム可能な医療用イメージング・システム - Google Patents

プログラム可能な医療用イメージング・システム

Info

Publication number
JPH10207700A
JPH10207700A JP21747497A JP21747497A JPH10207700A JP H10207700 A JPH10207700 A JP H10207700A JP 21747497 A JP21747497 A JP 21747497A JP 21747497 A JP21747497 A JP 21747497A JP H10207700 A JPH10207700 A JP H10207700A
Authority
JP
Japan
Prior art keywords
cell
overlap
script
medical imaging
imaging system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP21747497A
Other languages
English (en)
Inventor
Oliver Kelly Jeffrey
ジェフリー・オリヴァー・ケリー
David Hoford John
ジョン・デイヴィッド・ホフォード
Sundermorsy Gopar
ゴパル・サンダラモーシー
Marlai Stouval William Iii
ウィリアム・マーライ・ストウヴァル,ザ・サード
Calani Mckiene Martin
マーティン・カラニ・マッキーナ
Azhar Ari Faraz
ファラズ・アズハー・アリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of JPH10207700A publication Critical patent/JPH10207700A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Stored Programmes (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 臨床医に対してシステムの使い易さを高めた
アルゴリズムを取り入れたプログラム可能な医療用イメ
ージング・システムを提供する。 【解決手段】 少なくとも1つのサーバ装置を含むクラ
イアント/サーバ型アーキテクチュアを持っていて、グ
ラフィック・ユーザ・インターフェース、グラフィック
・ユーザ・インターフェース・イベント・ハンドラー・
システム(256)、メモリ装置、及び処理装置を持つ
コンピュータで構成されているプログラム可能な医療用
イメージング・システムに於いて、スクリプトを作成す
るために学習モードで動作し得るスクリプト作成システ
ム(252、254)と、スクリプトを同期的に実行す
る同期実行ルーチン(300)と、観察テンプレート上
のセルのオーバーラップを検出して補正するセル・オー
バーラップ検出及び補正ルーチン(400)とを有す
る。

Description

【発明の詳細な説明】
【0001】
【発明の分野】本発明は全般的に医療用イメージング方
式に関し、更に具体的に云えば、プログラム可能なイメ
ージング・システムに関する。
【0002】
【発明の背景】一般的に医療用イメージング・システム
は、患者の身体の一部分の画像を作成して医者が観察で
きるようにするために利用されている。場合によって様
式とも呼ばれる異なるイメージング技術を使って、患者
の身体の複数の部分をイメージングすることが出来る。
イメージング様式の例としては、コンピュータ断層撮影
(CT)イメージング、磁気共鳴(MR)イメージン
グ、超音波イメージング、ポジトロン・エミッション断
層撮影(PET)イメージング、及び核イメージングが
ある。
【0003】医療用の画像の作成、処理及び表示に関連
して、医療用イメージング・アプリケーションの開発に
は、一般的に、かなりのソフトウェア開発の努力を必要
とする。この開発は、グラフィック・ユーザ・インタフ
ェース(GUI)を基本とする医療用イメージングのア
プリケーションを開発するのに特殊なソフトウェア技術
が必要とされるので、高度に熟練したソフトウェア実務
者によって行われるのが普通である。しかし、ソフトウ
ェア技術者は、その知識の領域が限られている。実際に
ソフトウェア・アプリケーションを使う臨床医は、アプ
リケーションを開発するのに必要なソフトウェア技術に
熟練していないのが普通である。臨床医がイメージング
・アプリケーションを開発することが出来るように高度
に使いやすいイメージング・システムを提供することが
望ましい。
【0004】公知の「プログラム可能な(progra
mmable)」システムは、臨床医がカスタマイズさ
れたイメージング・アプリケーションを作成することが
出来るようにしている。例えば、最も簡単な形式のカス
タマイズ化は、特定の医者に対する表示スクリーン又は
その他の条件のカスタマイズ化である。更に複雑なカス
タマイズ化は、例えば研究機関では必要になる。
【0005】しかし、既知のプログラム可能なイメージ
ング・システムは多数の欠点がある。例えば、一つの既
知のプログラム可能なシステムは、新しいGUI素子を
作成/カスタマイズする能力がない。更に、こういうシ
ステムは基本システムに統合されておらず、その結果、
視覚上、機能的及び使い易さの点で問題がある。更に、
経験のあるプログラマしかシステムに機能を追加するこ
とが出来ない。
【0006】次に、既知のプログラム可能なイメージン
グ・システムの別の欠点を説明する。これらの欠点は、
一般的にスクリプトの作成と実行、非同期的な実行、及
び観察テンプレート編集機能に関係するものである。
【0007】1.スクリプトの作成と実行 典型的には、画像を見る医者が所望のフォーマットで画
像データを見ることが出来るように、医療用の画像の表
示及び処理シーケンスを制御する為にスクリプトが利用
される。例えば、特定の医者は、特定の器官を見る時、
特定の系列(シーケンス)のビュー(view)が表示
されることを好むことがある。スクリプトは、画像の表
示を制御して所望の系列のビューが作成されて表示され
るように、作成することが出来る。
【0008】グラフィック・ユーザ・インターフェース
(GUI)を基本とするソフトウェア・アプリケーショ
ンから十分に機能的で使いやすいスクリプトを作成する
ことは困難である。典型的には、ボタンのクリックのよ
うなGUIイベントを記録し、同じアプリケーション内
でこのイベントを再現することによってスクリプトが作
成される。しかし、多くの場合、異なる処理環境のコン
テキストで使うことの出来る出力スクリプトを作成する
ことが望ましい。こういう場合、単なる一系列のGUI
イベントではなく、ユーザが行った動作のセマンティク
ス(semantics)を捕捉しなければならない。
【0009】種々のレベルのGUIイベントを記録して
再生することが出来るアプリケーションの例は多くあ
る。このような一つの既知のプログラムは、マウスの動
き、ボタンを押したこと並びにキーボードのクリックを
記録し、これらのイベントを再現する。しかし、GUI
に対する極くわずかな変更でも、その変更を捕捉するに
はイベントをもう一度記録することが必要になる。
【0010】別の既知のアプリケーションは、単にマウ
ス及びキーボードの動作ではなく、作動された(押され
た)GUIウィジット(ボタン、スライダ等)を記録す
る。このプログラムは、GUIの変更がわずかな場合、
問題を軽減するが、それでも、もとのアプリケーション
で作成されたスクリプトを再生することを必要とする。
即ち、このプログラムはアプリケーションを記録し、同
じアプリケーションを使ってそれを再生することが出来
るようにするだけである。作成されたスクリプトは、計
装として設けられたアプリケーションの外部で使うよう
に設計されていない。更に、作成された出力スクリプト
のシンタックス(syntax)が完全に予じめ定めら
れていて、ユーザが構成し得るものではない。
【0011】2.非同期的な実行 既知の医療用イメージングシステムはクライアント/サ
ーバ形アーキテクチュアを持っている。このアーキテク
チュアの主な利点は、アプリケーションがほとんど処理
をしないので、アプリケーションのプロセスがユーザの
面倒を見る状態にとどまることが出来ることである。大
抵の処理はサーバによって処理される。このサーバは、
特定のサービスを行う「専門家」であり、実際に、特定
のタスクに対して最適にした専用のハードウェアで動作
することがある。この専門化の良い例が、共通の画像処
理動作をハードウェアで加速する処理サーバである。ネ
ットワークに分布したリソースにアクセスする能力が、
クライアント/サーバ形アーキテクチュアの主な利点で
ある。
【0012】クライアント/サーバ形アーキテクチュア
に於けるタスクの実行について云うと、アプリケーショ
ンがあるサービスに対する要請(リクエスト)を出す。
この要請を処理するサーバは、ローカル・エリア・ネッ
トワークのどこにあっても良いから、アプリケーション
はその結果をユーザに報告する前に、動作が完了するの
を待たなければならない。アプリケーションが待たなけ
ればならない時間の長さは、サーバの速度を含めた多く
の因子に関係する。対話状態に留まる為には、アプリケ
ーションは明け渡しをしなければならないが、これは典
型的には、アプリケーションが他のユーザの要請に応答
することが出来るように、実行スレッド(threa
d)をアイドル状態に戻すことによって行われる。この
明け渡す機能が高度に対話型のアプリケーションの基本
である。前に待ち行列に入れていた要請からの返答が到
着した時、アプリケーションはアプリケーションの処理
コンテキストをこの要請以前の状態に回復し、動作の結
果を提示しなければならない。この過程は、普通、非同
期挙動と呼ばれている。
【0013】経験によると、要請−明け渡し−返答形の
パラダイムを実施すると、プログラミングにかなりの昏
迷が入り込むことが分かった。これは、1個の動作を多
数の実行スレッドに分割しなければならないし、状態ま
たはコンテキスト情報を、要請側を返答側に拘束するよ
うに管理しなければならないし、また多数の対話型の非
同期的な実行スレッドの為に、微妙な診断の難しいタイ
ミングに関係するエラーがコードに入り込むことがある
からである。その結果得られるコードは維持するのが難
しい。こういう因子により、こういう環境でのプログラ
マの生産性が大幅に低下している。
【0014】それに、非同期的な実行のアプリケーショ
ン・コードは複雑であって、こういう環境でコードを開
発するには、コンピュータ・プログラミングの高度の熟
練が要求される。例えば、上に述べた要請−明け渡し−
返答形の開発パラダイムでは、経験のあるソフトウェア
技術者に対して、典型的には6週間ないし8週間の訓練
期間が必要である。この訓練期間の多くは、非同期的な
ソフトウェア・プログラミングの細かい点を理解するこ
とに費やされる。更に、非同期的なプログラミングの複
雑さの為、これは、普通はソフトウェア技術者ではない
大抵の最終ユーザにとって不適当な方式である。クライ
アント/サーバ形アプリケーションの開発者は、大部
分、クライアント/サーバ形アプリケーションの融通性
並びに高い対話能力の代償として、要請−明け渡し−返
答形のプログラム・パラダイムの開発の効率の悪さを受
け入れている。
【0015】更に、非同期的な動作のある欠点を避けよ
うとして、データベースの機能が同期的に挙動する方式
が存在する。例えば、既知の一つの方式では、プログラ
マが異常に長い動作を検出し、是正措置をとる。こうい
う挙動を実施する為に使われる機構がポーリング機構で
あり、待ち段階の間、GUIを凍結する。即ち、GUI
は真の明け渡しをしない。応答の待ち時間を非常に短く
しなければならない医療用イメージング及び実時間制御
のアプリケーションでは、オペレータが長いトランザク
ションの間に緊急の状況に応答しなければならないこと
があるから、こういう形式の機構は受け入れることが出
来ないことがある。この方式の別の欠点は、待ち期間の
間、長い動作を取り消すことが出来ないことである。要
請−明け渡し−返答形のパラダイムのコードを入れる煩
わしさを無くすと共にその利点を生かしながら、長いト
ランザクションの間でも、アプリケーションの対話能力
を温存するシステムを提供することが望ましい。
【0016】3.オーバーラップの検出と補正 医療用イメージング・アプリケーションを開発する時、
頻繁に起こるのは観察テンプレートを構成することであ
る。観察テンプレートは、医療用診断情報を見直すこと
に関連して、画像、曲線、テキスト及びその他の患者情
報をグラフで提示することである。観察テンプレートを
構成する時、典型的には矩形セルが構成され、スクリー
ン上のセルの配置を選び、これらのセルに対する属性の
明細を定める。セルは、画像、曲線、テキスト並びに診
断過程に関連するその他の情報を含むことが出来る。
【0017】患者情報を見る多くの医者にとって、情報
の提示及びフォーマットは非常に重要である。その為、
多くの医者は、自分の個人的な診断の必要に合う個人向
けの観察テンプレートを要求する。最終ユーザが観察テ
ンプレートをカスタマイズできるようにする為には、イ
メージング・システムは、観察テンプレートを構成し又
は変更する容易な方法を提供しなければならない。更
に、観察テンプレート・エディタは特定のタスクに対し
て最適にすることが好ましい。
【0018】観察テンプレートを構成する既知の1つの
システムは、テンプレートを作る為にポイント・アンド
・クリック形のインターフェースとなるグラフ式観察テ
ンプレート・エディタを使っている。グラフ式エディタ
は、観察テンプレートを構成する為の最終ユーザにとっ
て容易な方法であることが分かっている。
【0019】しかし、既知の観察テンプレート・エディ
タの1つの欠点は、こういうシステムはユーザがセルの
オーバーラップを補正することを必要とすることであ
る。具体的に云うと、セルはタイル状になっていて、オ
ーバーラップがあると重要な診断情報が隠れてしまうの
で、決してオーバーラップを生じることがない。従っ
て、ユーザは、マウス又はプロパティ・エディタを使っ
て、辛抱強く、細心にセルを位置ぎめしなければならな
い。このタスクを助ける為、ある観察テンプレート・エ
ディタは、更に正確なアラインメントを行うことが出来
るようにするズーム・モードのようなツールを含んでい
る。他の既知のシステムは、タイリング(tilin
g)ポストプロセッサを使い、それがセルを最小の幾何
学的な形に詰め込む。医療用イメージングの観察テンプ
レートを構成する場合、こういうツールは実行する時に
時間がかかりすぎるか、タイリング・ポストプロセッサ
の場合のように、ユーザに代ってあまりにも多くのこと
をする為に、融通性が欠ける。手作業のセル・アライン
メント・タスクを加速することにより、使い易さを高め
ることが出来るような自動的なオーバーラップ検出及び
補正アルゴリズムを提供することが好ましい。
【0020】既知のプログラム可能なシステムに関連す
る上に述べた欠点が、臨床医が比較的容易に且つ素早く
イメージング・アプリケーションを開発することが出来
るように、ユーザにとって極めて親しみやすいプログラ
ム可能なシステムによって解決されることが好ましい。
更に、スクリプトについて云うと、このスクリプトは、
環境の如何に関わらず、余分のかなりの努力及び費用を
かけずに、医者の希望に従って、画像及びデータを観察
の為に表示することが出来るように、多くの異なる環境
で使うことが出来ることが好ましい。このスクリプトの
作成が簡単であって、対話型であることも好ましい。更
に、前に述べたように、要請−明け渡し−返答形のパラ
ダイムのコードを入力する煩わしさを避けると共に、そ
の利点を生かしながら、長いトランザクションの間で
も、アプリケーションの対話能力を温存するシステムを
提供することが望ましい。また、観察テンプレートを作
成するため、手作業のセル・アラインメント・タスクを
加速することにより、使い易さを高めた自動的なオーバ
ーラップ検出及び補正アルゴリズムを提供することが望
ましい。
【0021】
【発明の概要】上記並びにその他の目的が、臨床医にと
ってシステムの使い易さを高める為に、アルゴリズムを
取り入れたプログラム可能な医療用イメージング・シス
テムによって達成することが出来る。プログラム可能な
点について云うと、本発明の一面では、スクリプトを作
成する為に使うことの出来る学習モードを含むプログラ
ム可能なシステムを提供する。学習モードでは、ユーザ
が一連の動作を稽古し、それらの動作を後で再現するよ
うに保存することが出来る。学習モードは、ユーザがプ
ログラミングの努力を伴わずに新しい機能を開発できる
ようにするので、新しいユーザ・プロトコルを定義する
為の直感的な出発点になる。
【0022】更に具体的に学習モードについて云うと、
システムは、システム構成ファイル、テーブル・ローダ
及び自動インストーラを含む初期設定/計装サブシステ
ムを含む。動作について説明すると、テーブル・ローダ
がシステム構成ファイルを読取って、システム構成ファ
イルから読取った情報を使って、マスター・テーブルを
初期設定する。自動インストーラが、マスター・テーブ
ルに記憶されている「ウィジット(wedget)ネー
ム」を使って、グラフィック・ユーザ・インターフェー
ス(GUI)アプリケーションから関連するウィジット
を見つけ、そのウィジットIDをマスター・テーブルに
記憶する。
【0023】システムGUIで作業するユーザが、一連
のイベントを入力し、それがGUIイベント・ハンドラ
ー・システムによって記録される。コード作成器が、特
定された各々のGUI動作に対応するスクリプト指令を
出力する。コード圧縮システムが、現在の指令及び前の
指令からの出力変数を抽出し、出力変数を圧縮コードに
ある1及び0と比較する。マスクされていないオブジェ
クト・ネームの副次記号表現が同じであれば、出力は前
の出力の代わりであると考えられる。システムが前の出
力を追跡し、新しい出力が代わりであると考えられる場
合、前の出力を削除する。一般的に、コード圧縮システ
ムからの出力が出力スクリプトと呼ばれる。
【0024】上に述べたシステムを使って作成された出
力スクリプトは、他の処理環境に容易に転送可能であ
る。更に、このシステムは、既知のプログラム可能なシ
ステムに比べて、比較的使いやすく、ユーザにとって極
めて親しみやすい。更に、このシステムは、単に動作自
体を記録するのではなく、動作の意図を捕捉する形で、
ユーザ動作(例えば、キーのクリック及びマウスの動
き)のシーケンスを出力指令に解釈する。例えば、2つ
の像を付け加える為、GUIは、ユーザが付け加える画
像を選び、加算動作を選び、選ばれた動作を印加するな
どという一連の動作を行うことを必要とする。本発明の
システムでは、出力は、個別の画像を選択するプロセス
よりもむしろ、ユーザが意図する画像を付け加える指令
を表わす。
【0025】本発明の別の一面では、下位の非同期的な
アーキテクチュアに対する非ブロッキング同期インター
フェイスを構成するアルゴリズムを提供する。全般的に
云うと、このアルゴリズムはアプリケーションのクライ
アント/サーバ部分を同期的な開発の環境から切り離
す。このアルゴリズムを使うと、プログラマーは、非同
期的なプログラミング技術に頼らずに、非ブロッキング
型の高度に対話型のクライアント/サーバ形アプリケー
ションを開発することが出来る。
【0026】その結果得られるコードは同期的で、非常
に読取りやすく、こじんまりしており、クライアント/
サーバ形アーキテクチュアのプログラミングに習熟して
いない実務家によって開発することが出来る。更に、こ
のアルゴリズムは、多重実行スレッドの本質的な支援を
持っている又は持っていないオペレーティング・システ
ムで実施することが出来る。
【0027】本発明の更に別の一面では、オーバーラッ
プ検出及び補正アルゴリズムを提供する。一形式では、
このアルゴリズムは、観察テンプレートを作る為の観察
テンプレート・エディタに統合されている。1実施例で
は、オーバーラップ検出及び補正アルゴリズムは、1又
は2境界矩形セル・オーバーラップ検出及び補正アルゴ
リズムである。このアルゴリズムは非パッキング型であ
って、その為、ユーザのアラインメント動作の意図を正
確に実行し、セル・アラインメント・タスクを加速する
という重要な利点をもたらす。
【0028】上に述べたプログラム可能なシステムは、
ユーザに極めて親しみやすく、臨床医はこのシステムを
使って、イメージング・アプリケーションを比較的容易
に且つ素早く開発することが出来ると考えられる。更
に、このシステムを使って作成されたスクリプトは、多
くの異なる環境で使うように容易に移すことが出来、こ
の為、環境の如何に関わらず、余分のかなりの努力及び
費用を伴わずに、医者の希望に従って、画像及びデータ
を観察の為に表示することが出来る。更に、クライアン
ト/サーバ形アーキテクチュアを利用するが、要請−明
け渡し−返答形のパラダイムのコードを入力するという
煩わしさを避けながら、長いトランザクションの間で
も、システムの対話能力を温存する。更に、観察テンプ
レートの作成について云うと、自動オーバーラップ検出
及び補正は、手作業のセル・アラインメント・タスクを
加速することにより、使い易さを高めることが出来る。
【0029】本発明の一態様では、少なくとも1つのサ
ーバ装置を含むクライアント/サーバ型アーキテクチュ
アを持っていて、グラフィック・ユーザ・インターフェ
ース、グラフィック・ユーザ・インターフェース・イベ
ント・ハンドラー・システム、メモリ装置、及び処理装
置を持つコンピュータで構成されていて、前記処理装置
が前記グラフィック・ユーザ・インターフェース、グラ
フィック・ユーザ・インターフェース・イベント・ハン
ドラー・システム及びメモリ装置に結合されているプロ
グラム可能な医療用イメージング・システムが提供され
る。該システムは、スクリプトを作成するために学習モ
ードで動作し得るスクリプト作成システムと、スクリプ
トを同期的に実行する同期実行ルーチンと、観察テンプ
レート上のセルのオーバーラップを検出して補正するセ
ル・オーバーラップ検出及び補正ルーチンとを有する。
前記スクリプト作成システムは、a)前記グラフィック
・ユーザ・インターフェース・イベント・ハンドラー・
システム及び前記メモリ装置に結合されていて、前記メ
モリ装置に記憶されているシステム構成ファイルからの
データを使ってマスタ・テーブルを初期設定するように
構成された初期設定装置であって、前記システム構成フ
ァイルが計装に関連するデータを持っている初期設定装
置と、b)前記グラフィック・ユーザ・インタフェース
・イベント・ハンドラー・システムに結合されていて、
前記イベント・ハンドラー・システムによって記録され
た各々のイベントに対応するスクリプト指令を作成する
ように構成されたコード作成サブシステムとを有してい
る。前記初期設定装置は、前記システム構成ファイルを
読取って前記マスター・テーブルを初期設定するテーブ
ル・ローダ、及び前記マスター・テーブルに記憶されて
いるウィジット・ネームを前記グラフィック・ユーザ・
インターフェースからのウィジットと関連させ、該関連
するウィジットに対するウィジット識別子を前記マスタ
ー・テーブルに記憶する自動インストーラとを有してい
る。前記コード作成サブシステムは、前記イベント・ハ
ンドラー・システムによって記録された各々のイベント
に対応するスクリプト指令を出力するように構成された
コード作成器と、該コード作成器に結合されていて、該
コード作成器から出力されたスクリプト指令を受け取
り、現在の指令及び前の指令からの出力変数を比較し
て、現在の指令が前の指令の代りであれば、前の指令を
削除するように構成されているコード圧縮サブシステム
とを有している。前記コンピュータはスクリプト指令を
実行するインタプリタを有し、また前記同期実行ルーチ
ンは、1)スクリプト指令を実行するように前記インタ
プリタを動作させ、2)スクリプト指令がサーバ要請を
含んでいる場合、(a)該サーバ要請をサーバ装置に送
信し、(b)前記インタプリタを中断し、(c)前記イ
ンタプリタが中断されている間、前記グラフィック・ユ
ーザ・インターフェースを対話状態に保つステップを含
んでいる。前記同期実行ルーチンは、要請に対するサー
バの返答を受け取ったとき、更に、前記要請に対するサ
ーバの返答を処理し、前記インタプリタの動作を再開し
てスクリプト指令を実行するステップを含んでいる。前
記観察テンプレートはその上に複数個のセルを表示する
ことが出来るようになっており、前記セル・オーバーラ
ップ検出及び補正ルーチンは、1)第1のセルが観察テ
ンプレート上の他のセルとオーバーラップしているかを
検出し、2)セルのオーバーラップが検出された場合、
(a)最小オーバーラップ補正距離Dminを決定し、
(b)前記第1のセルをこうして決定された最小オーバ
ーラップ補正距離Dminだけ移動させ、(c)第1の
セルを移動させた後、第1のセルが別のセルとオーバー
ラップしているかどうかを検出するステップを含んでい
る。前記第1のセルが前記観察テンプレート上の別のセ
ルとオーバーラップしているかどうかを検出する前記ス
テップは、前記第1のセルの隅が別のセルの内側にある
かどうかを判定し、別のセルの隅が前記第1のセルの内
側にあるかどうかを判定し、第1のセルのどの隅も別の
セルの内側になくて、前記第1のセルが別のセルと交差
しているかどうかを判定し、前記第1のセルが前記テン
プレートの縁を越えて伸びているかどうかを判定するス
テップを含んでいる。前記最小距離Dminを決定する
前記ステップは、(a)前記第1のセルの頂部からそれ
とオーバーラップするセルの底部までの距離、(b)前
記第1のセルの底部からそれとオーバーラップするセル
の頂部までの距離、(c)前記第1のセルの左辺からそ
れとオーバーラップするセルの右辺までの距離、及び
(d)前記第1のセルの右辺からそれとオーバーラップ
するセルの左辺までの距離を決定するステップを含んで
いる。前記最小距離Dminは、決定された距離のうち
の最短距離である。
【0030】
【発明の好ましい実施の形態】本発明の一面は、システ
ムの使い易さを高めるアルゴリズムを取り入れたプログ
ラム可能な医療用イメージング・システムに関する。ア
ルゴリズムは全般的に、学習モードのスクリプトの作
成、同期動作、及び観察テンプレート・エディタに於け
るオーバーラップ検出及び補正に関係する。重要なこと
は、本発明を多くの異なる医療イメージング様式で実施
することが出来、何ら1つの特定の様式で実施する場合
に制限されないことである。次に本発明の1実施態様の
プログラム可能なシステムを説明する。更に、学習モー
ド、同期動作並びにオーバーラップ検出及び補正ルーチ
ンを説明する。
【0031】[プログラム可能なシステムの説明]ここ
で説明するプログラム可能な医療用イメージング・シス
テムは、例えば米国ウイスコンシン州、ブルックフィー
ルド、スート100、ノース・パトリック・ブールバー
ド250所在のヒューレット・パッカード・カンパニか
ら商業的に入手し得る製品名「HP715/100UN
IX」を基本としたワークステーションを含む多くのハ
ードウェア・プラットフォームで実現することが出来
る。1形式では、例として云うと、ルーチンは、米国ウ
イスコンシン州、ウォーキーシャ、ノース・グランドビ
ュー・ブールバード3000所在のゼネラル・エレクト
リック・カンパニ社GEメディカル・システムズ事業部
から商業的に入手し得る「GENIE(登録商標)シス
テム」の名前で知られいるような核イメージング・シス
テムに統合して、それに関連して実施することが出来る
と考えられている。もちろん、ルーチンは、核イメージ
ング・システム以外のものを含む他の多くの医療用イメ
ージング・システムに関連して、他の多くのプラットフ
ォームで実施することが出来る。
【0032】次に説明するのは、スクリプトの作成、並
びにその他のプログラム能力に関係するタスクに対する
ツールを含む1実施態様のプログラム可能なシステムで
ある。これらのツールは、ユーザ・ワークステーション
で実現することが出来、後で説明するように、メニュー
を介してユーザがアクセス可能である。ツールの機能を
理解しやすくする為、新しいアプリケーション、即ちス
クリプトを開発するステップを下にまとめて示す。
【0033】1.予め定めたプロトコル・ナビゲーショ
ン区域に所望のボタンを置く。 2.GUI上でアプリケーションの挙動を稽古すること
により、コードを作成する。 3.必要であれば作成されたコードをカスタマイズす
る。 4.作成されたコードをボタンに付加する。
【0034】プログラム能力に関するツールは、これら
の4つの基本的な工程をポイント・アンド・クリック動
作で達成出来るようにすることが好ましい。更に、簡単
なアプリケーションでは、これらのツールは、プログラ
ミングを必要としないようにし、更に複雑なアプリケー
ション並びに更に融通性を持たせる場合には、ビジュア
ル・ベーシック(Visual Basic)及びC言
語を使って低レベルのプログラミングを行うことが出来
るようにすることが好ましい。UNIXを基本としたシ
ステムに対するビジュアル・ベーシック・コンパイラ
は、米国ニューヨーク州、ジェームスヴィル、ジェーム
スヴィル・ロード4933所在のサミット・ソフトウェ
ア・カンパニから商業的に入手し得る。
【0035】1実施態様では、特に前に述べたGENI
Eの環境で実施する場合、現存のGENIEプロトコル
に従ってナビゲーションユーザ・インターフェース(U
I)のモデルを定め、簡単なポイント・アンド・クリッ
クによりボタン及びメニューの形の新しいナビゲーショ
ン要素を付け加える。ボタンの二重クリックにより、ユ
ーザはそのボタンに挙動を持たせることが出来る。普
通、挙動は結果スクリーンに表示すること、又は一連の
処理動作を行い、その後にその結果を表示することであ
る。更に、生(なま)の縮小した画像の区域が常に存在
しており、アプリケーションの「ダッシュボード」にな
る。生の画像区域がダッシュボードの性質を持つことに
より、アルゴリズムの変更の影響が瞬時的にフィードバ
ックされる。この対話能力とアプリケーションの開発及
び実行の間の透明性により、実質的に設計−組立−試験
サイクルが無くなる。
【0036】図1は前掲のGENIEシステム用に構成
した一例のユーザ・インターフェース100を示す。図
1に示すように、ナビゲーション区域102が組み立て
られつつある。2つのタブ104及び106が作られて
おり、第1のタブ104が3つのボタン108、110
及び112を含む。ナビゲーション区域102を組み立
てる為の「ナビゲーション」メニュー項目114がメニ
ュー116に設けられている。ユーザ・インターフェー
スはスクリプト・エディタ窓118をも含み、メニュー
116はユーザが選ぶことの出来る種々の機能を示して
いる。アクティブ・ヘルプ窓120も示されている。更
にインターフェース100は、医療用の画像及びデータ
を表示する画像区域122をも含む。
【0037】アプリケーションの挙動を特定しやすくす
るため、ポイント・アンド・クリック作成器、統合エデ
ィタ及び外部インタフェースが設けられる。ポイント・
アンド・クリック・コード作成器は、例えばユーザがコ
ードを使うことが出来るようにするユーザ動作のセマン
ティクスを表すコードを作成するために設けられる。統
合エディタは、融通性を最大にする為に複合コードを書
き込むことが出来るようにする為に設けられており、ま
た統合エディタは、作成されたコードをカスタマイズす
る為に使うこともできる。外部に限定されたライブラリ
に対するインタフェースが、性能を左右するような計算
並びに最大の融通性の為に設けられている。この外部イ
ンターフェースは、例えば、画像処理機能又は外部デー
タ収集装置のような外部機能を素早く利用出来るように
する。
【0038】多数の部品をプログラム能力の環境内に統
合して、臨床アプリケーションを開発する為のコヒーレ
ンスの高いツールとする。これらの部品は、学習モー
ド、スクリプト・エディタ、スクリプト・デバッガ及び
スクリプト実行部を含む。学習モードは、ユーザが1つ
のシーケンスの動作を稽古し、後で再現されるようにそ
れらの動作を保存することが出来るようにする。更に、
学習モードを使って、ユーザは動作のシーケンスを変更
することが出来る。学習モードは、ユーザがプログラミ
ングということをせずに、新しい機能を開発することが
出来るようにするので、新しいユーザ・プロトコルを定
義する為の直感的な出発点になる。学習モードは、動作
とそれに対応するユーザ・プロトコル・スクリプトとの
間のリンクとなるので、新米のユーザに対する良い学習
ツールにもなる。1形式では、学習モードは次のことを
行う。
【0039】1.1組のユーザ動作を記録し、保存し、
後でプロトコルを組み立てるのに使うことが出来る。 2.記録の間、動作のシーケンスからの作成されたテキ
ストを表示することが出来る。 3.データ・ローディング及び保存動作が記録可能であ
る。 4.観察テンプレートの記述が記録可能である。 5.画像及び曲線処理動作が記録可能である。 6.画像及び曲線統計結果が記録可能である。
【0040】1例としての学習モード捕捉窓150が図
2に示されており、この図には学習モードを動作させた
結果が示されている。学習モードについて更に詳しいこ
とは次の部分で説明する。
【0041】再び図1を参照すると、ユーザがユーザ・
プロトコルを編集することが出来るようにする為に、ス
クリプト・エディタ124が設けられている。エントリ
並びにユーザ・プロトコルに対するテキストの変更を容
易にする為、次に述べる特徴を設けることが出来る。下
記の全ての特徴はマウス又はキーボードから作動するこ
とが出来る。
【0042】1.「Edit(編集)→Cut(切り取
り)」、「Edit(編集)→Copy(コピー)」、
及び「Edit(編集)→Paste(貼り付け)」の
為のテキスト編集能力。 2.順方向及び逆方向のテキスト・ストリングの探索。
探索はいくつかのテキスト・ファイルに亘ることが出来
る。 3.テキスト・ストリングの交換。
【0043】適当なスクリプト・エディタは米国ニュー
ヨーク州、ジェームスヴィル、ジェームスヴィル・ロー
ド4933所在のサミット・ソフトウェア・カンパニか
ら商業的に入手し得る。
【0044】更に図1について説明すると、ユーザ・プ
ロトコルの開発及びデバッギングを助ける為にスクリプ
ト・デバッガ126が設けられている。スクリプト・デ
バッガ126は下記の作用を実行する。
【0045】1.シンタックス検査の特徴が設けられ
る。エラーが存在する場合、正しくない行が強調され、
カーソルがシンタックスとして正しくない要素の上に置
かれる。更に、診断メッセージが表示される。 2.ユーザ・プロトコルは一度に1行実行することが出
来る。 3.機能/手順に歩進することが出来、或いは機能/手
順を1つのユニットとして実行することが出来る。 4.ブレーク点をユーザ・プロトコル内の任意の行にセ
ットすることが出来る。ユーザ・プロトコルの実行はブ
レーク点で停止する。ブレーク点は取り除くことが出来
る。 5.変数をデバッガ内にある間に検査し変更することが
出来る。
【0046】適当なスクリプト・デバッガが前に引用し
たサミット・ソフトウェア・カンパニから商業的に入手
し得る。
【0047】完全な又は部分的に完成したユーザ・プロ
トコルの実行128がスクリプト実行部によって行われ
る。プロトコルは、そのプロトコルの断片を開発し、次
いで徐々に機能を埋めることによって、増分的に試験す
ることが出来る。スクリプト実行部は、下記の特徴を用
いてこの能力を発揮する。
【0048】1.プロトコルはスクラッチから開始する
ことが出来る。完了するまで又は割込みに出会うまで実
行を続ける。 2.プロトコルを実行するとき、ユーザはスクリプト実
行部から全ての画像表示、対話、メニュー及びツールを
利用し得る。本質的にはプロトコルは、ユーザが実際の
プロトコルを始動させた場合と同様に実行される。スク
リーン画像区域全体の代わりに、縮尺された画像区域1
22が表示されることに注意されたい。 3.ユーザ・プロトコルは休止ボタンを使うことによ
り、任意の点で中断可能である。再開した時、ユーザ・
プロトコルを休止した点から実行が続けられる。 4.ユーザ・プロトコルは、停止ボタンを使って、任意
の時に中止することが出来る。 5.全ての予め定められた機能ライブラリ及びユーザに
よって定められた機能ライブラリがスクリプト実行部で
利用出来なければならない。 6.多重プロトコルは同時に実行することが出来ると共
に対話状態に留まることが出来る。これは、全てのプロ
トコルが或るCPU時間を受け取ることを保証する時間
スライス機構によって達成される。
【0049】新しいプロトコルの作成について云うと、
ユーザは現存のプロトコルを変更し、変更したプロトコ
ルを新しいプロトコルとして保存することが出来る。こ
の代わりに、ユーザはスクラッチから出発することが出
来る。ユーザが現存のプロトコルを削除したいと思うこ
とも考えられる。こういう活動が一般的にプロトコル・
マネージメントと呼ばれる。1実施態様では、全てGU
I100からアクセス可能である下記の特徴がプロトコ
ルを管理するのに利用することが出来る。
【0050】1.製造業者により提供されたプロトコル
をコピーすることが出来、そのコピーは「File(フ
ァイル)→Save As(そのまま保存)」の特徴
(130)を使って変更することが出来る。 2.現存のプロトコルを見ることが出来る。即ちユーザ
にはソース・スクリプトが常に利用出来る。 3.ユーザは「File(ファイル)ファイル→New
(新)」(130)によりスクラッチから新しいユーザ
・プロトコルを作成することが出来る。 4.「File(ファイル)→Save(保存)」(1
30)により現存のプロトコルを変更することが出来
る。 5.「File(ファイル)→Delete(削除)」
(130)により現存のプロトコルを削除することが出
来る。
【0051】非常に使いやすいシステムには、そのシス
テム内の全てのアプリケーションが従う「ルック・アン
ド・フィール(look and feel)」があ
る。同様に前掲のGENIEシステムでは、プロトコル
に対しルック・アンド・フィールが設定されている。1
実施態様では、ナビゲーションGUI組立て部114を
設けて、アプリケーションを作成するタスクを簡単にす
る。ナビゲーションGUI組立て部114は下記のこと
をする。
【0052】1.ポイント・アンド・クリック・インタ
ーフェースを使って、タブ、ボタン及びメニューの項目
を作成することが出来る。プログラミングは全く必要と
されない。 2.ナビゲーションGUI組立て部の全ての要素に対し
てプロパティ・エディタを設ける。プロパティは、「動
作(action)」手順の明細並びに要素の可視的な
性質を含む。 3.完成されたナビゲーションの記述がプロトコルと共
に保存される。プロトコルを実行するとき、動作プロパ
ティが呼び出される。
【0053】1実施態様では、オンライン・ハイパーテ
キスト・ヘルプ・システム120を含む多数のツール1
32を設ける。ヘルプ・システム120は、プログラム
能力の環境の全ての要素の利用に対してヘルプを提供す
る。この全般的なヘルプの他に、ビジュアル・ベーシッ
ク言語の包括的なヘルプも設けてある。言語に対する全
ての新しい拡張に対してヘルプ・ファイルも設けてあ
る。適当なハイパーテキスト・ヘルプ・システムが、米
国コネティカット州、リッジフィールド、イーサン・ア
レン・ハイウェイ241所在のブリストル・テクノロジ
ー・インコーポレーテッドから商業的に入手し得る。
【0054】ヘルプ・システムのスクリーンを通じてス
クリプトを容易に作成することが出来る。具体的に云う
と、ユーザはヘルプ・スクリーンを呼び出し、作成しよ
うとするスクリプトに関連するトピックを選ぶことが出
来る。典型的には、ユーザが所定の機能を理解するのを
助ける為、サンプル・ワーキング・コード、即ち、スク
リプトがヘルプ・ファイルに含まれている。ユーザは例
を強調表示し、「コピー」指令を使って例をコピーし、
その後「貼り付け」指令を使って、この指令をスクリプ
ト・エディタに貼り付けることが出来る。ユーザは、ス
クリプトを直接的に使って指令を実行するか、又は別の
スクリプトに含める為にスクリプトを編集することが出
来る。
【0055】観察テンプレート・エディタのツールの場
合について云うと、前に述べたように、観察テンプレー
トはスクリーンの配置(レイアウト)であり、この配置
は複数のセルで構成されており、各々のセルには画像
(単独又は多重フレーム)、曲線又はオーバーレー・グ
ラフィックスを入れることが出来る。1実施態様では、
観察テンプレート・エディタ(RTE)は、ユーザが観
察テンプレートをグラフ式に組み立てることが出来るよ
うにする。
【0056】図3はRTEに対する1実施態様のユーザ
・インターフェイス200を示す。インターフェイス2
00は、作られたセルを表示する表示区域202を含
み、ユーザが種々の機能を容易に選ぶことが出来るよう
にする「ファイル」メニュー204が設けられている。
更に、画像、曲線及びROIデータに対する特定の数学
的な又は臨床的な処理を行う為にデータ処理指令206
が設けられている。標準的な1組のデータ処理指令と、
こういうデータ処理指令206に対する詳細なヘルプ・
ファイルが設けられる。アドレスされる全体的な機能区
域は、画像及び曲線の演算と、画像の閾値作用と、画像
の切り取り、コピー及び貼り付けと、画像及び曲線の統
計と、画像のフィルター作用(空間及び周波数)と、曲
線のフィルター作用と、画像のフレーム組替えと、画像
の向き(回転、方位及び鏡)と、画像の寸法取り(任意
の寸法)と、ROI処理(論理動作)とである。
【0057】ツール132は、ユーザがプログラム、即
ちスクリプトを容易に且つ素早く作成することが出来る
ようにする。もちろん、各々の実行に全てのツール13
2が必要ではないこと、並びに他の実行にはこの他のツ
ールが望ましいことがあることが考えられる。従って、
種々のツールについてこれまで説明したことは、例に過
ぎず、本発明をそれに制限するつもりはない。
【0058】[学習モード]図4は、本発明の1実施態
様に従って学習モードのプログラム能力を達成するよう
に構成されたサブシステムを含むイメージング・システ
ム250のブロック図である。前に説明したように、学
習モードは、ユーザがあるシーケンスの動作を稽古し、
それらの動作を後で再現されるように保存することが出
来るようにするものであり、この学習モードを使うこと
によって、ユーザは動作のシーケンスを変更することが
出来る。本発明の1実施態様に従って学習モードを実施
する為、イメージング・システム250が初期設定/計
装サブシステム252、及びコード作成サブシステム2
54を含む。グラフィック・ユーザ・インターフェース
(GUI)イベント・ハンドラー・システム256が設
けられていて、GUIで起こるイベントを検出すると共
に、こういうイベントをコード作成サブシステム254
に供給する。後で更に詳しく説明するが、初期設定/計
装サブシステム252はシステム構成ファイル258、
テーブル・ローダ260及び自動インストーラ262を
含む。コード作成サブシステム254はコード作成器2
64及びコード圧縮システム266を含む。コード圧縮
システム266から出力スクリプト268が出力され
る。サブシステム252及び258は、例えばユーザ・
ワークステーション内に構成される。
【0059】全体について総括的に云うと、システム構
成ファイル258が、計装として備える必要があるシス
テム250内の全てのウィジットのリストを持ってい
る。出力制御スクリプト268を作成するために使われ
るシーケンス(テキスト・ストリング)も、対応するウ
ィジット・ネームと並んで、システム構成ファイル25
8内に表示されている。始動すると、システム構成ファ
イル258(これは読取可能なASCIIフォーマット
で記憶されている)が内部データ構造にロードされる。
基本ウィジットから出発して、データ構造内にある各々
のウィジットに対するウィジット識別子を探索して記録
する。実行の間、あるウィジット(ボタン、メニューの
項目など)が作動される(押される)と、内部データ構
造から出力制御スクリプト・シーケンスが得られる。こ
のシーケンスを、特定された規則を用いて有効な出力制
御スクリプト268に拡張する。制御シーケンスが、特
定された規則と共に、出力制御スクリプト268を表す
言語を定める。システム250は、単にシステム構成フ
ァイル258を編集することにより、異なるシンタック
ス又は指令を出力するように実行時間で構成し得る。更
に、内部制御シーケンス拡張論理は、シェル・スクリプ
トを含めて異なる出力言語に容易に拡張することが出来
る。更に、システム250が、単に動作自体を記録する
のではなく、動作の意図を捕捉する形で、ユーザの動作
(例えば、キーのクリック及びマウスの動き)のシーケ
ンスを出力指令に解釈する。例えば、2つの画像を付け
加える為に、GUIは、付け加えるべき画像を選び、付
加動作を選び、選ばれた動作を適用するなどというよう
な一連の動作をユーザが実行することを要求することが
ある。システム250では、出力が、個別の画像を選ぶ
プロセスよりもむしろ、ユーザが意図するものとして画
像を追加する指令を表す。
【0060】図5は、システム250の動作を更に詳し
く示すデータの流れ図である。前に述べたように、シス
テム構成ファイル258は、所定のアプリケーションを
計装し且つ出力スクリプト268を作成するために必要
な異なる要素を持っている。システム構成ファイル25
8内の典型的な行を下記に示す。
【0061】panUP:panZoomForm.panUp,NORMAL,O,C102G
2,VpanY($0panScope,$0panY)
【0062】この行は下に述べる6つのトークン(要
素)を含んでいる。 1.オブジェクト・ネーム(「panUP」) これは計装される指令の論理名称であり、英字(数字な
し)の場合に応じて敏感に変わるストリングである。こ
のネームは、後で説明するシステムのGenCode部
分で参照される。 2.ウィジット・ネーム(「panZoomForm.
panUp」) これは計装されるウィジットの名称であり、そのウィジ
ットに対する唯一のパス・ネームに対応すべきである。
このストリングは、アプリケーション・ウィジット階層
内のウィジットをルックアップするために使用され、オ
ブジェクトがウィジットに対応しない場合はNULL
(無効)である。 3.オブジェクトの種類(「NORMAL」) これはオブジェクトの種類を特定する。考えられる選択
は次の通りである。 様式(MODAL) この種類のオブジェクトは直接的に指令を作成せず、オ
ブジェクトにGenCodeが関連しているが、オブジ
ェクトが作動されたときにコードを作成すべきでない場
合に使われる。典型的には、アプリケーションの状態を
変えるあらゆるオブジェクトはMODALと記される。 デストラクタ/コンストラクタ(DESTRUCTOR
/CONSTRUCTOR) コンストラクタ及びデストラクタ・ウィジットは、作動
された時、ウィジットの数が変わるかもしれないことを
示し、自動インストーラ162に全てのウィジットを再
びインストールさせる。 ノーマル(NORMAL) これは、上に述べた何れの種類でもない全てのウィジッ
トに与えら一般的な種類である。 4.グループ(「0」) グループは、同様なオブジェクトを一様な形で取り扱う
ための便利な方法を提供する。 5.圧縮コード(「C102G2」) これは出力コードを再構成する為に使われる随意選択の
特徴である。例えば、ユーザがマウスをスクリーンを横
切って引っ張る時、マウスの各々の位置で指令を作成す
る代わりに、動作の終わりに指令を作成することが望ま
しいことがある。圧縮コードは、このような圧縮を行う
のに使われる規則を記述する。 6.GenCode(「VpanY($OpanScope,$OpanY)」) これは、GUIイベントを有効な出力スクリプトに変換
する時にどの規則を使うべきかを特定する。
【0063】システム構成ファイル258に表されてい
る要素は、計装されたアプリケーションのウィジット階
層及び作成された出力スクリプト268と密接な関係を
持つ。テーブル・ローダ260が実行時間にシステム構
成ファイル258を読取り、システム構成ファイル25
8から読取った情報を使って、本明細書でマスター・テ
ーブルと呼ぶ内部データ構造270を初期設定する。シ
ステム構成ファイル108を実行時間にロード可能なフ
ァイルとすることにより、構成に変更を加える為にソフ
トウェアをコンパイルし直す必要がないので、開発が早
められると共に、ファイルは必要がない限りロードされ
ないので、2進ファイルは一層小さくなる。
【0064】マスター・テーブル270は、テーブル・
ローダ260によって読取られた全ての情報、並びに後
で説明する自動インストーラ262を使ってアプリケー
ションGUIから取出された若干の情報を記憶する内部
データ構造である。マスター・テーブル270は、シス
テム構成ファイルにある情報を記憶するのに加えて、計
装される全てのウィジットのウィジット識別子(ID)
を記憶するフィールドをも持っている。1例では、マス
ター・テーブル構造は次のようになっている。
【0065】 typedef struct { char object[MAX_COM_LEN}; char button_name[MAX_WIDGET_NAME] Widget w; LMCommandType com_type; LMCompression compression; char GenCode; }LMMasterTab;
【0066】自動インストーラ262は、マスター・テ
ーブル270に記憶されている「ウィジット・ネーム」
を使って、GUIアプリケーションから関連するウィジ
ットを見つけ、そのウィジットのIDをマスター・テー
ブル270に記憶する。自動インストーラ262は、ネ
ームを付したウィジット階層272を持つ任意のGUI
アプリケーションに作用するように適応させることが出
来る。例えば、Xウィンドウズ・アプリケーションで
は、自動インストーラ262は、Xt指令を使ってウィ
ジット、即ち、XtNameToWidgetを見つけ
る。各々のウィジットを探索する為、自動インストーラ
262は、アプリケーションに対する基本ウィジットの
IDを必要とするが、これは、初期設定の呼の一部分と
して、システム250に送られたウィジットから、適当
なネームのウィジットが見つかるまで、アプリケーショ
ン・ウィジット階層272を昇ることによって見つけら
れる。
【0067】ウィジット階層272の一例が図6に示さ
れている。図6に示すように、この例のウィジット階層
272は基本ウィジット274を含む。この階層の中に
panZoomForm形のウィジット276があり、
これがpanZoomForm形計装の総称である。p
anUPウィジット278が、panZoomForm
ウィジット276の1形式であり、従って、panUP
ウィジット278はpanZoomFoorm形ウィジ
ット276より下位にあって、それに接続されている。
【0068】再び図5について説明すると、様式(MO
DAL)でない全てのオブジェクトに対し、自動インス
トーラ262が単一呼戻し機能を呼び出す呼戻しを付加
する。自動インストーラ262はウィジットの種類をも
決定する。「計装された」ウィジットによって呼出され
た時、それをマスター・テーブル270でルックアップ
し、コード作成器264をインデックスによりエントリ
ーに呼込む。
【0069】コード作成器264はマスター・テーブル
270のGenCode部分を使って、特定されたGU
I動作に対応するスクリプト指令を出力する。コード作
成器264は$n(nは数)で始まりその後に英字が続
く任意のストリングを正規の表式”$[0−9][a−
zA−Z]+”として、例えば”$0panUp”とし
て拡張することによって、テキストを「評価」する。英
字が「オブジェクト・ネーム」を表す。評価すべきオブ
ジェクトがウィジットである場合、ウィジットの値を戻
し、出力指令に”$n<object>”テキストを入
れ替える。例えば、”panUp”が、テキスト「12
3.4」を含んでいたテキストウィジットに対するオブ
ジェクト・ネームであった場合、GenCodeでは、
ストリング”print$0panUp”は、マスター
・テーブル270でpanUpを見ることにより、”p
rint123.4”に変更される。
【0070】コード作成器264は$01
F(”...”=”...”)<result>[$0
else<else result>]表式をも拡張す
る。=の両辺を評価し、その後ストリングを比較する。
「真」であれば、<result>を評価して使う。
「虚偽」であれば、<else result>を評価
して使う。GenCodeは評価が簡単であって、コー
ドを複雑にして拡大するlex又はyaccを使う必要
がない。
【0071】コード圧縮器とも呼ばれることのあるコー
ド圧縮システム266について云うと、コード圧縮は、
システム構成ファイル258から読取った圧縮コードに
よって制御される。ユーザが、コード圧縮システム26
6なしに、動作、例えばズーム・アップを繰り返すと、
システム250はマウス・ボタンを押す毎に新しい指令
を作成する。コード圧縮システム266は、重複した行
が現れた時、それを除去する。コード圧縮システム26
6は、現在の指令及び前の指令から出力変数I($n<
object name>表式)を抽出し、出力変数を
圧縮コードにある1及び0と比較する。マスクされてい
ないオブジェクト・ネームの全ての副次表式が同じであ
る場合、出力は前の出力の代わりであると考えられる。
システム266は前の出力を追跡し、新しい出力が代わ
りであると考えられる場合、前の出力を削除する。
【0072】上に述べた動作を要約すると、テーブル・
ローダ260がシステム構成ファイル258を読取り、
システム構成ファイル258から読取った情報を使っ
て、マスター・テーブル270を初期設定する。自動イ
ンストーラ262が、マスター・テーブル270に記憶
されている「ウィジット・ネーム」を使って、GUIア
プリケーションから関連するウィジットを見つけ、その
ウィジットのIDをマスター・テーブル270に記憶す
る。システムのGUIで作業するユーザは、一連のイベ
ントを入力し、それらがGUIイベント・ハンドラー・
システム256によって記録される。コード作成器26
4が、特定された各々のGUIの動作に対応するスクリ
プト指令を出力する。コード圧縮システム266が現在
の指令及び前の指令からの出力変数を抽出し、出力変数
を圧縮コードにある1及び0と比較する。マスクされて
いない全てのウィジット・ネームの副次表式が同じであ
れば、出力が前の出力の代わりと考えられる。コード圧
縮システム266が前の出力を追跡し、新しい出力が代
わりと考えられる場合、前の出力を削除する。コード圧
縮システム266がスクリプト268を出力する。
【0073】この場合も、前に説明したように、システ
ム250は、単にシステム構成ファイルを編集すること
により、異なるシンタックス又は指令を出力するよう
に、実行時間で構成し得るという重要な利点を持つ。更
に、内部制御シーケンス拡張論理を容易に拡張して、シ
ェル・スクリプトを含めて異なる言語を出力することが
出来る。
【0074】[同期動作]本発明の一面は、下位の非同
期的なアーキテクチュアに対する非ブロッキング同期イ
ンターフェイスとなるアルゴリズムに関する。全体的に
云うと、このアルゴリズムはアプリケーションのクライ
アント/サーバ部分を同期的な開発の環境から切り離
す。クライアント部分又はユニットとサーバ部分又はユ
ニットとは、別々のコンピュータ又は1個のコンピュー
タにあっても良い。このアルゴリズムを使うと、プログ
ラマは非同期的なプログラミング方式に頼らずに、非ブ
ロッキングの、高度に対話型のクライアント/サーバ形
アプリケーションを開発することが出来る。その結果得
られるコードは同期的であって、非常に読取り易く、こ
じんまりしていて、クライアント/サーバ形アーキテク
チュアのプログラミングに習熟していない実務家によっ
ても開発することが出来る。更に、このアルゴリズム
は、多重実行スレッドの本質的な支援を持つか又は持っ
ていないオペレーティング・システムで実施することが
出来る。
【0075】図7は、本発明の1実施態様に従って同期
的な実行をする為の方法の工程のシーケンスを示すフロ
ーチャート300であるが、アプリケーションのクライ
アント/サーバ部分が、要請−明け渡し−返答の細部を
取り扱うコードである。開発環境は埋込みインタープリ
タである。両方の装置は、単一の実行スレッドを持つ同
じプロセスにあるが、アルゴリズムは多重実行スレッド
に対して実行し得る。
【0076】図7について具体的に説明すると、最終ユ
ーザが実行時間にコード又はスクリプトを開発する。こ
のコードがインタープリタにより302の所で実行され
る。クライアント/サーバ形のトランザクションを必要
とするスクリプト指令では、即ちサーバ要請304で
は、インタープリタは、アプリケーションのクライアン
ト/サーバ部分にある適当な機能を発動するようにプロ
グラムされている。サーバ要請304を出す前および/
又は出した後、アプリケーションのクライアント/サー
バ部分がインタープリタを中断して、明け渡す(30
6)。GUIを管理するクライアント/ サーバは、待
ち期間の間対話状態に留まる。クライアント/サーバが
明け渡しをしている為、時間が重要な、実時間で処理す
る特徴は、アプリケーションのクライアント/サーバ部
分に置いておくと、待ち期間の間生きている。
【0077】対話状態に留まる為、実行スレッドをアイ
ドル状態(XtMainLoop)308に戻す。サー
ビス要請が完了していないと(310)、イベントが引
き続いて処理される(312)。要請に対応する返答が
到着して処理されると(314)、アプリケーションの
インタープリタ部分を再開し(316)、その後、イン
タープリタのプログラム・カウンタ(PC)は中断した
ところから継続する。その後の処理はスクリプト行30
2の実行に戻る。
【0078】図8は、図7に示した方法の工程により切
り離された実行の一例を示す。この例では、2つの非同
期的な動作を実行しなければならない。ボックス350
には、クライアント/サーバ側の高レベルのタスクが示
されている。これらのタスクは実際のコードの何行かを
表しており、その為図示のプログラム・カウンタ(P
C)は、実際のプロセッサPCに直接的に対応しない。
中央の列は、クライアント/サーバ擬似PCが変化する
時のインタープリタPCの進行を示す。クライアント/
サーバPCがインタープリタPCよりも更に早く変化す
ること並びに非同期的な動作の間、インタープリタPC
が休眠状態になることに注意されたい。ボックス352
には、アプリケーション・タスクが示されている。非同
期的動作が完了する時、インタープリタPCを目ざめさ
せる。
【0079】特定の一つの構成では、商用Basicイ
ンタープリタをアプリケーションに埋込む。インタープ
リタは、アプリケーションに結合されたライブラリとし
て送り出される。インタープリタ・ライブラリが、イン
タープリタを中断し、インタープリタを再開させ、プロ
グラミング言語を拡張し、クライアント/サーバ形アプ
リケーションの機能を呼び出し、クライアント/サーバ
形アプリケーションからスクリプト機能/サブルーチン
を実行し、インタープリタとアプリケーションの間で情
報をやりとりする機関になる。アプリケーションがUN
IXオペレーティング・システムで実行され、Xウィン
ドウ・システムを使う。具体的に云うと、アプリケーシ
ョンはX Intrinsics(Xt)、Motif
Wedgetツールキット(Xm)及びXプロトコル
・ライブラリXlibで構成される。この他のクライア
ント側ライブラリも、夫々のサーバと連絡する為にアプ
リケーションによって使われる。インタープリタ・ライ
ブラリから得れる文書拡張機構を使って、Basic言
語に拡張が加えられる。この拡張は、クライアント・サ
ーバ機能を発動することによりタスクを実行する。アプ
リケーションは、スレッドに対する明確なオペレーティ
ング・システムの支援を使わずに実施される。即ち、ア
プリケーション・プロセスに対して単一の実行スレッド
を用いる。しかし、このアプリケーションは、プロセス
当たり多重の実行スレッドを支援するオペレーティング
・システムに適している。多重実行スレッドを支援すれ
ば、スタックを解きほぐす必要が少なくなるので、この
方式の性能が高まる。
【0080】前に述べたように、コードは同期的で、非
常に読取り易く、こじんまりしていて、クライアント/
サーバ形アーキテクチュアのプログラミングに習熟して
いない実務者によって開発することが出来る。更に、ア
ルゴリズムは、多重実行スレッドの本質的な支援を持つ
又は持たないオペレーティング・システムで実施するこ
とが出来る。
【0081】[オーバーラップ検出及び補正]前に述べ
たように、観察テンプレートは、医学的な診断情報を観
察することに関係する画像、曲線、テキスト及びその他
の患者情報のグラフ表示である。観察テンプレートを組
立てる時、典型的には矩形セルを組立てる。スクリーン
上のセルの配置を選び、これらのセルの属性の明細を作
成する。セルは画像、曲線、テキスト並びに診断プロセ
スに関連するその他の情報を入れることが出来る。セル
はタイリングされ、オーバーラップがあると重要な診断
情報が隠れるので、オーバーラップの無いことが好まし
い。本発明の一面は、手作業のセル・アラインメント・
タスクを加速することによって使い易さを高めることが
出来る自動的なオーバーラップ検出及び補正アルゴリズ
ムである。
【0082】更に具体的に云うと、一形式では、1又は
2境界矩形セル・オーバーラップ検出及び補正アルゴリ
ズムを提供する。このアルゴリズムは非パッキングであ
って、ユーザのアラインメント動作の意図を正確に実行
するようにする。一形式では、アルゴリズムが、観察テ
ンプレート(RT)を作成する観察テンプレート・エデ
ィタに統合される。
【0083】一実施態様のオーバーラップ検出及び補正
アルゴリズムのフローチャート400が図9に示されて
いる。図9に示すように、アルゴリズムは2回通過形対
話形アルゴリズムであって、セルの配置形状が変更され
た時のオーバーラップを除こうとするものである。配置
形状の変更は、セルの寸法又は場所の変更である。
【0084】更に具体的に説明すると、セル配置形状変
更402(開始)に応答して、セルオーバーラップ検出
器404が呼び出される。オーバーラップが検出されな
ければ、ユーザ要請が点406(終わり)に示すように
首尾よく実行されている。オーバーラップが検出される
と、ブロック408で、アルゴリズムを呼び出して、オ
ーバーラップを補正する為に、変更されたセルを移動さ
せなければならない最小距離Dminを計算する。Dm
inをオーバーラップ補正器410に送り、このオーバ
ーラップ補正器によりセルを距離Dminだけ移動させ
る。距離Dminだけ移動したことにより、セルの別の
区域に別のオーバーラップが起こることがあり、その
為、再びブロック412の所でオーバーラップを検査す
る。補正によって別のオーバーラップが生じなかった場
合、動作が実行されており、アルゴリズムは点406
(終わり)に示すように首尾よく終了する。別のオーバ
ーラップが見つかった場合、新しい距離Dminをブロ
ック414の所で計算し、オーバーラップ補正器416
に送って、そこでセルを新しい距離Dminだけ移動さ
せる。新しい距離Dminだけ移動したことにより、セ
ルの別の区域で別のオーバーラップが起こることがあ
り、その為ブロック418で再びオーバーラップがある
かどうか検査する。補正によって別のオーバーラップが
生じなかった場合、動作が実行されており、点406
(終わり)に示すようにアルゴリズムが首尾よく終了す
る。別のオーバーラップが見つかった場合、オーバーラ
ップ補正過程は、ユーザに対するエラーメッセージ42
0と共に終了する。これ以上のパスをすると、セルの詰
め込み(パッキング)が起こるので、これ以上の補正パ
スは行わない。この詰め込み動作は、うまくはめ合わせ
る可能性もあったのに、セルを比較的大きな距離だけ移
動しなければならないかもしれないこと、それ以上のパ
スによっても決して終わることの無い(無限探索にな
る)ことを含めて、望ましくない副作用がある。第1の
副作用、即ちセルが初めの位置からかなり離れた場所に
来るということは、セルがユーザが特定した場所に接近
した状態を保つという重要な目標に違反する。
【0085】図10を参照して、セルのオーバーラップ
404、412,418を決定することについて説明す
ると、このオーバーラップは、その配置形状が変更され
たセルと、カンバス上にある残りのセルとの間の線形検
査を実施することによって決定される。セルのオーバー
ラップを決定するために下記の4つの状態が検査され、
これらの状態は図10に例示されている。
【0086】状態1. 変更されたセルの隅が別のセル
の内側にある。 状態2. 別のセルの隅が、変更されたセルの内側にあ
る。 状態3. どの隅も別のセルの内側にはないが、2つの
セルが交差する。 状態4. 変更されたセルがカンバスの縁を越えて伸び
る。
【0087】変更されたセルを他の1つのセルからオー
バーラップを補正する為に移動させる必要のある最小の
距離Dminは、移動するセルがオーバーラップしてい
る各々のセルに対し、下記の距離を決定し、そのうちの
最小値に戻ることによって見つける。
【0088】1.移動するセルの頂部から、オーバーラ
ップしたセルの底部までの距離。 2.移動するセルの底部から、オーバーラップしたセル
の頂部までの距離。 3.移動するセルの左辺から、オーバーラップしたセル
の右辺までの距離。 4.移動するセルの右辺から、オーバーラップしたセル
の左辺までの距離。
【0089】2つのセルのオーバーラップが極くわずか
である場合、ルーチンはその内の一番左側のオーバーラ
ップの小さいセルを保存する。これでも、1つのセルを
オーバーラップが極く小さいと一意的に確認するのに十
分ではない場合、一番下側のオーバーラップの小さいセ
ルに戻る。
【0090】オーバーラップ補正ルーチン410、41
6は、オーバーラップが極く小さいセル及び最小距離を
入力とする。その後、オーバーラップを補正する方向に
そのセルを最小距離だけ移動する。最小距離が2つ又は
更に多くの方向で同じである場合、変更されたセルを、
右、左、上及び下という優先順位で移動する。こういう
優先順位は、オーバーラップが決まる方向が見つかるま
で、逐次的に評価する。このオーバーラップ検出及び補
正アルゴリズムは、セルのタイリングが実質的に自動化
され、且つ積み重ねを避けるようにユーザと対話型であ
るという利点がある。
【0091】上に述べたプログラム可能なシステムはユ
ーザにとって極めて親しみやすく、臨床医はこのシステ
ムを使って、イメージング・アプリケーションを比較的
容易に素早く開発することが出来ると考えられる。更
に、このシステムを使って作成されたスクリプトは、多
くの異なる環境で使うように移し替えが容易に出来、こ
の為、環境の如何に関わらず、余分の相当の労力及び費
用をかけずに、画像及びデータを医者の希望に従って医
者が観察することが出来るように表示することが出来
る。更に、クライアント/サーバ形アーキテクチュアを
利用したが、要請−明け渡し−返答形のパラダイムでコ
ードを入れる煩わしさを避けながら、長いトランザクシ
ョンの間でも、システムの対話能力が温存される。更
に、観察テンプレートの作成について云うと、自動的な
オーバーラップ検出及び補正は、手作業のセル・アライ
ンメント・タスクを加速することにより、使い易さを高
めることが出来る。
【0092】本発明の種々の実施態様についてこれまで
説明したところから、本発明の目的が達成されたことは
明らかである。本発明を詳しく説明し、図面に示した
が、これは例示の為に過ぎず、本発明を制約するものと
解してはならないことを承知されたい。従って、本発明
の範囲は、特許請求の範囲によって限定されることを承
知されたい。
【図面の簡単な説明】
【図1】本発明の1実施態様によるプログラム可能なシ
ステムの為の一例のユーザ・インターフェースを示す模
写図である。
【図2】学習モードを実行した結果を表示する一例の学
習モード捕捉窓を示す模写図である。
【図3】観察テンプレート・エディタに対する1実施態
様のユーザ・インターフェースの模写図である。
【図4】本発明の1実施態様の学習モード・システムの
ブロック図である。
【図5】図4にブロック図で示したシステム内のデータ
の流れを示すデータ・フローチャートである。
【図6】ウィジット階層の1例を示す図である。
【図7】本発明の1実施態様に従って同期的な実行を行
うプロセスのシーケンスを示すフローチャートである。
【図8】本発明の1実施態様に従って切り離された1例
の同期的な指令実行を示す構成図である。
【図9】本発明の1実施態様によるオーバーラップ検出
及び補正アルゴリズムのフローチャートである。
【図10】本発明の1実施態様によるセル・オーバーラ
ップ検出及び補正アルゴリズムに関連して検査されるセ
ル・オーバーラップ状態を示す説明図である。
【符号の説明】
100 ユーザ・インターフェイス 102 ナビゲーション区域 104、106 タブ 108 ボタン 116 メニュー 118 スクリプト・エディタ窓 120 アクティブ・ヘルプ窓 122 画像区域 150 学習モード捕捉窓 200 RTE用のユーザ・インターフェイス 250 イメージング・システム 252 初期設定/計装サブシステム 254 コード作成サブシステム 272 ウィジット階層
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・デイヴィッド・ホフォード アメリカ合衆国、ウィスコンシン州、ハー トランド、アパートメント・3、レイクビ ュー、309番 (72)発明者 ゴパル・サンダラモーシー アメリカ合衆国、ウィスコンシン州、メノ モウニー・フォールズ、ハンターズ・リッ ジ・サークル、エヌ76・ダブリュー15971 (番地なし) (72)発明者 ウィリアム・マーライ・ストウヴァル, ザ・サード アメリカ合衆国、ウィスコンシン州、ミル ウォーキー、サウス・62エヌディー・スト リート、3346番 (72)発明者 マーティン・カラニ・マッキーナ アメリカ合衆国、ウィスコンシン州、ハー トランド、アパートメント・3、レイクビ ュー・ドライブ、321番 (72)発明者 ファラズ・アズハー・アリ アメリカ合衆国、ウィスコンシン州、ショ ーウッド、ノース・ウッドバーン、4481番

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのサーバ装置を含むクラ
    イアント/サーバ型アーキテクチュアを持っていて、グ
    ラフィック・ユーザ・インターフェース、グラフィック
    ・ユーザ・インターフェース・イベント・ハンドラー・
    システム(256)、メモリ装置、及び処理装置を持つ
    コンピュータで構成されていて、前記処理装置が前記グ
    ラフィック・ユーザ・インターフェース、グラフィック
    ・ユーザ・インターフェース・イベント・ハンドラー・
    システム及びメモリ装置に結合されているプログラム可
    能な医療用イメージング・システムに於いて、 スクリプトを作成するために学習モードで動作し得るス
    クリプト作成システム(252、254)と、 スクリプトを同期的に実行する同期実行ルーチン(30
    0)と、 観察テンプレート上のセルのオーバーラップを検出して
    補正するセル・オーバーラップ検出及び補正ルーチン
    (400)とを有することを特徴とするプログラム可能
    な医療用イメージング・システム。
  2. 【請求項2】 前記スクリプト作成システムは、a)前
    記グラフィック・ユーザ・インターフェース・イベント
    ・ハンドラー・システム及び前記メモリ装置に結合され
    ていて、前記メモリ装置に記憶されているシステム構成
    ファイル(258)からのデータを使ってマスタ・テー
    ブル(270)を初期設定するように構成された初期設
    定装置であって、前記システム構成ファイルが計装に関
    連するデータを持っている初期設定装置(252)と、
    b)前記グラフィック・ユーザ・インタフェース・イベ
    ント・ハンドラー・システムに結合されていて、前記イ
    ベント・ハンドラー・システムによって記録された各々
    のイベントに対応するスクリプト指令を作成するように
    構成されたコード作成サブシステム(254)とを有し
    ている請求項1記載のプログラム可能な医療用イメージ
    ングシステム。
  3. 【請求項3】 前記初期設定装置は、前記システム構成
    ファイルを読取って前記マスター・テーブルを初期設定
    するテーブル・ローダ(260)、及び前記マスター・
    テーブルに記憶されているウィジット・ネームを前記グ
    ラフィック・ユーザ・インターフェースからのウィジッ
    トと関連させ、該関連するウィジットに対するウィジッ
    ト識別子を前記マスター・テーブルに記憶する自動イン
    ストーラ(262)とを有している請求項2記載のプロ
    グラム可能な医療用イメージングシステム。
  4. 【請求項4】 前記コード作成サブシステムは、前記イ
    ベント・ハンドラー・システムによって記録された各々
    のイベントに対応するスクリプト指令を出力するように
    構成されたコード作成器(264)と、該コード作成器
    に結合されていて、該コード作成器から出力されたスク
    リプト指令を受け取り、現在の指令及び前の指令からの
    出力変数を比較して、現在の指令が前の指令の代りであ
    れば、前の指令を削除するように構成されているコード
    圧縮サブシステム(266)とを有している請求項2記
    載のプログラム可能な医療用イメージングシステム。
  5. 【請求項5】 前記コンピュータはスクリプト指令を実
    行するインタプリタを有し、また前記同期実行ルーチン
    は、1)スクリプト指令を実行するように前記インタプ
    リタを動作させ、2)スクリプト指令がサーバ要請を含
    んでいる場合、(a)該サーバ要請をサーバ装置に送信
    し、(b)前記インタプリタを中断し、(c)前記イン
    タプリタが中断されている間、前記グラフィック・ユー
    ザ・インターフェースを対話状態に保つステップを含ん
    でいる請求項1記載のプログラム可能な医療用イメージ
    ングシステム。
  6. 【請求項6】 前記同期実行ルーチンは、要請に対する
    サーバの返答を受け取ったとき、更に、前記要請に対す
    るサーバの返答を処理し、前記インタプリタの動作を再
    開してスクリプト指令を実行するステップを含んでいる
    請求項5記載のプログラム可能な医療用イメージングシ
    ステム。
  7. 【請求項7】 前記観察テンプレートはその上に複数個
    のセルを表示することが出来るようになっており、前記
    セル・オーバーラップ検出及び補正ルーチンは、1)第
    1のセルが観察テンプレート上の他のセルとオーバーラ
    ップしているかを検出し、2)セルのオーバーラップが
    検出された場合、(a)最小オーバーラップ補正距離D
    minを決定し、(b)前記第1のセルをこうして決定
    された最小オーバーラップ補正距離Dminだけ移動さ
    せ、(c)第1のセルを移動させた後、第1のセルが別
    のセルとオーバーラップしているかどうかを検出するス
    テップを含んでいる請求項1記載のプログラム可能な医
    療用イメージングシステム。
  8. 【請求項8】 前記セル・オーバーラップ検出及び補正
    ルーチンが、更に、前記ステップ2)(c)でセルのオ
    ーバーラップが検出された場合、ステップ2)(a)に
    戻り、ステップ2)(a)及び2)(b)を実行するス
    テップを含んでいる請求項7記載のプログラム可能な医
    療用イメージングシステム。
  9. 【請求項9】 前記第1のセルが前記観察テンプレート
    上の別のセルとオーバーラップしているかどうかを検出
    する前記ステップが、前記第1のセルの隅が別のセルの
    内側にあるかどうかを判定し、別のセルの隅が前記第1
    のセルの内側にあるかどうかを判定し、第1のセルのど
    の隅も別のセルの内側になくて、前記第1のセルが別の
    セルと交差しているかどうかを判定し、前記第1のセル
    が前記テンプレートの縁を越えて伸びているかどうかを
    判定するステップを含んでいる請求項7記載のプログラ
    ム可能な医療用イメージングシステム。
  10. 【請求項10】 前記最小距離Dminを決定する前記
    ステップが、(a)前記第1のセルの頂部からそれとオ
    ーバーラップするセルの底部までの距離、(b)前記第
    1のセルの底部からそれとオーバーラップするセルの頂
    部までの距離、(c)前記第1のセルの左辺からそれと
    オーバーラップするセルの右辺までの距離、及び(d)
    前記第1のセルの右辺からそれとオーバーラップするセ
    ルの左辺までの距離を決定するステップを含んでいる請
    求項7記載のプログラム可能な医療用イメージングシス
    テム。
  11. 【請求項11】 前記最小距離Dminが、決定された
    距離のうちの最短距離である請求項10記載のプログラ
    ム可能な医療用イメージングシステム。
JP21747497A 1996-08-13 1997-08-12 プログラム可能な医療用イメージング・システム Pending JPH10207700A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/696,038 US5961610A (en) 1996-08-13 1996-08-13 Systems, methods and apparatus for generating and controlling display of medical images
US08/696038 1996-08-13

Publications (1)

Publication Number Publication Date
JPH10207700A true JPH10207700A (ja) 1998-08-07

Family

ID=24795451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21747497A Pending JPH10207700A (ja) 1996-08-13 1997-08-12 プログラム可能な医療用イメージング・システム

Country Status (4)

Country Link
US (1) US5961610A (ja)
JP (1) JPH10207700A (ja)
CA (1) CA2211478C (ja)
IL (1) IL121512A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194836A (ja) * 1998-12-28 2000-07-14 Ge Yokogawa Medical Systems Ltd 医用情報取扱方法および装置

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6530887B1 (en) * 1996-12-24 2003-03-11 Teratech Corporation Ultrasound probe with integrated electronics
NZ337140A (en) * 1997-01-13 2001-03-30 John Overton Automated system for image archiving with combination of location, image and parent information with data in conformance with formal specification
US6496865B1 (en) * 1997-03-12 2002-12-17 Novell, Inc. System and method for providing interpreter applications access to server resources in a distributed network
US7233978B2 (en) * 1998-07-08 2007-06-19 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US7103640B1 (en) 1999-09-14 2006-09-05 Econnectix, Llc Network distributed tracking wire transfer protocol
US9402601B1 (en) 1999-06-22 2016-08-02 Teratech Corporation Methods for controlling an ultrasound imaging procedure and providing ultrasound images to an external non-ultrasound application via a network
US6969352B2 (en) * 1999-06-22 2005-11-29 Teratech Corporation Ultrasound probe with integrated electronics
US20040015079A1 (en) 1999-06-22 2004-01-22 Teratech Corporation Ultrasound probe with integrated electronics
US6669633B2 (en) 1999-06-22 2003-12-30 Teratech Corporation Unitary operator control for ultrasonic imaging graphical user interface
US20080005275A1 (en) * 2000-06-02 2008-01-03 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US7107287B2 (en) * 2000-07-27 2006-09-12 Canberra Industries Method, system and storage medium for automated independent technical review
US6944866B1 (en) 2000-11-16 2005-09-13 International Business Machines Corporation System and method for coordinating operator efforts using action diaries
US6792609B1 (en) 2000-11-16 2004-09-14 International Business Machines Corporation System and method for associating action diaries with a parent class object
DE10133593B4 (de) * 2001-06-12 2006-03-23 Sirona Dental Systems Gmbh Anordnung und Verfahren zum Betreiben eines mit einem Rechner verbundenen Dentalbehandlungsplatz
US6671869B2 (en) 2001-12-12 2003-12-30 Scott A. Davidson Method and apparatus for graphically programming a programmable circuit
US20030115570A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Development environment for building software applications that mimics the target environment
US8539460B2 (en) * 2002-01-08 2013-09-17 Agile Labs Private Limited Unique versatile executor engine which can interpret and execute transaction structures and information views to build information systems
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US20050149498A1 (en) * 2003-12-31 2005-07-07 Stephen Lawrence Methods and systems for improving a search ranking using article information
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US7725508B2 (en) 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US7680888B1 (en) 2004-03-31 2010-03-16 Google Inc. Methods and systems for processing instant messenger messages
US7581227B1 (en) 2004-03-31 2009-08-25 Google Inc. Systems and methods of synchronizing indexes
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US8099407B2 (en) 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US8275839B2 (en) 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US8346777B1 (en) 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US7412708B1 (en) 2004-03-31 2008-08-12 Google Inc. Methods and systems for capturing information
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US8161053B1 (en) * 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US7941439B1 (en) 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
JP2006091994A (ja) * 2004-09-21 2006-04-06 Toshiba Corp 文書情報処理装置および方法、文書情報処理プログラム
US20060236328A1 (en) * 2004-12-10 2006-10-19 Siemens Medical Solutions Usa, Inc. Integrated graphical user interface server for use with multiple client applications
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
US20090040565A1 (en) * 2007-08-08 2009-02-12 General Electric Company Systems, methods and apparatus for healthcare image rendering components
US8761467B2 (en) 2010-10-04 2014-06-24 General Electric Company Method and apparatus for assessing motion correction
CN108304169B (zh) * 2017-01-11 2021-09-21 阿里巴巴集团控股有限公司 针对html5应用的实现方法、装置和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
CA2123924A1 (en) * 1993-06-02 1994-12-03 Charles Douglas Blewett Specifying contexts in callback style programming
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5542069A (en) * 1994-03-02 1996-07-30 Sun Microsystems, Inc. Method and apparatus for simulating input events in a windowed environment
JPH07248891A (ja) * 1994-03-10 1995-09-26 Fuji Facom Corp マルチウィンドウ画面の制御方法
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194836A (ja) * 1998-12-28 2000-07-14 Ge Yokogawa Medical Systems Ltd 医用情報取扱方法および装置

Also Published As

Publication number Publication date
US5961610A (en) 1999-10-05
CA2211478C (en) 2006-10-24
IL121512A (en) 2000-02-17
CA2211478A1 (en) 1998-02-13
IL121512A0 (en) 1998-02-08

Similar Documents

Publication Publication Date Title
JPH10207700A (ja) プログラム可能な医療用イメージング・システム
JP4731643B2 (ja) スクリプト作成システム
JP4059547B2 (ja) クライアント/サーバ型の医療用イメージング・システムで指令を実行する方法
JP4201363B2 (ja) セル・オーバーラップ検出及び補正方法
US6668370B1 (en) Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility
US7290245B2 (en) Methods and systems for navigating deterministically through a graphical user interface
US6016474A (en) Tool and method for diagnosing and correcting errors in a computer program
US6026362A (en) Tool and method for diagnosing and correcting errors in a computer program
US7398514B2 (en) Test automation stack layering
EP1763865B1 (en) Automatic image capture for generating content
US20060026559A1 (en) Automatic content completion of valid values for method argument variables
US8752020B2 (en) System and process for debugging object-oriented programming code leveraging runtime metadata
TW200421189A (en) Tool-tip for multimedia files
CN117707530A (zh) 应用程序页面的生成方法、装置、存储介质及电子设备
Smyth Android Studio 3.6 Development Essentials-Java Edition: Developing Android 10 (Q) Apps Using Android Studio 3.6, java and Android Jetpack
Smyth Android Studio 3.5 Development Essentials-Kotlin Edition: Developing Android 10 (Q) Apps Using Android Studio 3.5, Kotlin and Android Jetpack
Griffiths et al. NET Windows forms in a nutshell
Smyth Android Studio 3.6 Development Essentials-Kotlin Edition: Developing Android 10 (Q) Apps Using Android Studio 3.6, Kotlin and Android Jetpack
JP3119939B2 (ja) アプリケーションプログラムを実行するシステム
JP5251863B2 (ja) ツリ−構造を利用した、ユ−ザ・インタフェイスの構成要素情報の記録およびユ−ザ・インタ−フェイス操作を記録再生するためのプログラム
Cameron et al. Design-Time Support
Instruments Pro iOS5 Tools
Allen Self Handbook Documentation
Baker CONVERSION OF THE BAND DIAGRAM PROGRAM: A LOOK AT PORTABILITY, EFFICIENCY AND EASE OF USE.
Michalk et al. Design-Time Support

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070601

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070706

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070720

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090721

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090728

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091026

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100422