Protected Mode への入り方【HorliX/Horos/OsiriX?】

HorliX のユーザーさんで Protected Mode に入れないという方がいたので、動画で解説してみました。

Horos も同じ手順で入れると思います。

現行 OsiriX は、持ってないのでわかりませんが、以前のバージョンなら、これで入れると思います。

ビューアがダイコムファイルを読み込む時、タグ情報などをデータベースに保存、画像は適当なフォルダに入れておくと思います。
が、おかしなダイコム(異常ダイコム)の場合、タグ情報や画像をうまく展開できず、ファイル(スタディ)としては登録されているのに、画像表示できない時があります(ひどい時は、以降、起動不能)。
そこで、画像を表示させない状態でアプリ自体を立ち上げるモードが Protected Mode というものです。
このモードで立ち上げて、異常ダイコムを取り除く、という操作をすると、次回以降は、データベースは元の状態に戻り、起動可能となる場合もあります。

ただし、’INCOMING.noindex’ フォルダの方におかしなファイルが引っかかっている場合は、そもそも Protected Mode 自体に入れないので、これが絶対ということはありません。

 

猪股弘明
HorliX メイン開発者

 

ORCA, OpenDolphin, OsiriX は未だに話題になりますね

ORCA メーリングリストの話

ORCA ユーザーのメーリングリストで、大阪の八木高秀先生の

ORCAと連動した電子カルテをご使用中の方がおられましたら、
ご使用感を教えていただけないでしょうか。

という投稿をきっかけに医療用ソフトの議論が突如として活発化。
多少「あれ?」と思うようなところもありますが、現場で使っている先生方はこの手の問題に熱心ですね。熱意が伝わってきます。

OpenDolphin の話題も出ていたので、私もイントロ的な概要と現在注意しておいた方がいい点などをコメントしてきました。

カルテ記載内容のデータベースの永続化方法に関しては、ほぼほぼ解析できてまして、クライアントからではなく、別のツールを使って抽出もすることもできました。
『Save the DolphinS -OpenDolphin データ抽出ツール・プロジェクト-』
https://allnightnihon2b.net/blog-jp/?p=816
で案内しています。

データベースに直接アクセスして復号しているため、最終確定版だけでなく途中経過版も抜いてこれます。カルテに貼り付けた図版も別に画像ファイルとして抽出できます。

なんで、こんなものを作成したかといえば、opendolphin から他電子カルテへの乗り換えを考えた場合、途中経過版も含めて電子化して取り出さないと実質的にはデータ移行しにくいと考えたからです。

「データ移行」に関しては関心が高かったようですね。

また、ORCA に関しても気になっている点を挙げさせてもらいました。

ただ、現行の OpenDolphin を大幅に機能強化させるようなことは考えてません。以前は、手が空いたら着手しようかと考えていたのですが、某筋から「ORCA の技術的側面に関して調べてみては?」と提案されて、調べたところ、設計の古さが目についたからです。
この件に関しては以前このMLにも投稿しましたね。
例えば
『ptid のデータベース上での定義について』
https://ml.orca.med.or.jp/orca-users/msg14679.html
などの一連のやり取りをご覧ください。

今すぐということはないでしょうが、ORCA は将来的には再設計される可能性もあるわけで、その状況では、ORCA「だけ」に依存する上物には手を出しにくいかなあと思っています。

などなど。


ただ、取り扱いが微妙な問題も孕んでいるので、あくまであっさりとした解説です。
「取り扱いが微妙な問題」というのは(ここで細かい話をしてもしょうがないと思うので)

横から見た OpenDolphin-2.7m

保健医療科学院 小林慎治が国家公務員法違反疑いで厳重注意を受けた件について

HorliX -wikipedia 風解説- にまつわるあれこれ

あたりをご参照ください。


OpenDolphin マスタマイズの実際

ところで、この手の話をするときに、クライアントに実装した「いわゆる」ファイルバックアップシステムをまず取り上げ、次にデータ抽出ツールの説明をするようにしている。
そちらの方がわかりやすいと思いそうしているのだが、実は、実際の開発順序は違う

時系列的には、まず、データ抽出ツールを作成し、その次に(ツールの副産物として)ファイルバックアップシステムに関するコードをクライアントに付け加えたというのが本当のところです。

これはコード上にも反映されている。
OpenDolphin のカルテインスペクタの文字情報だけを取り出すのなら、gettext という関数を使えばすむのだが、これだとカルテ上の右半分(処方や処置などを記載する欄)もベタな文字情報のままになってしまう。

過去の直近の処方内容をチェックする程度であれば、(処置区分なしの)文字情報だけでもかまわないと思うのだが、もう一歩踏み込んで処置内容毎に区分して処理したいというような場合、これだと後処理が必要になってしまう。

ところがデータベース上では各処置(スタンプ)には、それがどの区分に属するかの情報も含まれている。
これを活用しない手はないと思い、区分を読み取って条件分岐させてから、文字情報を抜く、というロジックにした。

最終的なアウトプットは単純に文字情報だけを抜いたときと変わらないのだが、ちょっと凝った統計処理をしたいというような場合、コードの修正がしやすいと思いそのような実装にした。

ファイルバックアップシステムに関わるコードは100行にも満たないが、コードを書くときはこんな風にあれこれ考えながらやるものなんですよ。

ちょっとマニアックな話ですが、何かの参考になればと思い補足説明してみました。

HorliX に関しても言及

OsiriX や Horos の話題も出ていたので、年末の隙間時間をついて HorliX に関しても投稿してきました。
https://ml.orca.med.or.jp/orca-users/msg14953.html

当たり前のことを言ってもしょうがないので、気持ち開発寄りに振ってます。

例えば、Horos でROIを使うとき、使う毎にその描画色がくるくると変化すると
思いますが、その元になったコードは私が送ってます。
いわゆる ROI-color-rotation-UI というやつです。
このときの改変のやり取りは今でも残ってますね。
https://github.com/horosproject/horos/issues/342

ここら辺までは、Horos と協調していたんですが、当時(2018年)課題に
なっていた 64bit 対応がもたもたしていたことや彼らが若干「やりすぎ」て
しまうところが気になって、結局、独立してしまいました。

「やりすぎ」というのは、具体的には、ROI-color-rotation-UI でいうと
彼らは記録時のファーマットまで改変してしまってます。
ROI を XXXX.roi のようなファイルを書き出したとき、色情報まで入れ込んじゃっているので、互換性が崩れちゃってるんですよ。
上であげた github issues 上での議論を見てもらえればわかると思いますが、
元々は「ROI の描画色が単色だと視認性が良くないので、マルチカラーを扱える
ようにしたい」というかなりシンプルで(おそらく有用な)ユーザーさんからの
指摘から始まってます。
私も色が変わるのは便利だなと思いますが、記録するほどのことでもないと
思い、Horosの改変は取り込みませんでした。
「やりすぎ」と感じるのは、こういった点です。

ここら辺、そんなに説明したことはないので、興味を持ってもらえたらいいなあという気持ちがちょっとはいっています。

 

猪股弘明(ご連絡は twitter の DM や facebook の友達申請などでお願いします)
OpenDolphin-2.7m 開発者

 

 

ORCA のメーリス

そういえば、昔、ORCAのML(メーリングリスト)にいくつか投稿したことがあったわ。

Re: ORCA と OsiriX の接続について

Re: ORCA と OsiriX の接続について その2

Re: ORCA と OsiriX の接続について その3

Re: ORCA と OsiriX の接続について その4

この時点では、その後、DICOM を本格的に触るようになるとは思ってもいなかった。

内容的に情報が古くなっている点もあるが、


一般のDICOMファイルの情報をすべて読み出し・管理するのは難しいが、特定のDICOMだけを操作するのは、それほど面倒ではないはずだ

というのは、今読み返しても「なるほどな」とは思う。

 

 

猪股弘明(精神科, HorliX 開発者)

 

HorliX のリアルな使われ方ってこんな感じでしょう

「知り合いの知り合い」みたいな先生なのですが、現役精神科医の高木希奈先生にブログで画像ビューア HorliX を取り上げてもらいました。

COVID-19 による肺炎CT画像!<HorliX にて表示>
(高木希奈オフィシャルブログ)

精神科的には

「精神科って、画像検査必要なの??」

という疑問を抱かれる方も多いかもしれません。

精神科と言えども、もちろん画像は取り扱います。

まず、精神疾患の診断をつけるためには、器質性疾患(身体的な疾患)の除外が必要なので、受診されたらまずは、血液検査、心電図、頭部CTやMRI,心電図、脳波などの身体的な検査を行います。

さらに

認知症疑いの患者さんの脳CTやMRI画像のチェックは必須ですし、大学では 統合失調症の患者さんの画像解析などは、一つの研究テーマにもなっています。

というのは常識なんですが、世間一般にはあまり伝わってないかなと思います。

それはともかくご紹介ありがとうございまーす。

 

猪股弘明(精神科医:精神保健指定医)

 

医療画像の fusion とは?

今回は医療画像の fusion (一種の画像合成)のお話。
諸々の事情で MR(Magnetic Resonance 磁気共鳴)系の fusion を取り扱っていた。

なお、MRI って何?って方は、『MRI とは? -その1-』・『MRI とは? -その2-』・『MRI とは? -その3-』あたりをご覧ください。特に『その2』のスピンの説明はけっこう好評のようです。

 

しかし、MRI のプロトン密度強調画像程度でことが済んでいればいいんですが、この分野の技術進歩は速い。「拡散」強調(という撮像法。水分子の「拡散」というより「移動」といった方が正確なような気もしますが、ここでは慣例に従います)などは、以前より脳梗塞急性期の診断などに使われている。

大脳右半球に広範な梗塞像(白いところ)が見られる

上の画像は、脳梗塞の拡散強調像(DWI… Diffusion Weighted Image)です。拡散「強調」とは言うものの、実際に撮像するときは、移動しているプロトンからの信号を抑えるような工夫をするので、水分子が動きにくくなっている部位は、高信号になります。梗塞部位に含まれる水分子は、正常組織に比べ「動きにくく」なっているため、結果として梗塞部位は高輝度(白い)領域となって描出されます。

拡散強調画像は、基本 T2 強調画像をベースにしているので、本当に知りたい水分子の挙動(大抵の病変部で水分子は「見かけ」上、拡散しにくくなる。梗塞しかり、癌しかり)を取り出したい。このとき元の拡散強調画像より T2 などの影響を排除するため ADC(Appearant Diffusion Coefficient 「見かけ」の拡散定数) Map というのをつくる。
症例によっては DWI では異常を認めず、ADC Map で低信号(ときには高信号)となって描出されることがあるからだ。
水分子の拡散の度合いを知る上ではこの ADC Map は大変便利なのだが、その反面、組織のコントラストが普段見慣れているそれと違って形態などが読み取りにくい。ストレートに言えば「どこを見ているかわかりにくい」のだ。

この欠点を補うため、解剖学的な形態が読み取りやすい T1 強調画像に ADC Map を適宜「着色」した画像を重ね合わせると、医療者にとって「どこで何がおこっているか」直感的に理解しやすい画像が得られる。

一般に特定の情報を持った画像とそれとは別の情報を反映した画像を「位置を合わせて」合成して表示させることを fusion と言います。PET と CT の fusion はよく知られた例です。(参考:『PET/CT フージョン画像』)

右側頭葉(画像では左)に何かありますね

今回は、T1 強調に ADC Color Map ともいうべき画像を fusion させたわけです。もちろん、HorliX 使いまくり。規格(DICOM)があることゆえ私一人では決められない問題もあったりするのですが、目処がたったらプラグインの形でまとめたいと思っています。

 

猪股弘明(精神科医、理学士)