久々に更新。
『Horos なんちゃって日本語化、あるいは HorliX』などは状況に応じて更新してますので、よろしくお願いします。

Just another Phazor blog
HorliX では、Horos のプラグイン(plugin)が走る。
ただし、以前にテストしたのは、Horos の中の人がコンパイルしたものをそのまま組み込んだにすぎない。
リポジトリからローカルにソースを落としてコンパイル。
Xcode の設定が面倒でしたが、しっかりコンパイルはできました。
Horos に手を出した理由の一つは、これまで特殊用途で作ってきた医療画像関連のソフトにある程度汎用性を持たせたかったからで、これで目標に一歩近づいたように思う。
ついでにプラグインの配布元を手持ちのサーバ上に設置。
こうなると案内画面も自前で改変できる。
画面が微妙に変わっているの、わかりますかね?
以前に予告した通り github のフォルダ構成も大幅変更。
ブランチをもう一つ追加し、余計なファイルを取り払って、こちらで独自仕様を追求することにした。従来のブランチは、今まで通りフォーク元の horos とつかず離れずにしておく(予定)。
また、Xcode を 9.4 に変えた。9.2 → 9.3 の変化は大きかったが、今回のは、はっきりいって違いがわからない。
Xcode上から大量の修正箇所をごそっとコミット・プッシュするのは、けっこう気持ちいい。
OS X は、HighSierra の次の OS から32ビットサポートを中止することが決定している。
HorliX/Horos/OsiriX もそれなりに影響を受けると思う。
OsiriX…既に32ビット版の OsiriX Lite は提供されていない。もうお試し版を提供する必要はないってことでしょうか。いいなあ。
Horos…巷で言われているようにHorosは全てが64ビットで走っているわけではない。さすがに次代のOSがリリースされるまでには64ビット対応を推し進めると思うが、あんまりうまくいってない印象。contributor の一人としても心配
HorliX…64ビットには完全対応。ダイコムプリントなどの機能も実装したい。また、フォルダ構成も変更の予定。せっかく用意した独自ライブラリなんかもホロス由来の Unzip をやってしまうせいで何度か上書きされてしまった。ライブラリは完全に本体から独立させ、リポジトリには含めない。こうした構成の方が開発者にとっては都合が良い(はず)。
Horos/OsiriX には色々便利な機能があるけど、もっとも有り難いのはタグ編集機能でしょう。
他のフリーソフトでもタグ編集はできないことはないですが、ほとんどのソフトで動作が不安定です。
なぜ、こんなことがおこるのか不思議に思った人は、ダイコムタグ編集周りのライブラリを調べると良いかもしれないです。
なお、HorliX では、ライブラリの最新版を載っけてます。私がよく使うんで。
今回は、タグ編集機能を使って A T さんを再度 Akihabara Taro さんに直します。
タグ編集機能はデフォルトではオフになっているので、そうなっている場合は、メニューバー >> HorliX >> 環境設定 で設定画面を表示させ 一般 ( general ) を選択。
メタタグ編集をオンにします。
タグ編集自体は簡単。
DBインスペクタより、編集したいスタディを選び、
Meta-Tag アイコンを押下。
タグ編集パネルが現れるので、編集したいタグの行を選択。
この状態で Edit アイコンを押下。するとセルが編集可能になるので適宜書き換え。
編集が終了したら、Apply アイコンを押下。
編集された行は赤く表示されます。これで問題なければこのウィンドウは閉じて構いません。
DBインスペクタに戻ると
無事、A T さんは Akihabara Taro さんに書き換わってますね。
お疲れ様でした。
DICOMファイルの匿名化は、研究目的などで比較的よく使われる機能だ。
その動作確認。
まず、匿名化したいスタディを選択。今回は Akihabara Taro 君。素敵な名前なのに…。
選択された状態で画面左上、ツールバーにある Anonymize アイコンを押下。
するとこんなウィンドウが出現するので、適宜情報を修正。
今回は Akihabara Taro を A T に変更。
Replace ボタンを押下。すると
DB インスペクタ上の表示ではしっかりと変更が反映されてますね。
なかなか調子いいですね。
Horos/OsiriX では各種プラグインをインストールすることで、機能を拡張することができる。
HorliX でもこの仕組みがうまく働くかどうかチェック。
メニューバーから、プラグイン >> プラグインマネージャー と進む。デフォルトでは何もインストールされていない。
ここでは、JPEG 画像をDICOMデータとして取り込む JpegToDicom を選ぶ。
「Download & install」ボタンを押下。
有効にするには HorliX を再起動する必要がある。
再起動後、プラグインメニュ >> Database をチェックするとを JPEG to DICOM が選べるようになっている。
案内に従って適当な Jpeg 画像を読み込ませる。今回は HorliX のアイコン画像。
患者名も HorliX で登録。
すると…。
しっかりDICOM情報として取り込まれてますね。
これで Jpeg ファイルを HorliX/Horos に取り込むことができるようになりました。
ホロス( Horos ) のコードを少々手直しすれば、Xcode 9.3 でもビルドは可能です。
まだ gihthub にあげる段階ではないのですが、少々解説します。
なぜ、ホロスのコードが Xcode 9.3 でビルドできないのかといえば、同包されているライブラリのうちいくつかが 32bit でしかコンパイルされていないためです。
たいていのライブラリはソースを 64bit でコンパイルし直せば、問題ありません(この作業はほぼ終了)。
問題は、ソースがもはや存在しないライブラリです。
ここは私もちょっとひっかかったのですが、そういったライブラリのうち内容が推測できるものに関しては機能を新たに実装し直してビルドを通すことにしました。
こうするとビルドは通るのですが、その代わり元のライブラリはもう使えません。
結局、DICOM Viewer を部分的に作り直しているようなものですね。
このせいでファイル構成などはかなりすっきりしてきたと思うのですが、その代償として機能の一部が犠牲になりました。
代表的なところだとダイコムプリントでしょうか。
関連ソースを読むとネットワーク上のダイコム対応プリンタというものに独自のデータ形式で印刷データを渡しているのですが、前述のように機能が実装してあるソースがありません。がんばれば、実装も可能なんでしょうが、データ形式もよくわからないし、そもそもダイコム対応プリンタなるものが普及しているようには思えない。なので、この機能はオミットしました。
いや、どうしてもダイコムプリンターを使いたいという人がいれば、実装をがんばってみてください。みんな幸せになれますから。
また、64bit 化を推し進めるうちにプロジェクト自体が本家 Horos から、微妙に離れてきたようなので(もう、コードも機能も違ってきている)、以前使っていた HorosJ というネーミングは今後止めます。
いちおう、HorliX (ホーリックス)と名付けましたので、今後はこの名称でお願いいたします。
Horos + OsiriX
なので、Horlix ですね。
こちらの名馬の名にもちらっとひっかけてたりもしますが。
⭐️ 最近(2021 春)ウマ娘というスマホゲームが流行っている状況も考慮して、ちょっと説明しておくと、ホーリックス号はジャパンカップ(JC などと表記される)でオグリキャップの最終直線での猛追を抑えて勝ち馬となったニュージーランドの牝馬。
勝ち時計の 2’22″2 は当時の 2400m の世界レコード(オグリも同タイム)。
アニメのウマ娘ではオグリは大食いでネタにされている感じもあるが、

コミックの『シンデレラグレイ』では堂々の主役。
オグリキャップといえば、4歳時(今でいう3歳時)のダービー裏街道の快進撃、タマモクロス・イナリワン・スーパークリークとの対決、有馬でのラストランあたりのエピソードが有名だが、純粋に強さとタフさを印象づけているのは、マイルチャンピョンシップ→ JC(上の動画) の連闘。
ここでホーリックスの出番がワンチャンある?

HorliX/Horos のサンプル画像として紹介していた akihabara taro 君のページがリンク切れになったようなので、海外サイトなどを物色。
が目についた。
Web DICOM Viewer はなかなか使えそう。アップロードしたときの匿名化は自動でやってくれた方がいいかな。
試しに腹部 CT のデータを落として、HorliX に読み込ませた。
スライス厚が 0.6mm 程度なので動画書き出しすると面白いかなと思ってやってみました。
どんなもんでしょ?
これ読んでるだけでは伝わらないでしょうが、 HorliX はライブラリを適宜 64bit に置き換えているので、書き出し速度は本家 Horos に比べかなり速くなっています。
HighSierra + Xcode 9.3 の組み合わせだと HorliX/Horos のビルドはうまくいかないのだけど、HighSierra + Xcode 9.2 の場合は、ビルドはできるようです。
今まで試してなかったウェブサーバー機能も試す。
クライアントからブラウザ経由で無事アクセスできました。
画像は日本画像医療システム工業会さんからお借りしてきました。
なんかリンク切れになったようなので、海外サイト紹介の予定。
HighSierra 対応、(部分的)日本語化とけっこうイイ線までいってんのかと思います。
なお、Horos のソースを直接改変すれば、High Sierra + Xcode 9.3 でもビルドは可能です。→ Horix Ver 0.0.1
そういうわけでHoros をソースからコンパイルしてみることにした。OsiriX があっちの世界にいってしまったので、仕方ない。(なお、Horos というのは医療画像ビューアです。詳しくはこちらをご参照ください)
といっても当方の Mac 環境は MacBook (12インチ)なのでがんがん使うわけにもいかないだろう。コンパイルしてちょっと使ってみる程度を目標にする。
なお、OS は 10.12 、Xcode は 9.2 。
CMake と pkg-config が必要になってくるので、あらかじめインストールしておく。homebrew がはいっているならば、
brew install pkg-config
brew install cmake
で問題ないと思う。
こっから先は単純作業。
ホロスプロジェクトの github リポジトリからソースコードを取得する。
git clone "https://github.com/horosproject/horos.git" ~/horos3
数分で取得は終了すると思う。
先ほどつくった horos3 内にある horos.xcodeproj をダブルクリック。
自動的に Xcode が立ち上がるはずだ。
メニューバー >> Product >> Schema
で、まずコンパイル対象に Unzip Binaries を選ぶ。これでまず Build 。
これはあっという間に終わる。
次に、お待ちかね、Horos のコンパイル。
先ほどと同様の手順で今度は Horos を選ぶ。
で、 Build 。
この後、Xcode は、黙々とコンパイルしてくれる。ITK (というライブラリ)をコンパイルするのにかなり時間喰っている様子。途中、NSForm は deprecated ですよとかアラートが出るが(たぶん)気にしなくてよい。
MacBook だと 30 分程度でコンパイルは完了する。とりあえず Run させてみましょう。
無事立ち上がる。
試しに適当なダイコムファイルを喰わせてみる。
大丈夫、読み込めました。
以前に作成した3Dモデルは
いけてます。
お疲れさまでした。
なお、現在(2018/05)、github に上がってるバージョンは 3.0.1 です。
Ver 3.0.1 から部分的にですが、Horos が日本語化されました。
上記のコンパイルがうまくいけば、特別な操作なしに日本語化された状態で立ち上がると思います。
てか、私が日本語化したところを本家が取り込んだんですけどね。
時間がなかったのでサブメニューが日英混在という…。
ここはこう訳してほしいというのがあれば、コメント欄にでも書き込んでおいてください。手がすいたときに反映させます。
Horos はソースコードからコンパイルできる。
日本語化もできる。→ もともと日本語化されています。
しかし、Xcode のクセがいまいちつかめていない。
おそらくそのままではエラーが出てビルドできない。
同包されているライブラリのいくつかが32ビットコンパイルだからだ。
まずはXMLパーサーの Apache Xerces (アパッチ・ザーシーズ)から手をつける。
→長くなりそうなので稿を改めます。