2012年12月27日木曜日

powershellリモート接続時のネットワークドライブ

powershellはsshのようにCUIでのリモート操作が可能ですが,接続先マシンのネットワークパスが利用できない問題があります.これは接続先で設定しているネットワークドライブだけでなくUNCパスによるアクセスも出来ません.そこで”net use"コマンドを利用します.

net use \\コンピュータ名\共有したいパス パスワード /user:ユーザー名

たとえば,コンピュータ名がPC-A,共有したいパスがpublic-dir,ユーザー名がman,パスワードがabcdの場合は,

net use \\PC-A\public-dir abcd /user:man

というようにすればネットワークパスにアクセス出来るようになります.

2012年12月19日水曜日

ITK 4.3 (InsightToolkit)

ITKの4.3がリリースされていました.まだソースコードは確認していないのですが,主な新規点・改善点は

  • DCMTKによるのDICOM画像読み書きに対応
これまでは,GDCMのみの対応だったがDCMTKに対応
  • WrapITKの大幅な修正
と書いてありますが,依然Visual Studio 2010環境ではpythonのwrapは動作しないようです.
  • レジストレーションクラスの追加
1つの最適化処理内で複数のMetricの使用に対応したようです.これは元々対応していなかったのだろうか.該当することをやったことがあるような気がします.
  • サードパーティーライブラリの更新
NrrdIO(1.11),libtiff(4.03),FFTW(3.3.2)が更新
そういえばITKに入っているvxlはVisual Studio 2012でビルド出来るように修正されているが,本家vxlは修正されていない問題はどうなっているのだろう.
  • バグの修正
    • ObjectFactoryBase
    • パッチベースのノイズ除去の改善
    • systemのlibtiff,メッシュ処理,FFTWの使用
  • VectorImageのサポート
ベクター画像用に追加されたアルゴリズムをサポート.全然使っていなかったので知らなかったのですが,ベクター画像の扱いは今まで酷かったようですね
  • コードの整理
雑なコードの削除とコーディングスタイルの統一.これだけ大規模なライブラリで,オープンソースだとコーディング規約の統一も大変でしょうね.
  • メモリ周りの修正
    • ループ内でGetInput/GetOutputを呼んでいるところを削除.この問題はITKに限らず結構既知な問題である気がするが,今頃対応したということなのだろうか.
    • メモリの確保やアクセスパターンの改善
    • スレッド処理における並列化の改善.ITKはマルチスレッド化を進めているがVTKは未だにマルチスレッド化を進めてこないのは何故なのでしょうね.単にVTKはメッシュ計算が主なのでITKでの画像処理に比べると絶対的な計算量が少なくマルチスレッドでなくても十分という事なのかもしれません.
  • Visual Studio 2005のサポート打ち切り
こういうサポート打ち切りはメジャーバージョンアップの時にするのかと思っていたのですが,マイナーバージョンアップのタイミングで適用されることもあるのですね.

以下のページを参考
https://gist.github.com/4325809

2012年12月2日日曜日

Boostのビルド Visual Studio 2012 (2005 2008 2010)

Boost(1.52.0)をVisual Studio 2012でビルドする方法
Boostは1.42.0以降からCmakeには非対応になったためb2でビルドする必要があります.

  1. Visual Studioコマンドプロンプトを開くか,普通のコマンドプロンプトを開いて64ビット版をビルドしたければ,"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat"を実行する.32ビット版をビルドしたければC:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"を実行する.これはVisual Studio用の環境変数を設定するバッチファイルです.(b2.exeのビルド自体は32ビットなので64ビット版の環境設定を設定する必要ないようです.Windows8+MSVC11環境では64ビット版を設定するとb2.exeの生成に失敗しました)
  2. Boostのディレクトリに移動する.
  3. bootstrap.batを実行するとb2.exeという実行ファイルが生成されているはず
  4. 64ビット版の場合:b2.exe --toolset=msvc-11.0 --build-type=complete architecture=x86 address-model=64 -j 8 stage.32ビット版の場合:b2.exe --toolset=msvc-11.0 --build-type=complete stage.-jオプションはビルドの並列数のしていなので,マルチコアの場合は指定しておくと高速にビルドできます.最後のstageはビルドされたライブラリが出力されるディレクトリパスです.
  5. 待っていると,そのうちビルドが完了する.何故か私の環境では丸1日かかってしまった.--build-typeはDefault設定のminimalにしておいた方がよかったかもしれない.また,python関係のライブラリのビルドには失敗してしまうが,使わないので気にしない(追記)Boost.Pythonを使わない場合は引数に"--without-python"を追加する