プログラム実験工房 -2ページ目

プログラム実験工房

医療画像のDICOM解析と表示プログラムの作成
誰もあるかない道をのんびりと歩いてみる。
可能性は無限にある。

予告

1 CT画像を3Dプリンタで印刷するまでの手順。

2 lightroomで針を消す(CR版)

乞うご期待。


HDRというものをご存知だろうか?

HDR Wikipedia

説明はさておきこれをレントゲン写真に応用できないか?

実験

画像1 胸部

処理前


処理後



画像2 腰椎

処理前


処理後


どうだろうか?

このほかにもphotomatrixには色々画像を変更できる。

今まではマルチ周波数処理とかが主流だったが
これからはHDR処理。
HDRとは 暗い 普通 明るいの3つの画像をうまく組みわわせて行う方法。
幅広いダイナミックレンジを表現するための写真技法の一種。

まさにCR画像の適する手法。





応用情報技術者を受験してきました。

受験者数が毎年1割ずつ減少してホンの数年前は10万人でしたが、
今は6万人前後。

欠席率50%程度。

受験者層は20ー30代が中心。

当然自分は長老(・_;)

午前は7割以上できたが、
午後は前日に過去問を見た程度なので良くて30点程度。

春に向けて仕切りなおし。


追記:201412/19
やっぱり不合格。
午前73点
午後43点。

仕切り直し
DICOMデータを3Dプリンタで印刷する方法

データの形式の変換が難しいのでまとめておく。

DICOMのボクセルデータ

STLに変換

以下WIKIより

Standard Triangulated Language
スタンダード・トライアンギュレイテッド・ランゲージ、略称:STL)は三次元形状を表現するデータを保存するファイルフォーマットのひとつとされる。ただし、この名称はほぼ日本国内でしか通用せず、
プレーンテキストで 記述されたASCII STL形式と、バイナリSTL形式がある。 どちらのファイル形式でも、三角形の法線ベクトル(長さ1の単位ベクトル)と、面の表裏を示すために右ねじの法則に従って並んだ三角形の座標データを三角 形の数だけ含む。このような冗長性のため面の表裏は、法線ベクトルと座標(右ねじの法則)の二通りで知ることができる。

3Dプリンター用のSTLデータをダウンロードできるサイトを探そう!

-------------------------------------------------
CT, MRからの3Dジオメトリデータの作成は結構面倒。
方法は、Marching Cubes法で一定Voxel値以上のものから表面を抽出して
ジオメトリデータ(三角パッチ)を作成。
Marching Cubes法はC++などのソースが公開されています。

データをモデリングソフト(Blender等)で読み込んで、修正し
STLで書き出します。

金子 邦彦先生  (九州大学 大学院システム情報科学研究院 ) Web ページ

次元ボクセルデータをサーフェイスデータに変換


netfabbでエラーチェック。

スライスデータセットからSTLを作成できる市販ソフトとしては、
・3D-Doctor
・MIMICS
Volume Extractor日本製



3Dプリンタで印刷するには、
厚みがないものはだめ。
穴の開いているものはだめ。
面が裏返っているものはだめ。



blenderで何とかなりそう。

Volume Extractor

医療画像などのファイル読込、3D表示、解析、STLデータ作成まで可能な多機能"3次元可視化ソフト"


3DPDFはSTLに変換が必要とか
動くかな?????

CTの研究会で3D PDFでCTのデータを表示していたのでぐぐるで検索。

日本にないのか出てこない。

http://www.oucom.ohiou.edu/dbms-witmer/3D_human.htm

ここが本家?

とりあえずPDFファイルをダウンロードしてファイルをダブルクリック

簡単に表示。

アクティブ化しますか?とでるのでOK

簡単に表示。


head

head3

head2


こんなかんじ

今気づいたのだが、photoshopでも同様のことができる。


streamtransport 1161日本語リネーム 2

起動画面をgoogleに

バイナリーエディタでstmov探して

http://www.google.com

に変更する。

アドは以前のブログを参照のこと。

syna** PD-S viewer

DICOMDIR
CS ISO_IR13 PN  カタカナ

問題はここから。

なんとDICOMDIRにDCMTK354 DEMO の表記あり。

DCMTKはフリーソフトのはずだが、
そのうえ、DCMTKのライブラリ本体がなくプログラムにビルド時に組み込んだ可能性が高い。

これだと発覚しにくい。
もし使っているのだとしたら
READMEに記載がないのはなぜだ?

仮説2

多分誰も書いてないので、あくまで仮説。

いままでMYSQL POSTGRES SQLITE 使ってきたが、日本語が文字化けする。

検索してみると、
MYSQLの場合、
1 MY.INIをCP932にする。
この方法だと、一度格納されたデータはどうやっても日本語表示しない。

2 SQL文で日本語に変換する。
この方法だとSQLの内容を日本語に表示できた。
外部プログラムから読むとまた文字化けする。

3 外部プログラムからMYSQLのデータを読み込むとき。
リソースエディタを使う。
exescope resource hacker 最新バージョンのの読み込みに対応していない。delphi6まで
XNRESOURCEEDITOR 一番いいが難点は検索できない。
仕方ないのでデータをeditorへ貼り付けて検索する。


さてここからが本題。スキルが必要なのでない人は読まないこと。

RC DATAを変更する。とりあえず該当する部分がわからないので全部変更する(・_;)
プロパティの言語はニュートラルから日本語へ
関連するのは
 Font.Charset = DEFAULT_CHARSET    プロパティを日本語にするとここは日本語となる。
Font.Name = ’Sans serif' 'Tahoma’ を 'MS UI Gothic'へ変更する。
日本語のキャラクターがFONTがないので表示できない。

それで文字が小さくなるので
Font.Style = [fsbold]
Font.Height = -12 くらいに変更する。

これでOKのはず

ここで大変なことに気づいた。
いままでMYSQLのソースを再コンパイル直していた先人がいたが、
もしかして
もしかして

MYSQL本体にこれを適応すれば全て解決する。

問題はCで書いてある可能性があり、リソースエディタで読めるか?
ほかにCのリソースを読む方法があるか?


誰か試してみて返事をください。ガチャピン