保護中: PHORLIX データベース周り
保護中: PHORLIX -UI の基本-
OHIF Viewer と Oviyam
Oviyam
HorliX 関係で dcm4chee-arc-light を触ったので(『HorliX と dcm4chee-arc-light を繋ぐ』参照)、ついでで dcm4che グループ?のブラウザ型 viewer Oiyam もインストール。
dcm4chee-arc-light とは別系統になり、独立して動作するということだったんですが、あれ?
ノーマルに tomcat にインストールしても、実運用するのに必要な設定画面とかは出てきませんね。
ソースコードも GitHub にはなくて、地味なサイトで SVN で管理されていたし、これは一体???
このままだと使い道ないかなあ。
OHIF Viewer
これではちょっと収まりつかないんで、最近、けっこう評判のいい OHIF Viewer も試してみる。
こちらは公式サイトのドキュメントもしっかりしているし、そこで示された手順通り作業を進めれば、しっかり「動く」ビューアーが立ち上がる。

今回は試さなかったが同包されている default.js あたりを修正すると、適当な PACS サーバーと通信できるらしい。
いわゆるサーバーサイド JavaScript の一つである node.js で構築されており、イマドキのウェブアプリって感じですね。
使用言語の統一性
じゃあ、今後は OHIF Viewer を何らかの形で使っていくのかといわれるとちょっと微妙ですね。
というのは、フリーで使える PACS やデスクトップ DICOM Viewer のほとんどが C++ か Java で書かれており、それらとの連動を考えた場合、node.js あたりで作成されたソフトとは相性が悪いんですよ。
改変前提で考えるとむしろ Oviyam の方が重要だったりします。
ここら辺は説明すると長くなりそうなので、またの機会に。
OsiriX/Horos/HorliX のデータ構造
ところで、今まで OsiriX のデータベース周りのソースコードをきちんと読んだことなかったですが、ちょっと時間があったんで覗いてみました。

内部的にはまだ 32bit のままですね。
これは要修正。
と思ってたのですが、データベースの内部を覗くと、現在では、このカラムは使われていません。

実際にレコードの id として使われているのは、coreData が自動生成する id (Z_PK)の方です。
おそらく、coreData を使わずにデータベースを管理していた頃の痕跡でしょう。
DolphORCA DICOM Server の準備
結局、ダイコム関係も AudioVisual Server から分離。
ところで、ダイコムファイルをアップロードする時、JavaScript 上でどのように指定していいかわからなかった。
jpeg や png あたりは image/* と指定しておけば、ダイアログで制限をかけてくれるのだが、ならダイコムは? と思って、試しに application/dicom にしたら、制限かけてくれた。
なお、どんなファイルでも受け付ける場合は、’*/*’ ではなくて、「指定しない」のが正解らしい。
フロントにファイル送信機能を付け加えたら、お次はサーバの手直し。
一応、サーバにダイコムファイルを受け付ける API を設置した。
ダイコムファイルは大抵の場合、ファイルの先頭にタグ情報を埋め込んでいる。この情報をパースして、適当に保管しておくのが PACS サーバの役割なんだが、このときどういうデータ構造を採用するかは、本当に難しい問題。
この問題は、今の流れでやるのは得策ではないので(ちゃんと考えるのは次世代 HorliX に着手するときだと思っている)、とりあえず受け取ったファイルのタグ情報を解析するところまでやってみた。

なんとかできてますね。
それにしてもようやくダイコム関係と連絡がついた感じ。
