2017年11月16日 更新

CTの原理①~ラドン変換~

CTの原理に関して詳しく説明します. 今回はRadon変換についてです.

31,381 view お気に入り 0
CTの詳しい原理について話していこうと思います.
CTというと,既に完成された技術のように思いますが,「投影回数を少なくしたい!」かつ,「様々な方向から投影できない!」という場合にも対応できるように,より精密に断面を再構成する技術が求められています.

目次

・CT とは
・CTの原理
・Radon変換のmatlab のプログラム

1. CT とは

CTとは,Computed Tomography の頭文字をとったもので,コンピュータ断層撮像法と訳されます. CT検査とは,X線をつかって身体の断面を撮影する検査です. X線を照射し,断面を通過したデータを集め,画像処理を行うことで,断面を再構成します.

CTの応用分野は非常に広く,医療系であれば「カテーテルX線血管造影法」,「CTアンジオグラフィ」,「三次元欠陥撮影」(参考文献[1]),工業系であれば「非破壊検査」,「CAE」,「デジタルエンジニアリング」などがあります.

64列マルチディテクターCTを用いた冠動脈CT検査

64列マルチディテクターCTを用いた冠動脈CT検査

参考文献[2]

2. CTの原理

さて,それではCTの原理について説明していきましょう. CTは,X線を目的の物体に照射し,それの減衰を見ることによって,物体の形状を再構成する手法です. 投影する領域全体での減衰率$f(x,y)$を復元します. 図の角度$\theta$から$\Omega$へ投影し,それにより得られる積分量は以下のように記述されます. \[ p(r,\theta) = \int_\Omega f(x,y) \delta(r-x \cos \theta - y\sin\theta)d xdy \] 様々な角度$\theta$からの投影により,$f(x,y)$を完全に求めることが目的です. この$p(r,\theta)$が観測量です. 関数$p(r,\theta)$を$f(x,y)$のラドン変換と呼びます. この$\delta(r)$というのはディラックのデルタ関数と呼ばれる関数であり,可積分な関数$f(x)$ に対して \[ \int_{-\infty}^{\infty} \delta(x) f(x) dx = f(0) \] となるようなものです. $\delta$の中身が$0$になるところだけ出現すると考えてもらってよいです. 上での積分は,デルタ関数の定義から,物体を$\theta$方向から投影した総和が得られることがわかります.
 (4376)

3. Radon 変換のプログラム

以下,少しだけmatlab のコードを載せたいと思います.
ラドン変換などの原理の理解の一助となれば幸いです.
まず,サンプルデータをロードします.
 P = phantom(256);
imshow(P)
load_phantom.mat
Phantom データ

Phantom データ

次にラドン変換をしてみます.
24 件

関連する記事 こんな記事も人気です♪

VR解剖アプリを作る その2 ~Unity上でCTデータを扱う~

VR解剖アプリを作る その2 ~Unity上でCTデータを扱う~

3DデータをUnityに取り込んで、カメラで観察するアプリを作ります。 非VRとVRを実装します。
山田涼太 | 6,578 view
2月のイベントがアツい・・・「Deep Learning×画像解析」ライトニングトークイベント by LP-tech

2月のイベントがアツい・・・「Deep Learning×画像解析」ライトニングトークイベント by LP-tech

2月のイベントについて告知します! (画像出展:https://i.ytimg.com/vi/czLI3oLDe8M/maxresdefault.jpg)
ImageJ Plugin で数値計算をしてみる #5

ImageJ Plugin で数値計算をしてみる #5

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回は、面積の平均値や中央値、分散を出力するためのコードをご紹介します。
湖城 恵 | 10,133 view
Event

Event

次回のイベントと過去のイベントをまとめていくページです.
ImageJ まとめ

ImageJ まとめ

「このページを見れば,ImageJ のこと全てが解決する」をモットーに,日々更新を行っています.

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部