以下、図面を参照して本発明の実施形態について詳細に説明する。
まず図1を用いて本発明の概要について説明する。本発明の医用画像処理システム100では、クライアント端末101と医用画像処理サーバ102とを含むシステムである。クライアント端末101と医用画像処理サーバ102とが通信可能に接続されている。
クライアント端末101は、あらかじめ医用画像処理サーバ102にX線CTやMRIといったモダリティで生成された医用画像を送信しておき、医用画像処理サーバ102はこれを記憶する。本実施形態における医用画像とは、モダリティで生成された断面画像である。また、医用画像はDICOM(Digital Imaging and COmmunication in Medicine)規格の画像であり、DICOMの付帯情報(以下、DICOMタグという。)に検査日、患者名、検査種、部位等の情報が格納されている。すなわち、医用画像にはこれらの情報が含まれている。そして、医用画像処理サーバ102で医用画像を記憶する際には、1の検査で生成された複数の医用画像をシリーズ化(グルーピング)して記憶しておく。尚、本実施形態ではこのシリーズ化した医用画像群を医用画像と称する。
クライアント端末101は、人体の部位を示す3Dデータ(三次元データ)が挿入された文書データ、すなわちPDFデータ(以下、3D PDFデータという。)を生成する場合に、クライアント端末101でその旨の指示を受け付ける。クライアント端末101のディスプレイに110に示すような画面を表示させ、依頼者であるユーザは対象の医用画像のレコードに備えられている依頼ボタンを押下する。この押下を検知すると、クライアント端末101のディスプレイに120に示すような画面を表示させる。この画面で3D PDFデータで立体表示させたい人体の部位の選択を受け付ける。
この画面を医用画像処理サーバ102で生成する際に、依頼ボタンが押下された対象の医用画像に含まれる部位の情報を用いて、3Dデータを生成可能な部位を特定する。そして、この生成可能な部位に対して選択を受け付けることが可能なように、チェックボックスを配置する。このようにすることで、選択を受け付けた医用画像からは3Dデータを生成することができない部位をユーザが選択しないように抑止することができる。
立体表示させたい部位をユーザが選択し、クライアント端末101がOKボタンの押下を検知すると、3D PDFデータの生成依頼がクライアント端末101から医用画像処理サーバ102に送信される。医用画像処理サーバ102は、この依頼を受け付けると対象の医用画像を用いてボリュームデータを生成する。
ボリュームデータとは、医用画像を三次元的に積層し、医用画像の各ピクセルが有するCT値(水を0、空気を−1000とした場合の相対値)を当該ピクセルに対応するボクセルのパラメータとして持たせたデータのことである。医用画像処理サーバ102は、このボリュームデータに見た目の情報(色、視点、光源、光沢等)を付与し、3Dデータを生成する。この3Dデータは、例えばVRML(Virtual Reality Modeling Language)形式やSTL(Standard Triangulated Language)形式といった3Dモデルを示すデータである。
こうして生成した3DデータをPDFデータに挿入して、3D PDFデータを生成する。依頼者であるユーザは、この3D PDFデータをクライアント端末101にインストールされているPDFビューアで開くことにより、人体の部位を立体表示することが可能となる。以下、この概要の詳細について説明する。
図2は、医用画像処理システム100のシステム構成を示す図である。尚、図2に示すシステム構成は、あくまで一例である。
医用画像処理システム100は、クライアント端末101と、医用画像処理サーバ102とを含むシステムである。クライアント端末101と医用画像処理サーバ102は、ローカルエリアネットワーク(LAN)201またはインターネット等を介して通信可能に接続されている。
クライアント端末101は、3D PDFデータの生成依頼を行う依頼者側の1または複数の装置である。クライアント端末101は、パーソナルコンピュータやサーバであってもよいし、携帯端末(携帯電話、スマートフォン、ウェアラブルデバイス)であってもよい。
医用画像処理サーバ102(医用画像処理装置)は、3D PDFデータの生成依頼を受け付ける事業者側の1または複数の装置である。医用画像処理サーバ102はサーバ装置を想定するが、複数のクライアント端末101からの依頼を処理可能であれば、どのような装置であってもよい。
図3は、クライアント端末101及び医用画像処理サーバ102のハードウェア構成を示す図である。尚、図3に示すハードウェア構成はあくまで一例である。
CPU301は、システムバス304に接続される各デバイスやコントローラを統括的に制御する。
また、ROM302あるいは外部メモリ311には、CPU301の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラムが記憶されている。また外部メモリ311には、各装置が実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM303は、CPU301の主メモリ、ワークエリア等として機能する。
CPU301は、処理の実行に際して必要なプログラム等をRAM303にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ305は、キーボードやマウス等のポインティングデバイスといった入力デバイス309からの入力を制御する。
ビデオコントローラ306は、ディスプレイ310等の表示器への表示を制御する。表示器はCRTや液晶ディスプレイでも構わない。
メモリコントローラ307は、ハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ311へのアクセスを制御する。外部メモリ311(記憶手段)は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
通信I/Fコントローラ308は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU301は、例えばRAM303内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ310上での表示を可能としている。また、CPU301は、ディスプレイ310上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明のクライアント端末101及び医用画像処理サーバ102が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ311に記録されている。この各種プログラム等は必要に応じてRAM303にロードされることによりCPU301によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ311に格納されている。
図4は、クライアント端末101及び医用画像処理サーバ102の機能構成の一例を示す図である。尚、図4に示す各機能は、図2に示す各ハードウェアや各種プログラム等により実現される構成要素である。また、図4に示す機能構成はあくまで一例である。
クライアント端末101は機能部として、通信制御部401と、表示部402と、ウェブブラウザ部403と、PDFビューワ部407とを備える。
通信制御部401は、医用画像処理サーバ102と各種情報を送受信するための機能部である。通信制御部401は、クライアント端末101の通信I/Fコントローラ308を介して、ネットワーク上の医用画像処理サーバ102と通信する。
表示部402は、各種情報を表示するための機能部である。表示部402は、クライアント端末101のビデオコントローラ306を介して各種情報が記された画像をディスプレイ310に対して送信し、ディスプレイ310に各種情報を表示させる。
ウェブブラウザ部403は、クライアント端末101にインストールされたウェブブラウザの機能部に該当し、HTML(HyperText Markup Language)等で記述されたウェブページを表示及び動作させるための機能部である。ウェブブラウザ部403は、更に、レンダリング部404と操作受付部405と3Dデータプラグイン部406とを備える。
レンダリング部404は、ウェブページの記述内容を解析し、文字や画像をディスプレイに表示するための機能部である。操作受付部405は、ウェブページに対する操作を受け付けるための機能部である。更に、操作受付部405は、受け付けた操作に応じてウェブページやファイルの取得要求を、通信制御部401を介して医用画像処理サーバ102に送信する。3Dデータプラグイン部406は、ウェブページに挿入された3Dデータを表示するための機能部である。ウェブブラウザのプラグインとして動作し、3Dデータが示す内容を解釈し、レンダリング部404でレンダリングさせる。また、3Dデータプラグイン部406は、操作受付部405で受け付けた操作に応じて、3Dデータの表示位置や表示方向等を変更するために動作する。
PDFビューワ部407は、クライアント端末101にインストールされたPDFビューワの機能部に該当し、3D PDFデータを含むPDFデータを表示するための機能部である。PDFビューワ部407は、更に3Dデータ制御部408を備える。3Dデータ制御部408は、3D PDFデータに含まれる3Dデータを表示するための機能部である。3Dデータ制御部408は、3Dデータが示す内容を解釈してレンダリングし、受け付けた操作に応じて、3Dデータの表示位置や表示方向等を変更するために動作する。
医用画像処理サーバ102は機能部として、通信制御部411と、記憶部412と、画面生成部413と、3D制御部417とを備える。
通信制御部411は、クライアント端末101と各種情報を送受信するための機能部である。通信制御部401は、医用画像処理サーバ102の通信I/Fコントローラ308を介して、ネットワーク上のクライアント端末101と通信する。
記憶部412は、各種情報をRAM303または外部メモリ311に記憶するための機能部である。記憶部412が記憶する各種情報としては、後述する各種テーブルやクライアント端末101に表示させるためのウェブページのテンプレート等である。
画面生成部413は、クライアント端末101で表示させるための画面(ウェブページ)を生成するための機能部である。画面生成部413は、記憶部412に記憶されている各種情報を用いて画面を生成する。画面生成部413は、更に表示部位特定部414と、3Dデータ挿入部415と、キャプチャ画像挿入部416とを備える。
表示部位特定部414は、クライアント端末101から指示された医用画像を記憶部412から取得し、この医用画像から3Dデータを生成可能な人体の部位を特定するための機能部である。表示部位特定部414は、医用画像のDICOMタグに含まれる検査部位の情報から、3Dデータを生成可能な人体の部位を特定する。
3Dデータ挿入部415は、生成したウェブページに3Dデータを挿入するための機能部である。3Dデータはウェブページに埋め込まれてもよいし、ウェブページとリンクする形態にしてもよい。キャプチャ画像挿入部416は、3Dデータの表示方向をユーザから指定された表示方向に変更した上でキャプチャして画像データ(以下、キャプチャ画像という。)を生成し、これをウェブページに挿入するための機能部である。キャプチャ画像についても、ウェブページに埋め込んでもよいし、ウェブページとリンクする形態にしてもよい。
3D制御部417は、三次元空間上での立体的なデータの生成や表示といった制御を行うための機能部である。3D制御部417は、更にボリュームデータ生成部418と、表示部位抽出部419と、3Dデータ生成部420と、3D PDFデータ生成部421と、表示方向変更部422とを備える。
ボリュームデータ生成部418は、医用画像からボリュームデータを生成するための機能部である。ボリュームデータ生成部418は、複数の医用画像を用いてボリュームデータを生成する。また、ボリュームデータ生成部418は、ボリュームデータを生成するための医用画像が足りない場合には、足りない部分を適宜補間する。ボリュームデータの生成方法については従来技術を用いるため、詳細な説明は省略する。
表示部位抽出部419は、クライアント端末101で選択された人体の部位をボリュームデータから抽出するための機能部である。抽出するための既知のアルゴリズムを、人体の部位ごとに記憶部412に記憶しておき、表示部位抽出部419は抽出する際に記憶部412から必要なアルゴリズムを選択して部位の抽出を行う。ボリュームデータから特定の部位を抽出する方法やそのアルゴリズムについても、従来の技術を用いるため詳細な説明は省略する。
3Dデータ生成部420は、表示部位抽出部419で特定の部位が抽出されたボリュームデータを用いて、3Dデータを生成するための機能部である。3Dデータ生成部420は、VRML形式やSTL形式といった形式の3Dデータを生成する。本実施例では、VRML形式の3Dデータを例にとって説明を行うが、3D PDFデータを生成可能なファイル形式であれば、これに限らない。
3D PDFデータ生成部421は、3Dデータが含まれるPDF(Portable Document Format)データ(3D PDFデータ)を生成するための機能部である。3D PDFデータは、ユーザが3Dデータを自由な視点で表示することが可能なPDFデータである。3D PDFデータの生成方法についても、従来の技術を用いるため、詳細な説明は省略する。
表示方向変更部422は、3Dデータ生成部420で生成された3Dデータの表示方向を変更するための機能部である。キャプチャ画像挿入部416でキャプチャ画像を生成するために、3Dデータの表示方向をユーザから指定された任意の表示方向に変更する。表示方向を変更する場合には、3Dデータが配置される三次元空間上の視線を変更してもよいし、3Dデータを回転させてもよい。
図5は、医用画像一覧画面700を表示する一連の処理を示すフローチャートである。図5のステップS501、ステップS510、ステップS511の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図5のステップS502乃至ステップS509の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図5に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS501では、クライアント端末101の通信制御部411は、医用画像一覧画面の取得要求を医用画像処理サーバ102に送信する。
ステップS502では、医用画像処理サーバ102の通信制御部411は、クライアント端末101から送信された医用画像一覧画面の取得要求を受信する。そして、ステップS503では、医用画像処理サーバ102の画面生成部413は、記憶部412から医用画像一覧画面のテンプレートと図6の医用画像管理テーブル600に格納されている情報を取得し、図7に示すような医用画像一覧画面700を生成する。医用画像一覧画面700には医用画像一覧701を備えており、医用画像管理テーブル600のレコードごとに医用画像一覧701にレコードを設ける。そして、医用画像一覧701の各レコードには、対応する画像ID601を埋め込んでおく。
また、ステップS503で画面を生成する際には、後述する処理で配置する依頼ボタン702と、確認ボタン703と、確定ボタン704と、取消ボタン705とはまだ配置しない。更に、医用画像一覧701には、医用画像のレコードごとに表示ボタン706を配置する。表示ボタン706は、医用画像を表示するためのボタンである。そのため、表示ボタン706は、表示ボタン706が配置されるレコードに対応する医用画像の医用画像保存場所607から医用画像を取得して表示可能なボタンとして配置する。
医用画像管理テーブル600は、医用画像処理サーバ102の外部メモリ311に記憶された医用画像に関する情報を格納するためのデータテーブルである。医用画像管理テーブル600は、医用画像処理サーバ102の外部メモリ311に記憶される。また、クライアント端末101やモダリティから医用画像を受信すると、医用画像管理テーブル600に新たなレコードを作成し、医用画像のDICOMタグから各種情報を取得し、医用画像管理テーブル600に格納する。尚、医用画像管理テーブル600のテーブル構成は一例であるので、これに限らない。
医用画像管理テーブル600は項目として、画像ID601と、検査日602と、患者名603と、検査種604と、部位605と、枚数606と、医用画像保存場所607とを備える。画像ID601は、受信した医用画像ごとに一意に割り振られる識別情報が格納される項目である。検査日602は、モダリティによって撮影された日が格納される項目である。患者名603は、患者の氏名が格納される項目である。部位605は、医用画像が撮影された部位が格納される項目である。枚数606は、受信した医用画像の枚数が格納される項目である。医用画像保存場所607は、医用画像が保存されているフォルダを示す情報が格納される項目である。
ステップS504では、医用画像処理サーバ102の画面生成部413は、医用画像管理テーブル600のいずれかのレコードを参照する。そして、参照したレコードに対してステップS505乃至ステップS508の各ステップが完了したら、医用画像管理テーブル600のすべてのレコードに対してステップS505乃至ステップS508の処理が完了したか否かを判定する。完了したと判定した場合には、ステップS509に処理を進める。すなわち、医用画像管理テーブル600のすべてのレコードに対してステップS505乃至ステップS508の処理が行われるまでループさせる。以下、ステップS505乃至ステップS508の各ステップについて説明する。
ステップS505では、医用画像処理サーバ102の画面生成部413は、参照中のレコードの枚数606が所定枚数以上の医用画像であり、かつ図15の依頼情報管理テーブル1500に当該医用画像の依頼情報が存在しない医用画像であるか否かを判定する。そうである場合にはステップS506に処理を進め、そうでない場合にはステップS507に処理を進める。尚、所定枚数より多い医用画像であり、かつ依頼情報が存在しない医用画像か否かを判定してもよい。医用画像の枚数については、医用画像から人体の部位を示すボリュームデータを生成可能な枚数をあらかじめ設定しておく。または、ボリュームデータにした場合に粗さが目立たない程度の枚数や、3Dデータとして出力した際に曲面が滑らかになる枚数を設定してもよい。
また、図15に示す依頼情報管理テーブル1500は、造形依頼に関する情報が格納されるデータテーブルである。依頼情報管理テーブル1500の1レコード分を本実施形態では依頼情報と称する。依頼情報管理テーブル1500の詳細については後述する。
ステップS506では、医用画像処理サーバ102の画面生成部413は、参照中のレコードに対応する医用画像一覧701のレコードに依頼ボタン702を配置する。依頼ボタン702は、医用画像から人体の部位を示す3Dデータを生成し、当該3Dデータを含む3D PDFデータの生成依頼(生成指示)を受付可能なボタンである。必要な枚数を有する医用画像は、3D PDFデータの生成依頼が可能な医用画像であるので依頼ボタン702を配置する。更に、生成依頼は可能だが、すでに依頼がなされている場合には、更なる依頼を行ってしまうと医用画像処理サーバ102の処理負荷が高くなってしまう。そのため、生成依頼は可能だが依頼済みである場合には、依頼ボタンを配置せず、生成依頼が可能で依頼済みでないなら依頼ボタンを配置する。このように医用画像ごとに識別表示させることで、医用画像処理サーバ102の処理負荷を軽減することが可能となる。また、ユーザに対しても依頼済みであることを医用画像ごとに認識させることが可能となる。更には、ステップS505の判定を行うことで、医用画像が所定枚数未満(所定枚数以下であってもよい。)である場合には、ステップS506が実行されないので、当該医用画像のレコードには依頼ボタン702が配置されない。これにより医用画像の枚数が足りない場合にユーザが3D PDFデータの生成依頼をすることを抑止できる。
本実施形態では、依頼済みの医用画像のレコードには依頼ボタンを配置しないことで更なる3D PDFデータの生成指示を受け付けない形態としたが、依頼ボタンは配置するが押下できないようなボタンとすることで依頼済みであることを認識させてもよい。または、依頼ボタンは配置するが依頼ボタンの色や形や依頼ボタンに表示する文字列を変更することで依頼済みであることを認識させてもよい。更には、依頼ボタンを配置し、配置した依頼ボタンの押下も可能とするが、依頼ボタンが押下された場合にエラーを通知して依頼がなされないように制御してもよい。
ステップS507では、医用画像処理サーバ102の画面生成部413は、参照中のレコードの医用画像に対応する依頼情報が依頼情報管理テーブル1500に存在し、かつ依頼情報のステータス1507が依頼者確認中であるか否かを判定する。つまり、参照中のレコードの医用画像を用いた3D PDFデータの生成を依頼済みであり、かつ依頼に応じた依頼結果が出力されているか否かを判定する。そうである場合にはステップS508に処理を進め、そうでない場合にはステップS504に処理を戻し、ループが完了したか否かを判定する。ループが完了したと判定されたら、ステップS509に処理を進める。
ステップS508では、医用画像処理サーバ102の画面生成部413は、参照中のレコードに対応する医用画像一覧701のレコードに確認ボタン703、確定ボタン704、取消ボタン705を配置する。
確認ボタン703は、依頼結果を確認するためのボタンである。確認ボタン703が押下されると、生成された3Dデータを閲覧可能な画面を表示する。また、確定ボタン704は、依頼の最終確定を行うためのボタンである。確定ボタン704が押下されると、3D PDFデータがクライアント端末101にダウンロードされ、依頼に応じた課金処理がなされる。取消ボタン705は、依頼をキャンセルするためのボタンである。このように、依頼結果が出力された場合に確認ボタン703が表示されるので、依頼者であるユーザは依頼結果が出力されているか否かを医用画像ごとに認識することができる。
ステップS508が完了したら、ステップS504に処理を戻し、ループが完了したか否かを判定する。ループが完了したと判定されたら、ステップS509に処理を進める。
ステップS509では、医用画像処理サーバ102の通信制御部411は、ステップS503乃至ステップS508で生成された医用画像一覧画面700をクライアント端末101に送信する。
ステップS510では、クライアント端末101の通信制御部401は、医用画像処理サーバ102から送信された医用画像一覧画面700を受信する。そして、ステップS511では、クライアント端末101のレンダリング部404は、受信した医用画像一覧画面700をレンダリングし、表示部402はレンダリング結果をクライアント端末101のディスプレイ310に表示する。
医用画像一覧画面700が表示された後、クライアント端末101は、図8、図12、図14、図18、図21、図23に示す各フローチャートを並列処理により実行する。
図8は、依頼内容入力画面1100を表示する一連の処理を示すフローチャートである。図8のステップS801、ステップS802、ステップS807、ステップS808の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図8のステップS803乃至ステップS806の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図8に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS801では、クライアント端末101の操作受付部405は、医用画像一覧画面700の依頼ボタン702に対する押下を受け付けたか否かを判定する。依頼ボタン702に対する押下を受け付けたと判定した場合には、ステップS802に処理を進める。依頼ボタン702に対する押下を受け付けていないと判定した場合には、そのまま待機する。
ステップS802では、クライアント端末101のウェブブラウザ部403は、押下を受け付けた依頼ボタン702のレコードに埋め込まれた画像IDを取得する。そして、クライアント端末101の通信制御部401は、この画像IDが示す医用画像(以下、図8においては、対象の医用画像という。)を用いた3D PDFデータの生成依頼を行うための依頼内容入力画面の取得要求を医用画像処理サーバ102に送信する。
ステップS803では、医用画像処理サーバ102の通信制御部411は、クライアント端末101から送信された依頼内容入力画面の取得要求を受信する。
ステップS804では、医用画像処理サーバ102の表示部位特定部414は、対象の医用画像の部位から表示部位を特定する(部位特定手段)。すなわち、対象の医用画像から3Dデータを生成可能な部位(表示部位)を特定する。具体的に説明を行う。対象の医用画像の部位605と検査種604とを参照し、これらと一致する部位901と検査種902とを有するレコードを図9に示す表示部位管理テーブル900から特定する。表示部位管理テーブル900は、部位901ごとに3Dデータを生成可能な表示部位904を定めたデータテーブルである。つまり、この特定したレコードの表示部位904が示す部位が当該医用画像から3Dデータを生成可能な部位である。本実施形態では、このように表示部位管理テーブル900を用いて対象の医用画像から3Dデータを生成可能な部位を特定したが、医用画像を解析することで特定してもよい。すなわち、医用画像を画像処理により解析し、どのような部位が写っているのかを特定する方法である。医用画像をボリュームデータにして、三次元的に解析する方法でもよい。
表示部位管理テーブル900は、人体の部位に関する情報を格納するためのデータテーブルである。表示部位管理テーブル900は、医用画像処理サーバ102の外部メモリ311に記憶される。尚、表示部位管理テーブル900のテーブル構成は一例であるので、これに限らない。
表示部位管理テーブル900は項目として、部位901、検査種902、器官種別903、表示部位904、抽出アルゴリズム905、サンプルデータ906、表示位置907を備える。部位901は、表示部位904が含まれる人体の範囲を示す情報が格納される項目である。検査種902は、X線CTやMRIといったモダリティでの検査種別を示す情報が格納される項目である。器官種別903は、表示部位904が属する器官の種別を示す情報が格納される項目である。器官種別903に応じて後述する表示部位選択欄1101での表示部位904の表示位置が決定される。例えば、器官種別903が示す分類ごとに表示部位904を表示する。表示部位904は、3Dデータを生成可能な部位を示す情報が格納される項目である。抽出アルゴリズム905は、表示部位904を医用画像から抽出するための既知のアルゴリズムが格納される項目である。サンプルデータ906は、後述するデフォルト表示方向選択欄1103に表示するための3Dデータのファイルの保存場所を示す情報が格納される項目である。この3Dデータは、表示部位904のサンプルを示す3Dデータである(以下、サンプルデータという。)。表示位置907は、サンプルデータ906が示す3Dデータを配置する三次元空間上の座標を示す情報が格納される項目である。この表示部位管理テーブル900は、あらかじめ医用画像処理サーバ102の管理者であるユーザによって医用画像処理サーバ102の外部メモリ311に記憶しておく。
ステップS805では、医用画像処理サーバ102の画面生成部413は、ステップS804で特定した生成可能な部位に対する選択を受け付けることの可能な依頼内容入力画面を生成する(画面生成手段)。
依頼内容入力画面1100の一例を図11に示す。依頼内容入力画面1100は、表示部位選択欄1101、表示方向選択欄1102、デフォルト表示方向選択欄1103、OKボタン1104を備える。表示部位選択欄1101は、依頼者であるユーザが立体表示したい人体の部位を選択するためのチェックボックス形式の選択欄である。この選択欄では、ステップS804で特定した部位に対する選択を受け付けるようにする。すなわち、ステップS804で特定されなかった部位に対する選択は受け付けないようにする。尚、ステップS804で特定した部位の選択欄のみを設けることが望ましい。このようにすることで、対象の医用画像から特定される3Dデータを生成可能な部位に対する選択を受け付けることが可能となるので、依頼者であるユーザが医用画像に対する専門的な知識を有していなくても、生成できない部位の生成依頼を行うことを抑止できる。
本実施形態では、ステップS804で特定していない部位の選択欄は配置しないことで3Dデータを生成できない部位の生成依頼を抑止する形態としたが、当該選択欄は配置するが選択できないような選択欄としてもよい。または、当該選択欄は配置するが選択欄の色や形や選択欄に表示する文字列に打ち消し線等の装飾を施してもよい。更には、選択欄を配置し選択も可能とするが、OKボタン1104の押下ができないように制御してもよい。例えば、OKボタン1104を非表示にしたり、OKボタン1104の色や形等を変更したりする。更には、OKボタン1104が押下された場合にエラーを通知して生成依頼がなされないように制御してもよい。
表示方向選択欄1102は、3D PDFデータにおいて3Dデータの表示方向の変更指示を受け付けるために、当該表示方向を選択するチェックボックス形式の選択欄である。表示方向選択欄1102で表示方向の選択を受け付けると、3D PDFデータにおいて当該表示方向に変更可能なオブジェクト(後述するキャプチャ画像)が配置される。すなわち、このオブジェクトの押下を検知すると、3Dデータを回転してオブジェクトに対応する表示方向がユーザ側(つまり手前)に表示される。また、表示方向選択欄1102には、図10に示す表示方向管理テーブル1000の表示方向名1001を選択項目として表示する。
表示方向管理テーブル1000は、表示方向選択欄1102で選択可能な表示方向に関する情報を格納するためのデータテーブルである。表示方向管理テーブル1000は、医用画像処理サーバ102の外部メモリ311に記憶される。尚、表示方向管理テーブル1000のテーブル構成は一例であるので、これに限らない。
表示方向管理テーブル1000は項目として、表示方向名1001、回転軸1002、回転角度1003を備える。表示方向名1001は、表示方向の名称を示す情報が格納される項目である。本実施形態では、図10に示すように6つの表示方向が定義されているが、これらに限らない。回転軸1002は、表示方向名1001が示す表示方向にするために用いられる回転軸を示す情報が格納される項目である。回転角度1003は、表示方向名1001が示す表示方向にするために用いられる回転角度を示す情報が格納される項目である。図10に示す回転軸1002と回転角度1003には、本実施形態においては3Dデータが配置される三次元空間上の視線は変えず、3Dデータ自体を回転する場合を想定したパラメータが一例として格納されている。3Dデータ自体を回転せず、三次元空間上の視線方向を変更する場合には、それに応じたパラメータを回転軸1002及び回転角度1003に格納すればよい。
図11に説明を戻す。デフォルト表示方向選択欄1103は、3D PDFデータにおいて3Dデータのデフォルトの表示方向(3D PDFデータを開いたときの初期状態)を選択するための欄である。表示部位選択欄1101で選択された部位のサンプルデータがデフォルト表示方向選択欄1103に表示され、ユーザはサンプルデータの表示方向をマウスによるドラッグ操作等で変更することで、デフォルトの表示方向を調整できる。また、OKボタン1104は依頼内容入力画面1100で受け付けた依頼内容を医用画像処理サーバ102に送信するためのボタンである。OKボタン1104には、対象の医用画像の画像ID601が埋め込まれている。更に、図10の依頼内容入力画面1100には示さないが、依頼者であるユーザの氏名や連絡先(電話番号、住所)等の依頼者情報を入力するための入力フォームも備える。
ステップS806では、医用画像処理サーバ102の通信制御部411は、ステップS805で生成した依頼内容入力画面1100をクライアント端末101に送信する。
ステップS807では、クライアント端末101の通信制御部401は、医用画像処理サーバ102から送信された依頼内容入力画面1100を受信する。そして、ステップS808では、クライアント端末101のレンダリング部404は、受信した依頼内容入力画面1100をレンダリングし、表示部402はレンダリング結果をクライアント端末101のディスプレイ310に表示する。このようにして表示された依頼内容入力画面1100に対して依頼者であるユーザが依頼内容を入力する。
図12は、表示部位の選択を受け付けることにより動作する一連の処理を示すフローチャートである。図12のステップS1201、ステップS1202、ステップS1210の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図12のステップS1203乃至ステップS1209の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図12に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS1201では、クライアント端末101の操作受付部405は、依頼内容入力画面1100の表示部位選択欄1101に表示された表示部位に対する選択を受け付けたか否かを判定する。すなわち、表示部位選択欄1101のチェックボックスのいずれかにチェックがなされたか否かを判定する。表示部位に対する選択を受け付けたと判定した場合には、ステップS1202に処理を進める。表示部位に対する選択を受け付けていないと判定した場合には、そのまま待機する。
ステップS1202では、クライアント端末101の通信制御部401は、選択された表示部位に関する情報を含めた、依頼内容入力画面1100の更新要求を医用画像処理サーバ102に送信する。また、デフォルト表示方向選択欄1103ですでに表示方向の選択がなされている場合には、その表示方向に関する情報(回転軸、回転角度)も取得して、更新要求に含める。
ステップS1203では、医用画像処理サーバ102の通信制御部401は、クライアント端末101から送信された依頼内容入力画面1100の更新要求を受信する。
ステップS1204では、医用画像処理サーバ102の3Dデータ生成部420は、ステップS1203で受信した更新要求に含まれる選択された表示部位に関する情報から、選択された表示部位のサンプルデータを取得する。選択された表示部位を表示部位管理テーブル900の表示部位904から特定し、特定したレコードのサンプルデータ906が示す保存場所からサンプルデータを取得すればよい。
ステップS1205では、医用画像処理サーバ102の3Dデータ生成部420は、ステップS1204で取得したサンプルデータを三次元空間上の表示位置907が示す位置に配置する。ステップS1204で特定したレコードの表示位置907を参照し、配置する位置を決定する。ここで、各サンプルデータの配置関係が人体における配置関係と同様であることが望ましい。すなわち、人体の構造通りに各部位のサンプルデータを配置する。例えば、“腰椎”と“仙骨”を配置するのであれば、人体の構造通り、“腰椎”の下部に“仙骨”を配置する。このように、表示部位が複数選択されたら、その部位同士の配置関係を人体の構造における配置関係と同様にすることで、自然な人体構造の3Dデータを出力することができる。これを実現するために、表示位置907が示す三次元空間上の配置位置は、こうした配置関係を考慮した位置を格納しておくことが望ましい。
ステップS1206では、医用画像処理サーバ102の3Dデータ生成部420は、選択された表示部位に対応するサンプルデータがすべて三次元空間上に配置されたか否かを判定する。すべて配置されたと判定した場合には、ステップS1207に処理を進める。そうでない場合には、ステップS1204に処理を進める。このようにして、選択されたすべての表示部位を三次元空間上に配置していく。
ステップS1207では、医用画像処理サーバ102の3Dデータ生成部420は、三次元空間上に配置されたすべてのサンプルデータを含む3Dデータを生成する。すなわち、表示部位選択欄1101で“腰椎”と“骨盤”が選択された場合には、この2つのサンプルデータが三次元空間上に配置される。そして、これら2つのサンプルデータから成る3Dデータが生成される。
ステップS1208では、医用画像処理サーバ102の3Dデータ挿入部415は、ステップS805で生成した依頼内容入力画面1100のデフォルト表示方向選択欄1103に、ステップS1207で生成した3Dデータを挿入する。尚、挿入とは画面内に3Dデータを埋め込む形式でもよいし、画面に3Dデータをリンクさせる形式でもよい。このように、表示部位選択欄1101で選択した表示部位に応じて、デフォルト表示方向選択欄1103に表示される3Dデータが変化する。これにより、ユーザは依頼結果に近い3Dデータを操作しながら、デフォルトの表示方向を変更することができる。
ステップS1209では、医用画像処理サーバ102の通信制御部411は、ステップS1208で3Dデータが挿入された依頼内容入力画面1100をクライアント端末101に送信する。
ステップS1210では、クライアント端末101の通信制御部401は、医用画像処理サーバ102から送信された依頼内容入力画面1100を受信する。そして、レンダリング部404は、受信した依頼内容入力画面1100をレンダリングし、表示部402はレンダリング結果をクライアント端末101のディスプレイ310に表示する。本実施形態では、画面(ウェブページ)全体を更新する形態として説明を行ったが、デフォルト表示方向選択欄1103だけを部分的に更新する形態であってもよい。
このようにして依頼内容入力画面1100を更新した結果の一例を図13に示す。図13は、表示部位選択欄1101で“肝臓”が選択された場合の依頼内容入力画面1100である。“肝臓”が選択されたので、表示部位管理テーブル900の表示部位904が“肝臓”のレコードを特定し、特定したレコードのサンプルデータ906から“肝臓”のサンプルデータを取得する。そして、このサンプルデータを特定したレコードの表示位置907が示す三次元空間上の位置に配置し、3Dデータを生成する。生成した3Dデータを依頼内容入力画面1100のデフォルト表示方向選択欄1103に挿入すると、図13に示す通りとなる。このデフォルト表示方向選択欄1103に表示された3Dデータは、マウス等の入力デバイスによるドラッグ操作により、3Dデータの中心点を中心に回転させることができる。このように回転させることで、デフォルトの表示方向を自由に設定することができる。
図14は、依頼内容を受け付ける一連の処理を示すフローチャートである。図14のステップS1401、ステップS1402、ステップS1419の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図14のステップS1403乃至ステップS1418の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図14に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS1401では、クライアント端末101の操作受付部405は、依頼内容入力画面1100のOKボタン1104に対する押下を受け付けたか否かを判定する。OKボタン1104に対する押下を受け付けたと判定した場合には、ステップS1402に処理を進める。OKボタン1104に対する押下を受け付けていないと判定した場合には、そのまま待機する。
ステップS1402では、クライアント端末101のウェブブラウザ部403は、押下を受け付けたOKボタン1104に埋め込まれた画像IDと、依頼内容入力画面1100に入力された依頼内容(表示部位、表示方向、デフォルト表示方向等)を取得する。そして、クライアント端末101の通信制御部401は、この画像IDが示す医用画像(以下、図11においては、対象の医用画像という。)から、選択された表示部位の3Dデータを生成し、3D PDFデータを生成するよう医用画像処理サーバ102に依頼する。すなわち、取得した画像IDと依頼内容を医用画像処理サーバ102に送信する。
ステップS1403では、医用画像処理サーバ102の通信制御部411は、クライアント端末101から送信された依頼内容と画像IDとを受信する(受付手段)。すなわち、依頼内容入力画面1100で選択された内容を受け付ける。そして、ステップS1404では、医用画像処理サーバ102の記憶部412は、図15に示す依頼情報管理テーブル1500に新規レコード(依頼情報)を作成し、このレコードに受信した依頼内容と画像IDとを登録する。
依頼情報管理テーブル1500は、3D PDFデータの生成依頼に関する情報を格納するためのデータテーブルである。依頼情報管理テーブル1500は、医用画像処理サーバ102の外部メモリ311に記憶される。尚、依頼情報管理テーブル1500のテーブル構成は一例であるので、これに限らない。
依頼情報管理テーブル1500は項目として、依頼ID1501、画像ID1502、表示部位1503、表示方向1504、デフォルト1505、依頼者情報1506を備える。更には、ステータス1507、3Dデータ保存場所1508、3D PDFデータ保存場所1509を備える。
依頼ID1501は、依頼情報ごとに一意に割り振られる識別情報が格納される項目である。画像ID1502は、依頼された造形で使用する医用画像の画像ID601が格納される項目である。表示部位1503は、表示部位選択欄1101で選択を受け付けた表示部位が格納される項目である。表示方向1504は、表示方向選択欄1102で選択を受け付けた表示方向が格納される項目である。デフォルト1505は、デフォルト表示方向選択欄1103で選択を受け付けたデフォルトの表示方向が格納される項目である。依頼者情報1506は、依頼者の氏名や住所といった情報が格納される項目である。ステータス1507は、3D PDFデータの生成依頼の進捗状況が格納される項目である。依頼を受け付けると依頼受付、後述する処理で依頼結果が出力されると依頼者確認中、依頼の最終確定がなされると依頼確定、依頼内容が完了した場合には料金請求中、請求した金額が振り込まれると依頼完了となる。必要に応じて、その他のステータスを格納してもよい。3Dデータ保存場所1508は、後述する処理で生成される3Dデータの保存場所が格納される項目である。3D PDFデータ保存場所1509は、後述する処理で生成される3D PDFデータの保存場所が格納される項目である。
ステップS1405では、医用画像処理サーバ102のボリュームデータ生成部418は、対象の医用画像を医用画像保存場所607から取得し、これを用いてボリュームデータを生成する。対象の医用画像は複数枚あるので、これを積層することでボリュームデータを生成する。ボリュームデータの生成については従来技術を用いるため、詳細な説明は省略する。
ステップS1406では、医用画像処理サーバ102の表示部位抽出部419は、ステップS1405で生成したボリュームデータから、依頼を受け付けた表示部位1503を抽出する。表示部位抽出部419は、表示部位1503に対応する表示部位904を特定し、この表示部位904に対応する抽出アルゴリズム905を用いることで自動的に依頼された人体の部位を抽出する。ボリュームデータから特定の部位を抽出する方法についても、従来技術であるので詳細な説明は省略する。ステップS1405及びステップS1406でボリュームデータの生成と指定された部位の抽出を行った場合の概要を、図16の1601に示す。このように複数枚の医用画像から指定された部位の立体像を生成する。図16は“肝臓”を抽出した場合を示す。
ステップS1407では、医用画像処理サーバ102の3D制御部417は、依頼された人体の部位の抽出が成功したか否かを判定する。抽出アルゴリズム905を用いても医用画像が不鮮明だったり医用画像の枚数が不足していたりすると、依頼された部位を抽出できない可能性がある。そのため、抽出アルゴリズム905を実行してエラーが出力された場合には、抽出が失敗したと判定する。依頼された人体の部位の抽出が成功したと判定した場合には、ステップS1409に処理を進める。そうでない場合、つまり失敗したと判定した場合には、ステップS1408に処理を進める。
ステップS1408では、医用画像処理サーバ102の通信制御部411は、依頼された人体の部位の抽出に失敗した旨の処理結果をクライアント端末101に送信する。ステップS1419では、クライアント端末101の通信制御部401は、この処理結果を受信し、依頼者であるユーザに通知する。
一方抽出に成功した場合には、ステップS1409では、医用画像処理サーバ102の3Dデータ生成部は、ステップS1406で抽出した部位の3Dデータ(三次元データ)を生成する(三次元データ生成手段)。依頼された部位が抽出されたボリュームデータを用いて、VRML形式やSTL形式等の3Dデータを生成する。3Dデータの生成についても従来技術を用いるため説明は省略する。図16では、1602の部分に該当する。
ステップS1410では、医用画像処理サーバ102の記憶部412は、ステップS1409で生成された3Dデータのファイルを医用画像処理サーバ102の外部メモリ311に保存する。そして、保存した場所を、ステップS1404で新規に作成された処理中の依頼情報の3Dデータ保存場所1508に格納する。
ステップS1411では、医用画像処理サーバ102の3D PDFデータ生成部421は、ステップS1409で生成された3Dデータを含む3D PDFデータを生成する(文書データ生成手段)。処理中の依頼情報の3Dデータ保存場所1508から3Dデータを取得し、この3Dデータを含めたPDFデータ(文書データ)を生成する。3D PDFデータの生成方法についても、従来技術を用いるため説明を省略する。図16では、1603の部分に該当する。また、3D PDFデータをPDFビューワで開いた場合の表示例を図17に示す。図17(a)は、3D PDFデータ1700の表示例である。図17(a)の1701に示すように、ステップS1411でPDFデータに3Dデータを挿入することで、3DデータがPDFビューワ上で表示可能となる。
ステップS1412では、医用画像処理サーバ102の3D制御部417は、ステップS1410で保存された3Dデータのファイルを開いて、三次元空間上に3Dデータを配置する。
ステップS1413では、医用画像処理サーバ102の表示方向変更部422は、ステップS1412で開いた3Dデータの表示方向を、処理中の依頼情報の表示方向1504に格納されるいずれかの表示方向に変更する。
ステップS1414では、医用画像処理サーバ102の3D制御部417は、ステップS1413で表示方向が変更された3Dデータに対してキャプチャ(スクリーンショット)を行い、キャプチャ画像を生成する。このようにして表示方向が変更された表示部位のキャプチャ画像を生成する。
ステップS1415では、医用画像処理サーバ102の3D制御部417は、処理中の依頼情報の表示方向1504に格納されるすべての表示方向に対して、キャプチャを実行したか否かを判定する。ここでいう表示方向には、デフォルトの表示方向も含める。すべて実行したと判定した場合には、ステップS1416に処理を進める。すべて実行していない、つまり未実行の表示方向があると判定した場合には、ステップS1412に処理を戻す。
ステップS1416では、医用画像処理サーバ102の3D PDFデータ生成部421は、ステップS1414で生成したキャプチャ画像を3D PDFデータに挿入する。このとき、キャプチャ画像とそのキャプチャ画像が示す表示方向の回転軸1002と回転角度1003とを対応付けて挿入する。そしてキャプチャ画像(前述したオブジェクト)に対する押下を受付可能な状態に設定する。こうしておくことで、キャプチャ画像に対する選択を受け付けた場合に、選択されたキャプチャ画像が示す表示方向に3Dデータを回転させることが可能となる。キャプチャ画像を挿入した結果が図17(a)の1702である。このように、選択された表示方向に応じた向きの3Dデータがキャプチャ画像に写っているので、表示方向を示す文字列を表示するよりも表示方向を変更した結果が直感的に把握しやすい。またデフォルトの表示方向についてもキャプチャ画像が生成されるので、デフォルトの表示方向に戻すために3D PDFデータを開きなおす必要がなくなる効果もある。
ステップS1417では、医用画像処理サーバ102の記憶部412は、ステップS1416で生成された3D PDFデータを医用画像処理サーバ102の外部メモリ311に保存する。そして、保存した場所を処理中の依頼情報の3D PDFデータ保存場所1509に格納する。
ステップS1418では、医用画像処理サーバ102の通信制御部411は、依頼された部位の抽出と3D PDFデータの生成が成功した旨の処理結果をクライアント端末101に送信する。そして、ステップS1419では、クライアント端末101の通信制御部401は、この処理結果を受信し、依頼者であるユーザに通知する。
ステップS1419までの処理が完了したら、クライアント端末101は、医用画像一覧画面700の更新を行う。すなわち、図5に示す一連の処理を実行する。こうすることで医用画像一覧画面700が最新の状態に更新される。
図18は、依頼結果を確認させる一連の処理を示すフローチャートである。図18のステップS1801、ステップS1802、ステップS1812、ステップS1813の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図18のステップS1803乃至ステップS1811の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図18に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS1801では、クライアント端末101の操作受付部405は、医用画像一覧画面700の確認ボタン703に対する押下を受け付けたか否かを判定する。確認ボタン703に対する押下を受け付けたと判定した場合には、ステップS1802に処理を進める。確認ボタン703に対する押下を受け付けていないと判定した場合には、そのまま待機する。
ステップS1802では、クライアント端末101のウェブブラウザ部403は、押下を受け付けた確認ボタン703のレコードに埋め込まれた画像IDを取得する。そして、クライアント端末101の通信制御部401は、この画像IDが示す医用画像(以下、図18においては、対象の医用画像という。)の依頼結果の取得要求を医用画像処理サーバ102に当該画像IDを含めて送信する。
ステップS1803では、医用画像処理サーバ102の通信制御部411は、クライアント端末101から送信された依頼結果の取得要求を受信する。
ステップS1804では、医用画像処理サーバ102の記憶部412は、対象の医用画像の処理結果を外部メモリ311から取得する。対象の医用画像の画像IDをクライアント端末101から受信しているので、この画像IDに対応する画像ID1502を依頼情報管理テーブル1500のレコードから特定する。そして、特定したレコード(以下、図18の説明においては処理中の依頼情報という。)の3Dデータ保存場所1508から3Dデータを取得する。
ステップS1805では、医用画像処理サーバ102の画面生成部413は、記憶部412か依頼結果確認画面のテンプレートと、ステップS1804で受信した画像ID1502に対応する医用画像管理テーブル600のレコードを取得する。そして、これらを用いて依頼結果確認画面を生成する。そして、生成した依頼結果確認画面にステップS1804で取得した3Dデータを挿入する。この依頼結果確認画面のテンプレートは、生成された3D PDFデータと同じレイアウトであることが望ましい。尚、挿入とは画面内に3Dデータを埋め込む形式でもよいし、画面に3Dデータをリンクさせる形式でもよい。3Dデータを依頼結果確認画面に挿入した場合の表示例を図19に示す。図19(a)は、依頼結果確認画面1900の表示例である。図19(a)の1901に示すように、ステップS1805で依頼結果確認画面に3Dデータを挿入することで、3Dデータがウェブブラウザ上で表示可能となる。更には、図19(a)の1901に示すように、3Dデータの上に“SAMPLE”等の文字列を重畳させることで、依頼者であるユーザがクライアント端末101で3Dデータをキャプチャしないよう抑止してもよい。依頼結果確認画面1900の3Dデータが表示されるレイヤよりも上層のレイヤに文字列や画像を配置し、これの不透明度を調整して透かしのようにする。または、3Dデータにこうした文字列を含めてしまってもよい。
ステップS1806では、医用画像処理サーバ102の3D制御部417は、ステップS1804で取得した3Dデータのファイルを開いて、三次元空間上に3Dデータを配置する。
ステップS1807では、医用画像処理サーバ102の表示方向変更部422は、ステップS1806で開いた3Dデータの表示方向を、ステップS1804で特定された処理中の依頼情報の表示方向1504に格納されるいずれかの表示方向に変更する。
ステップS1808では、医用画像処理サーバ102の3D制御部417は、ステップS1807で表示方向が変更された3Dデータに対してキャプチャ(スクリーンショット)を行い、キャプチャ画像を生成する。このようにして表示方向が変更された表示部位のキャプチャ画像を生成する。
ステップS1809では、医用画像処理サーバ102の3D制御部417は、処理中の依頼情報の表示方向1504に格納されるすべての表示方向に対して、キャプチャを実行したか否かを判定する。ここでいう表示方向には、デフォルトの表示方向も含める。すべて実行したと判定した場合には、ステップS1810に処理を進める。すべて実行していない、つまり未実行の表示方向があると判定した場合には、ステップS1806に処理を戻す。
ステップS1810では、医用画像処理サーバ102のキャプチャ画像挿入部416は、ステップS1808で生成したキャプチャ画像を、生成した3D PDFデータと同じレイアウトになるよう、依頼結果確認画面1900に挿入する。このとき、キャプチャ画像とそのキャプチャ画像が示す表示方向の回転軸1002と回転角度1003とを対応付けて挿入する。そしてキャプチャ画像(前述したオブジェクト)に対する押下を受付可能な状態に設定する。こうしておくことで、キャプチャ画像に対する選択を受け付けた場合に、選択されたキャプチャ画像が示す表示方向に3Dデータを回転させることが可能となる。キャプチャ画像を挿入した結果が図19(a)の1902である。このように、選択された表示方向に応じた向きの3Dデータがキャプチャ画像に写っているので、表示方向を示す文字列を表示するよりも表示方向を変更した結果が直感的に把握しやすい。また、図17(a)に示す3D PDFデータと同じレイアウトで表示されるので、処理結果を把握しやすい。更には、デフォルトの表示方向についてもキャプチャ画像が生成されるので、デフォルトの表示方向に戻すために3D PDFデータを開きなおす必要がなくなる効果もある。
ステップS1811では、医用画像処理サーバ102の通信制御部411は、ステップS1810で生成した依頼結果確認画面1900をクライアント端末101に送信する。
ステップS1812では、クライアント端末101の通信制御部411は、医用画像処理サーバ102から送信された依頼結果確認画面1900を受信する。そして、ステップS1813では、クライアント端末101の通信制御部401は、医用画像処理サーバ102から送信された依頼結果確認画面1900を受信する。そして、レンダリング部404は、受信した依頼結果確認画面1900をレンダリングし、表示部402はレンダリング結果をクライアント端末101のディスプレイ310に表示する。
このように、依頼結果を確認させる際には3D PDFデータではなく、ウェブページの画面として3D PDFデータと同じレイアウトの依頼結果確認画面を提示する。これにより、後述する図21の依頼を確定させる処理を行わずに3D PDFデータだけを依頼者であるユーザに取得されてしまうことを抑止できる。
次に、依頼結果確認画面1900における動作について説明を行う。
図20は、依頼結果確認画面1900で受け付けた操作に応じて実行される一連の処理を示すフローチャートである。図16のステップS2001乃至ステップS2005の各ステップは、クライアント端末101のCPU301によって実行される処理である。尚、図20に示す処理内容や処理順はあくまで一例であり、これに限らない。また、図20に示す一連の処理は、依頼結果確認画面1900が表示されている間、繰り返し実行されるものである。
ステップS2001では、クライアント端末101の操作受付部405は、依頼結果確認画面1900の3Dデータに対するドラッグ操作を受け付けたか否かを判定する。依頼結果確認画面1900には、1901に示すような表示部位として選択された部位の3Dデータがウェブブラウザ部403によって表示されるので、これに対するドラッグ操作を受け付けたか否かを判定する。ドラッグ操作を受け付けたと判定した場合には、ステップS2002に処理を進める。ドラッグ操作を受け付けていない、または他の操作を受け付けたと判定した場合には、ステップS2003に処理を進める。
ステップS2002では、クライアント端末101の3Dデータプラグイン部406は、ドラッグ操作に応じて3Dデータの表示方向を変更する。ドラッグ操作の移動量と移動方向とをリアルタイムに取得し、これらに応じて3Dデータを回転させることで表示方向を変更する。このようにしてユーザが依頼結果を確認することができる。
ステップS2003では、クライアント端末101の操作受付部405は、依頼結果確認画面1900のキャプチャ画像に対する選択(押下)を受け付けたか否かを判定する。依頼結果確認画面1900には、1902に示すようなキャプチャ画像が挿入されているので、これに対する選択を受け付けたか否かを判定する。キャプチャ画像に対する選択を受け付けたと判定した場合には、ステップS2004に処理を進める。キャプチャ画像に対する選択を受け付けていないと判定した場合には、本一連の処理を終了する。
ステップS2004では、クライアント端末101の3Dデータプラグイン部406は、選択を受け付けたキャプチャ画像に対応する回転軸及び回転角度を取得する。前述したステップS1810において、キャプチャ画像とそのキャプチャ画像が示す表示方向の回転軸1002と回転角度1003とを対応付けて挿入されているので、これを用いればよい。
ステップS2005では、クライアント端末101の3Dデータプラグイン部406は、ステップS2004で取得した回転軸及び回転角度を用いて、依頼結果確認画面1900に表示されている3Dデータの表示方向を変更する。例えば、図19(a)に示す依頼結果確認画面1900で“底面”を示すキャプチャ画像が選択されると、この“底面”のキャプチャ画像に対応する回転軸及び回転角度(X軸、−90度)を取得する。そして取得した回転軸を中心に取得した回転角度だけ3Dデータを回転させると、図19(b)に示すような状態になる。このようにキャプチャ画像を選択するだけで、そのキャプチャ画像が示す表示方向と同じ表示方向に変更することが可能となる。
図21は、依頼を確定する一連の処理を示すフローチャートである。図21のステップS2101、ステップS2102、ステップS2108、ステップS2109の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図21のステップS2103乃至ステップS2107の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図21に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS2101では、クライアント端末101の操作受付部405は、医用画像一覧画面700の確定ボタン704に対する押下を受け付けたか否かを判定する。確定ボタン704に対する押下を受け付けたと判定した場合には、ステップS2102に処理を進める。確定ボタン704に対する押下を受け付けていないと判定した場合には、そのまま待機する。
ステップS2102では、クライアント端末101のウェブブラウザ部403は、押下を受け付けた確定ボタン704のレコードに埋め込まれた画像IDを取得する。そして、クライアント端末101の通信制御部401は、この画像IDが示す医用画像(以下、図21においては、対象の医用画像という。)の最終的な確定要求を医用画像処理サーバ102に当該画像IDを含めて送信する。
ステップS2103では、医用画像処理サーバ102の通信制御部411は、クライアント端末101から送信された確定要求を受信する。
ステップS2104では、医用画像処理サーバ102の記憶部412は、ステップS2103で受信した確定要求に含まれる画像IDを含む依頼情報を依頼情報管理テーブル1500から特定する。そして、特定した依頼情報の3D PDFデータ保存場所1509から生成済みの3D PDFデータを取得する。
ステップS2105では、医用画像処理サーバ102の通信制御部411は、ステップS2104で取得した3D PDFデータをクライアント端末101に送信する。
ステップS2106では、医用画像処理サーバ102は、受け付けた依頼内容に応じて依頼者であるユーザに請求書を発行する。そして、ステップS2107では、医用画像処理サーバ102の記憶部412は、ステップS2104で特定した依頼情報のステータス1507を料金請求中に更新する。以後、料金の振込み等がなされれば、このステータスを依頼完了に変更し、一連の依頼を終了する。
一方、ステップS2108では、クライアント端末101の通信制御部401は、医用画像処理サーバ102から送信された3D PDFデータを受信する。そして、ステップS2109では、クライアント端末101のPDFビューワ部407は、受信した3D PDFデータを保存した上でこれを開いて、クライアント端末101のディスプレイ310に表示させる。
次に、PDFビューワ部407によって表示された3D PDFデータにおける動作について説明を行う。
図22は、3D PDFデータで受け付けた操作に応じて実行される一連の処理を示すフローチャートである。図22のステップS2201乃至ステップS2205の各ステップは、クライアント端末101のCPU301によって実行される処理である。尚、図22に示す処理内容や処理順はあくまで一例であり、これに限らない。また、図22に示す一連の処理は、3D PDFデータが表示されている間、繰り返し実行されるものである。
ステップS2201では、クライアント端末101のPDFビューワ部407は、3D PDFデータに含まれる3Dデータに対するドラッグ操作を受け付けたか否かを判定する。3D PDFデータには、1701に示すような表示部位として選択された部位の3DデータがPDFビューワ部407によって表示されるので、これに対するドラッグ操作を受け付けたか否かを判定する。ドラッグ操作を受け付けたと判定した場合には、ステップS2202に処理を進める。ドラッグ操作を受け付けていない、または他の操作を受け付けたと判定した場合には、ステップS2203に処理を進める。
ステップS2202では、クライアント端末101の3Dデータ制御部408は、ドラッグ操作に応じて3Dデータの表示方向を変更する。ドラッグ操作の移動量と移動方向とをリアルタイムに取得し、これらに応じて3Dデータを回転させることで表示方向を変更する。このようにしてユーザが依頼結果を確認することができる。
ステップS2203では、クライアント端末101のPDFビューワ部407は、3D PDFデータのキャプチャ画像に対する選択(押下)を受け付けたか否かを判定する。3D PDFデータには、1702に示すようなキャプチャ画像が挿入されているので、これに対する選択を受け付けたか否かを判定する。キャプチャ画像に対する選択を受け付けたと判定した場合には、ステップS2204に処理を進める。キャプチャ画像に対する選択を受け付けていないと判定した場合には、本一連の処理を終了する。
ステップS2204では、クライアント端末101の3Dデータ制御部408は、選択を受け付けたキャプチャ画像に対応する回転軸及び回転角度を取得する。前述したステップS1416において、キャプチャ画像とそのキャプチャ画像が示す表示方向の回転軸1002と回転角度1003とを対応付けて挿入されているので、これを用いればよい。
ステップS2205では、クライアント端末101の3Dデータ制御部408は、ステップS2204で取得した回転軸及び回転角度を用いて、3D PDFデータに表示されている3Dデータの表示方向を変更する。例えば、図17(a)に示す3D PDFデータで“底面”を示すキャプチャ画像が選択されると、この“底面”のキャプチャ画像に対応する回転軸及び回転角度(X軸、−90度)を取得する。そして取得した回転軸を中心に取得した回転角度だけ3Dデータを回転させると、図17(b)に示すような状態になる。このようにキャプチャ画像を選択するだけで、そのキャプチャ画像が示す表示方向と同じ表示方向に変更することが可能となる。また、前述した依頼結果確認画面1900と同じ操作感で3Dデータを操作することが可能である。
図23は、依頼を取り消す一連の処理を示すフローチャートである。図23のステップS2301、ステップS2302の各ステップは、クライアント端末101のCPU301によって実行される処理である。また、図23のステップS2303乃至ステップS2305の各ステップは、医用画像処理サーバ102のCPU301によって実行される処理である。尚、図23に示す処理内容や処理順はあくまで一例であり、これに限らない。
ステップS2301では、クライアント端末101の操作受付部405は、医用画像一覧画面700の取消ボタン705に対する押下を受け付けたか否かを判定する。取消ボタン705に対する押下を受け付けたと判定した場合には、ステップS2302に処理を進める。取消ボタン705に対する押下を受け付けていないと判定した場合には、そのまま待機する。
ステップS2302では、クライアント端末101のウェブブラウザ部403は、押下を受け付けた取消ボタン705のレコードに埋め込まれた画像IDを取得する。そして、クライアント端末101の通信制御部401は、この画像IDが示す医用画像(以下、図23においては、対象の医用画像という。)の生成依頼の取消要求を医用画像処理サーバ102に当該画像IDを含めて送信する。
ステップS2303では、医用画像処理サーバ102の通信制御部411は、クライアント端末101から送信された取消要求を受信する。そして、ステップS2304では、医用画像処理サーバ102の記憶部412は、取消要求のなされた依頼の依頼結果を外部メモリ311から削除する。クライアント端末101から画像IDを受信しているので、この画像IDに対応する画像ID1502を依頼情報管理テーブル1500のレコードから特定する。そして特定したレコードの3Dデータ保存場所1508と3D PDFデータ保存場所1509から依頼結果である3Dデータと3D PDFデータを削除する。
ステップS2305では、医用画像処理サーバ102の記憶部412は、取消要求のなされた依頼情報、つまりステップS2304で特定したレコードを依頼情報管理テーブル1500から削除する。こうすることで3D PDFデータの生成依頼が取り消される。
ステップS2305までの処理が完了したら、医用画像処理サーバ102からクライアント端末101に対して医用画像一覧画面700の更新要求を送信する。クライアント端末101は、この更新要求を受信すると、図5に示す一連の処理を実行する。こうすることで医用画像一覧画面700が最新の状態に更新される。
以上説明したように、複数の医用画像から生成される、人体の部位を示す三次元データを含む文書データを生成することが可能となる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行可能にすることによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。