お客様

お客様は、販売・サービスのR&Dと製造をはじめ、医療機器、医療情報システム事業全面に関する総合医療機器メーカーです。日本に本社を置き、アメリカ(米国)、欧州(スイス)、アジア(中国、シンガポール)に支社をもつ1949年設立の企業です。

要求仕様

近頃、動脈狭窄、心筋梗塞や動脈解離などの血管の合併症診断において、色素(コントラスト)剤を使用した、CTの値に基づくコンピュータ断層血管造影(CT血管造影)技術のニーズがますます高まっています。血管データ(造影剤使用済み)は骨データと同じレベルのCT値を有し、その為、血液診断用の貴重な情報を得ることができます。しかし、骨と血液が互いに存在する領域でしか骨が見えない為、いくつかのケースでは識別・診断の困難を引き起こします。本アプリケーションは、頭頸部、胸部、腹部や四肢の軸方向の画像としてスキャンされたCT画像のデータから骨と対比した血管を自動的に識別することを目的とした為、技術者や医師は容易に血管の画像を観察することができます。

主な特徴

・骨除去処理自動化:骨のデータを除去し、骨または血管のデータのみを抽出

・骨除去処理の結果修正:骨と血管データを追加、削除または交換

課題

弊社は本プロジェクトの課題を以下のように考えました。

・骨と血管データを識別するためのアルゴリズムは、一つのスライスの領域だけでなく、複数のスライスにわたり非常に複雑です。

・メモリリソース:同時処理データ量が非常に大きく、多くのメモリリソースが必要ですが(1000スライスに対し約1.2GBのRAMが必要)、お客様のご要求は、プログラムが2GBのRAMのシステムで1500スライスを実行できるようにすることです。

・パフォーマンス:骨除去自動化処理は、1000スライスに対して20秒、1500スライスに対して30秒で実行するという要求です。

ソリューション

弊社はオンサイト- オフショアのモデルを使用し、オンサイトチームは要件研究と、オフショアチームの実装のサポートを担当しました。本アプリケーションは、医療アプリケーションの品質を保証するために、FPTソフトウェアのプロセスとお客様のプロセスにより構築されました。データ処理用の最良のアルゴリズム(領域成長アルゴリズムに基づく)を考案するためにいくつかのアルゴリズムを試してみました。期待された性能を得るために、コードの改良、見直しと最適化を行いました。また、メモリリークも弊社の解決すべき問題でした。パフォーマンスの要求とメモリリークの問題を解決するには、リンクされたリストを利用して、割り当てられたメモリをブロックするようにしました。

メリット

弊社はパフォーマンスとメモリリソースに関する要求対応、業務の複雑さ、スケジュールの厳しさなどの問題に直面しましたが、価値のあるメリットを提供できるよう作業をきちんと管理し、以下のような結果が得られました。

・弊社の複雑な技術への対応能力はお客様に信頼していただけました。

・FPTソフトウェアチームは妥当なコストで高品質の製品を構築・提供できました。オフショアモデルにより、お客様の総保有コスト(TCO)が確実に削減できました。

プロジェクトサマリー:

範囲:アーキテクチャ設計、詳細設計、コーディング、テスト実施、CTC用のエビデンス取得、単体テストの重要なケースのエビデンス取得、承認テストへのサポート

範囲外:骨除去(パート識別と骨除去に使用されている主なアルゴリズム) に関係しないA3Dシステムのエラー

目標:本アプリケーションは医療分野で利用されるため、弊社の目標は、最高品質のアプリケーションを提供し、生産性を高める(292から360へ向上)ことでした。

・リーケージ:0.18 WDeft/UCP + 修正コスト:6.0% + 生産性:360 LOC/MM(開発のみ)

使用した技術:

Delphi 6.0、SVN、CTと画像データ処理に関する知識