投稿者「kchinzei」のアーカイブ

TEPIA先端技術館(東京・神宮外苑)での常設デモ始まりました

(以下のデモ、終了いたしました)

東京・神宮外苑の「TEPIA先端技術館」(一般財団法人高度技術社会推進協会)にて、2017年3月までの1年間,SCCアプリを実際に体験できるデモが始まりました.

デモは,SCCToolKitによる「内視鏡映像プロセッサ」です.本物の手術用内視鏡を実際に操作することができます.「時間・空間の制約を超える」コーナーにあります.ぜひご覧下さい.

  • 場所:東京都港区北青山2-8-44
  • アクセス:銀座線外苑前駅から徒歩4分 こちら
  • 入場無料
  • 開館時間10:00~18:00
  • 月曜日休館(祝日の場合は翌平日休館)

産総研の改組について

平成27年4月1日付で、産業技術総合研究所は「国立研究開発法人 産業技術総合研究所」に改組されました。あわせて、研究組織の改組が行われました。

これに伴い、本ウェブページでも記載を更新しております。しかし、過去の行事案内等、一部の記載につきましては記録として当時の組織、所属名のままとしてしております。

チュートリアル:SCCToolKitのビルド

ステップ0: 必要なファイルを集める

現在,SCCToolKitはMac OS X 10.7 – 10.10で動作を確認しています.これは,そのバージョン以降で使えるCoreImage,libdispatchライブラリとApple独自のC/C++言語仕様を用いているためです. SCCToolKitのソースファイルの他,次のファイルが必要です.

基本的にこれらを何処にインストールしても大丈夫です.お奨めはこの方法ですが,墨守する必要はありません.

ステップ1: SCCToolKitのダウンロード

SCCToolKitはGitHubからダウンロードできます.右下の方にある”Download ZIP”ボタンが便利です. これをクリックしてzipファイルをダウンロードして,ハードディスク内のお好きなところに展開して下さい.デフォルトでSCCToolKitなどとなっている親フォルダ名を変えても構いません.しかし,その中のファイル名とフォルダ名は変えないでください.またファイルやフォルダの階層構造を変えないでください.

ステップ 2: SCCToolKitのビルド

コマンドライン版のccmakeを使うやり方を紹介します.GUI版のCmakeを使うこともできます.ccmakeの使い方はここでは説明しません.

  1. コマンドcdで前のステップで展開したSCCToolKitのディレクトリへ移動
  2. コマンドmkdir build ; cd build
  3. コマンドccmake .. デバッグにXcodeを使いたい場合は,ccmake -GXcode ..
  4. ‘c’キーを一度押す.ccmakeがOpenCV, Qt, DeckLink SDKの場所を探します.見つからない場合はエラーが出ますので,教えて上げて下さい.
  5. ccmakeで’g’キーを押せるようになるまで,’c’キーを何度か押す必要があります.’g’を押すとccmakeが終了します.
  6. コマンドmakeを実行.ライブラリとサンプルプログラムがビルドされます.
  7. 首尾良くビルドできた場合,makeコマンドが 100% doneと表示して終わります.
  8. サンプルを動作させてみて下さい.

ステップ 3: SCCToolKit内のAppsをビルドしてみる

Appsフォルダ内のプログラムは,ライブラリとは別にビルドする必要があります.前のステップとほぼ同じです.

  1. コマンド cd Apps/lkdemo
  2. コマンド mkdir build ; cd build
  3. コマンド ccmake ..
  4. cを一回押す.ccmakeは,SCCToolKitConfig.cmakeファイルの場所を尋ねてきます.今の例では../../buildにあるので,教えてあげます.
  5. SCCToolKitConfig.cmakeを見つけた後,’c’キーを何度か押すと’g’キーを押せるようになります.押すと設定を完了します.
  6. コマンド make 首尾良くビルドできれば,Appがbuild/bin/に出来上がっています
  7. 動作させてみて下さい

Qt 5.x Support

SCCToolKitはQtバージョン5.xを使ってビルドできるようになりました.

変更点

  1. Qt 4かQt 5のいずれかをビルド時に選ぶことができます.1つのPCに異なるバージョンのQtを混在させることができます.
  2. ただし,OpenCVを”with Qt”を選択してビルドした場合は,SCCToolKitも同じバージョンのQtを使ってビルドする必要があります.SCCToolKitは自動的にどのQtがOpenCVのビルドに使われたかを読み込むことができます.
  3. その他のバグフィックス.

重要

Qt 5としては,Qt 5.6を当面使用することをお奨めします.理由は,

  1. Qt 5.6はlong term supportとして長期間(最低3年)サポートされることが表明されています
  2. Qt 5.6のコア部分はLGPLv2が選択可能です(5.7からはLGLPv3,モジュールによってはLGPLがありません)
  3. Qt 5.5はウィジェットのレイアウトが崩れる問題を確認していましたが,Qt 5.6では解消されています.

なお,Qt 4のlong term support版はQt 4.8です.特段の理由が無い限り,Qt 5の使用をお奨めします.今後,徐々にQt 4のための機能強化を減らします.

新しいマクロ

Cmake/SCCToolKitUtils.cmake と Cmake/QtMacrosExtra.cmake をご覧下さい.

cmake 3.0 への互換性

cmakeのメジャーバージョンアップ 3.0が6月11日に公開されました.互換性については至急調査します.当面は2.8.12を使うことをお奨めします.

<2014/6/26 更新> 試した範囲では,cmake 3.0は問題なく動作します.

複数バージョンのQtをインストールしている場合

(2014年7月15日現在,Qt 5.xへの対応と複数バージョンのQtをインストールしている場合への対応を完了しました.この投稿に記載の内容は無視して下さい)

Qt関連のコンパイルエラーが出ることがあります.その場合,以下のように使いたいバージョンのQtのcmakeを指定してください.

ccmake -DQT_QMAKE_EXECUTABLE=(path to qmake of desired version) (path to SCCToolKit)

GUI版のcmakeを使う場合は,’Add Entry’ボタンを使ってQT_QMAKE_EXECUTABLE変数を設定してください.この作業を’Configure’を始める前にやることが重要です.

QT_QMAKE_EXECUTABLE

Support update (Apr 2014)

(As of July 15 2014, we completed Qt 5.x support and issues stated in this post)

Tools and libraries that we verified as of today.

  • Qt 5.x : cannot compile. Please use Qt 4.8.x
  • OS X 10.9 (Mavericks) : worked.
  • cmake 2.8.12 : fixed.
  • OpenCV 2.4.8 : worked.
  • Decklink SDK 10.0 : worked.

1) To date, SCCToolKit accepts Qt4 only. If you installed multiple Qt versions, see here. 2) Execute make. If you encounter warning message like

/Library/Frameworks/QtCore.framework/Headers/qglobal.h:331:6: warning: "This version of Mac OS X is unsupported"

This is because Qt 4.8.5 or older was not assumed to run on OS X 10.9 Maverics. If you want to dismiss it, Please use Qt 4.8.6. Or, please directly edit global.h around line 331 as this way.

# if !defined(MAC_OS_X_VERSION_10_9)
# define MAC_OS_X_VERSION_10_9 MAC_OS_X_VERSION_10_8 + 1
# endif
# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_9)

3) You may encounter many warning messages like

warning: 'device' is deprecated [-Wdeprecated-declarations] ...
- (QTCaptureDevice *)device AVAILABLE_QTKIT_VERSION_7_2_AND_LATER_BUT_DE...

This appears because Apple deprecated QtKit to replace with AvKit. We are aware of this issue and plan to port to AvKit.(As of July 15 2014, we completed Qt 5.x support and issues stated in this post)

Tools and libraries that we verified as of today.

  • Qt 5.x : cannot compile. Please use Qt 4.8.x
  • OS X 10.9 (Mavericks) : worked.
  • cmake 2.8.12 : fixed.
  • OpenCV 2.4.8 : worked.
  • Decklink SDK 10.0 : worked.

1) To date, SCCToolKit accepts Qt4 only. If you installed multiple Qt versions, see here. 2) Execute make. If you encounter warning message like

/Library/Frameworks/QtCore.framework/Headers/qglobal.h:331:6: warning: "This version of Mac OS X is unsupported"

This is because Qt 4.8.5 or older was not assumed to run on OS X 10.9 Maverics. If you want to dismiss it, Please use Qt 4.8.6. Or, please directly edit global.h around line 331 as this way.

# if !defined(MAC_OS_X_VERSION_10_9)
# define MAC_OS_X_VERSION_10_9 MAC_OS_X_VERSION_10_8 + 1
# endif
# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_9)

3) You may encounter many warning messages like

warning: 'device' is deprecated [-Wdeprecated-declarations] ...
- (QTCaptureDevice *)device AVAILABLE_QTKIT_VERSION_7_2_AND_LATER_BUT_DE...

This appears because Apple deprecated QtKit to replace with AvKit. We are aware of this issue and plan to port to AvKit.

Support update (Feb 2014)

As of Feb 06, we examined the following latest software used to build and run SCCToolKit.

  • Qt 5.x : cannot compiled.
  • OS X 10.9 (Mavericks) : worked.
  • cmake 2.8.12 : fixed.
  • OpenCV 2.4.8 : worked.
  • Decklink SDK 9.7.7 : worked.

メディア掲載

9月19日のプレスリリース以来,以下のメディアで取り上げていただきました.

〇日本経済新聞 (2013.9.20)
医療機器用ソフト開発キット 産総研が無償公開
http://www.nikkei.com/article/DGXNASFB19038_Z10C13A9L60000/

〇日経バイオテクONLINE (2013.9.20)
産総研、医療機器用のソフトウエア開発キットSCCToolKitを無償公開
https://bio.nikkeibp.co.jp/article/pressrelease/20130920/170986/

〇マイナビニュース (2013.9.24)
産総研、内視鏡画像処理などを行う医療機器用ソフトウェアのSDKを無償公開
http://news.mynavi.jp/news/2013/09/24/061/

〇J-Net21 (2013.9.25)
医療機器用のソフトウエア開発キットSCCToolKitを無償公開
http://j-net21.smrj.go.jp/headline/report/168840.shtml (リンク切れ)

〇インターネットコム (2013.9.25)
産総研、「ソフトウェア医療機器」に向けて医療機器ソフト開発キットを無償公開
http://japan.internet.com/webtech/20130925/5.html(リンク切れ)

また紙面では,日刊工業新聞 9月23日付記事も(掲載はご容赦).

この他にもございましたら,ご一報ください.

Tutorial: Directory structure

You need other SDKs to build SCCToolKit. You need to tell cmake where you put these. So it would make your life easier if you put these in convenient places. Here is my preferences.

/src
  |-Blackmagic_SDK -> bmdsdks/Blackmagic DeckLink SDK 9.7
  |-OpenCV -> opencvs/opencv-2.4.5
  |-Qt
      |-build -> qt-everywhere-opensource-src-4.8.4/build
      |-qt-everywhere-opensource-src-4.8.4
  |-bmdsdks
      |-Blackmagic DeckLink SDK 9.7
  |-opencvs
      |-opencv-2.4.5
          |- ...
          |-build
          |- ...

The points are

  • Put everything at /src, which is very short in the full path.
  • Put versions of SDKs in /src/opencvs, /src/bmdsdks, /src/Qt
  • Put ‘build’ to be accessible by /src/OpenCV/build, /src/Qt/build
  • To tell cake where’s qmake, you set /src/Qt/build/bin/qmake
  • Make symbolic links to the designated version (shown as ‘->‘ in above tree).

It is just an example. You don’t need to do this way — find your preference and happy hacking!You need other SDKs to build SCCToolKit. You need to tell cmake where you put these. So it would make your life easier if you put these in convenient places. Here is my preferences.

/src
  |-Blackmagic_SDK -> bmdsdks/Blackmagic DeckLink SDK 9.7
  |-OpenCV -> opencvs/opencv-2.4.5
  |-Qt
      |-build -> qt-everywhere-opensource-src-4.8.4/build
      |-qt-everywhere-opensource-src-4.8.4
  |-bmdsdks
      |-Blackmagic DeckLink SDK 9.7
  |-opencvs
      |-opencv-2.4.5
          |- ...
          |-build
          |- ...

The points are

  • Put everything at /src, which is very short in the full path.
  • Put versions of SDKs in /src/opencvs, /src/bmdsdks, /src/Qt
  • Put ‘build’ to be accessible by /src/OpenCV/build, /src/Qt/build
  • To tell cake where’s qmake, you set /src/Qt/build/bin/qmake
  • Make symbolic links to the designated version (shown as ‘->‘ in above tree).

It is just an example. You don’t need to do this way — find your preference and happy hacking!