1 / 194
Date:Thu, 26 Nov 2015 18:18:47 +0900

From:

Tsukasa NAKANOTo:"TSUCHIYAMA, Akira", MIYAKE, 上杉 健太朗

Cc:"TAKEUCHI, Akihisa", Aki Takigawa, Junya Matsuno, 中村隆太, "Takashi Sakurama",
Yohei IGAMI, Akiko TAKAYAMA

Subject: SIXM の画像再構成⼿順

みなさま、なかのです。明⽇からの SPring-8・BL47XU での SIXM 実験に備えて、そちらの新しい⼤容量メモリ搭載のLinux 計算機の上でぼくが書いたプログラムを実⾏する場合の「SIXM の画像再構成などの⼿順」を書いてみました。間違いがあるかもしれませんが、とりあえずのご参考に。とり急ぎ、
添付ファイル sixm.txt
SIXM の画像再構成などの⼿順(0) SIXM で使⽤するプログラムのインストール
wget http://www-bl20.spring8.or.jp/\~sp8ct/tmp/his.taz
tar xzf his.taz
rm his.taz
cd hismakeset path=($cwd $path)
cd ..
(1) 測定ごとのディレクトリをまず作成し、その中で作業する。
mkdir 150602d
cd 150602d(2) 測定ファイルが⼊っているディレクトリをシンボリックリンクする。
ln -s 何とかんとか/150602d raw
注
以下で使⽤する測定ファイルは a.log と a.HIS だけ。

2 / 194(3) 測定のログファイルの１⾏⽬を調べる。
head -1 raw/a.log
401,451,100,1,0→
スキャン数、scans = 401
投影枚数、views = 451
暗電流画像枚数、darks = 100(4) とりあえずの投影画像の最初の１枚づつを作成する。
@ h = 10

# 後で調べる H の値に対応する仮の値

set lxp=/dev/shm/lxp# 吸収 CT ⽤の投影画像の作業⽤ファイル名

set dxp=/dev/shm/dxp# 位相 CT ⽤の投影画像の作業⽤ファイル名

his2xp raw/a.HIS 100 $h

401 451 $lxp $dxp

a2tiff $lxp 8 lxp.tif
a2tiff $dxp 8 dxp.tif
rm $lxp $dxp
(5) とりあえずの投影画像のそれぞれを観察して画素数 H と V を調べる。
xv lxp.tif dxp.tif→
H = 投影画像の左右にある空気の部分の横幅のうち狭い⽅の画素数
V = 投影画像の上端の空気の部分の縦幅の画素数
以下では、
H > V の場合、HIS2XP == his2xp
H < V の場合、HIS2XP == his2xp_topとする。
注
測定 150602d では H = 20、V = 100 だったので、HIS2XP == his2xp_top(6) 本番⽤の投影画像を作る。
HIS2XP raw/a.HIS 100

100 401 451 $lxp $dxp ${lxp}.rc ${dxp}.rc

3 / 194(7) 回転中⼼の位置（センター値）の推定
xp2rc $lxp${lxp}.rc 0.25

0.25

149.5

249.5

200

← 吸収 CT ⽤のセンター値 200

-100

100

0

← 縦ずれ 0xp2rc_dpc $dxp ${dxp}.rc 0.25 0.25
149.5

249.5

200

← 位相 CT ⽤のセンター値 200

-100

100

-3

← 縦ずれ -3

rm ${lxp}.rc ${dxp}.rc(8) 吸収 CT の画像再構成
mkdir

lword

xp2tg $lxp 150E-7 200

0 -16 lword >! lword.log(9) 位相 CT の画像再構成
mkdir dword
xp2tg $dxp 5.929E-2 200 0-16 dword >! dword.log

注L / U = 5.929005929005929005929 * 10^4 〜 5.929E-2 * 1E6
ただし、サンプルと検出器の距離、L = 6160 [mm]refraction profile の検出器間隔、U = 103.896 [μm](10) 画像再構成を⾏った後、投影画像は不要
rm $lxp $dxp(11) word 画像の画素値ヒストグラム作成
tg2tg lword - |tg2tg dword

tr

\\t

, > lword.csv- | tr \\t, > dword.csv(12) byte 画像とその画素値ヒストグラム作成
mkdir

lbyte

tg2tg lword -0 1.358611e+00 8

lbyte | tr \\t , > lbyte.csv

mkdir dbyte
tg2tg dword- 0 3.758708e-02 8

dbyte |

tr \\t , > dbyte.csv

4 / 194
Date:

Tue, 08 Dec 2015 15:14:44 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, MIYAKECc:

Aki Takigawa, MATSUNO Junya, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Miyama Sugimoto, Kentaro UESUGI, Akihisa TAKEUCHI

Subject: his2xp_[top,bottom]がダメな理由

つちやまさま、
C.C. みやけさま、なかのです。12/1 の E-mail に書かれていたことについてですが、SIXM の測定画像から吸収と微分位相の投影画像を作るプログラム his2xp_[top,bottom] がダメだったのはサンプルの上部や下部（測定画像の上端や下端）の空気の部分が noisy だったためですか？ もしそうなら、his2xp* に測定画像のトリミング⽤のオプシ
ョンを付加します。とり急ぎ、
On Tue, 1 Dec 2015 22:16:02 +0900 Akira TSUCHIYAMA wrote:> その後、いろいろとありました。詳しいことは 12/10 からのビームタイムに> 中野さんが来ることができれば、そのときにお話しますが、Io の取り⽅として>

his2xg_bottom(_cr) や his2xg_top(_cr)> ではダメで、>

his2xg(_cr)> でないといけないことが判明しました。

Date:Tue, 08 Dec 2015 15:51:07 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMACc:

MIYAKE, Aki Takigawa, MATSUNO Junya, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Miyama Sugimoto, Kentaro UESUGI, Akihisa TAKEUCHI

Subject: Re: his2xp_[top,bottom]がダメな理由

つちやまさま、なかのです。E-mail ありがとうございます。
> 上（下？）の空気だけの部分は必要ないので、トリミングして取り去ってしまうということでしょうか？
画像の上下端（左右端）の noisy な部分だけを最初に取り除き、それで残った画像の上下端（左右端）の空気の部分のデータを使って⼊射光強度 I0 や屈折⾓の０度の位置を推定する、ということです。
具体的には、
his2xpなどの起動時のオプションパラメータとして下記の４個を導⼊しようかと思っています：

5 / 194

Ox1

もとの測定画像の左端からの距離（単位は画素幅）

Oy1

もとの測定画像の上端からの距離（〃）Ox2

もとの測定画像の右端からの距離（〃）Oy2

もとの測定画像の下端からの距離（〃）

ただし、指定を省略した場合は値０が指定されたものと⾒なす。
もとの測定画像の画素数を Nx * Ny として (x,y) 座標値がOx1 ≦ x < Nx - Ox2
Oy1 ≦ y < Ny - Oy2の範囲にある画素だけを処理の対象とする。
とり急ぎ、On Tue, 8 Dec 2015 15:23:41 +0900 Akira TSUCHIYAMA wrote:> 2015/12/08 15:14、Tsukasa NAKANO のメール：> > つちやまさま、> > C.C. みやけさま、> > なかのです。12/1 の E-mail に書かれていたことについてですが、SIXM の測定画像から吸収と> > 微分位相の投影画像を作るプログラム his2xp_[top,bottom] がダメだったのはサンプルの上部や> > 下部（測定画像の上端や下端）の空気の部分が noisy だったためですか？
>> はいそうです。
>> > もしそうなら、his2xp* に測定画像のトリミング⽤のオプションを付加します。とり急ぎ、>> 上（下？）の空気だけの部分は必要ないので、トリミングして取り去ってしまうということでしょうか？

Date:Tue, 08 Dec 2015 18:49:35 +0900

From:

Tsukasa NAKANOTo:MIYAKE, Akira TSUCHIYAMACc:

Aki Takigawa, MATSUNO Junya, Takashi Sakurama, kadokawa tokiyuki,

Akira Kitayama, Miyama Sugimoto, Kentaro UESUGI, Akihisa TAKEUCHI
Subject: Re: his2xp_[top,bottom]がダメな理由

みやけさま、
つちやまさま、6 / 194
なかのです。E-mail ありがとうございます。
(1)
SIXM の⼊射 X 強度に縦（上下）⽅向の空間変動があると his2xp_[top,bottom] で採⽤している画像の上もしくは下端の値は⼊射強度 I0 や屈折⾓の０度の位置の値として使えません。これはノイズと⾔うよりも X 線強度の空間分布です。それを推定して除去するためには「サンプルなし」の測定画像の解析が必要です。今回、ぼくが気にしているのは検出器の故障のような（画像の上下端にある）「不規則ノイズ」です。この場合、それが発⽣している画素を使わなければ OK なので、それらの画素がある画像領域を処理対象から除外するように his2xp*を改造しようかと考えました。
(2)
上記の⼊射 X 線の縦⽅向の空間変動が時間的にさほど変化しないものであれば、his2xp による画像の左右端の（空気の部分の）値の線形補間による I0 や０度の位置の推定が有効です。ただ、こちらも、「サンプルなし」の画像を解析してみないと縦⽅向の空間変動の時間的変動がどの程度のものなのかわかりません。６⽉のSIXM 実験の最初の⽅に撮影した吉⽥サンプルの吸収の投影画像では「縦縞」が顕著でした。ぼくはこれを「縦⽅向の空間変動の時間変動よりもスキャンごとのバラツキ（時間変動）が⼤きいためだ」と考えました。その場合、時間的にものすごく変動している値の線形補間ではダメな気がしたので、his2xp_top を書きました。
(3)
すみません。先の E-mail に書いた his2xp* のオプションパラメータの説明は間違いでした（三宅さんが理解できないのはもっともです）。Oy1 と Oy2 は HIS ファイル上の測定画像の上下端からの距離ですが、Ox1 とOx2 はそれぞれの投影画像の左右端からの距離（スキャン数）です。Oy1 と Oy2 は投影画像の上下端からの距離とも⾔えるので、結局、先の説明⽂の「もとの測定画像」を「もとの投影画像」に読み替えて下さい。
(4)
his2xp と his2xp_top で⾏っている I0 や０度の値の推定法については以前に説明した通りです。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=16
三宅さんが理解されている通り、his2xp では投影画像の左右端の複数の縦画素列に相当する測定画像の平均
を y 座標値ごとに計算し、それら（右端と左端のそれぞれの平均）の線形補間で縦列それぞれに対する I0 や０度の値を推定しています。⼀⽅、his2xp_top では測定画像それぞれの上端にある画素の値の平均をそのまま（線形補間をせずに）使って、投影画像の縦画素列（==スキャン）ごとに I0 や０度の値の「補正」をしています。
とりあえず以上です。
On Tue, 8 Dec 2015 17:16:14 +0900 MIYAKE wrote:> ⼟`⼭様> > ⾔い訳するのではないのですが、画⾯上での縦⽅向の変動もノイズでは？

7 / 194>> ⾔われてみると、ノイズかも・・・。
> なんとなく僕は、時間変動で起こるものをおもって使っていましたが、> ノイズの定義って、なんでもよいんですかね？
>> 三宅>> > 三宅さん>>> > 2015/12/08 16:25、MIYAKE のメール：> >> 中野様 ⼟`⼭様
> >>> >>>> なかのです。12/1 の E-mail に書かれていたことについてですが、SIXM の測定> >>>> 画像から吸収と微分位相の投影画像を作るプログラム his2xp_[top,bottom] が> >>>> ダメだったのはサンプルの上部や下部（測定画像の上端や下端）の空気の部分が> >>>> noisy だったためですか？
> >>>> >>> はいそうです。
> >>> >> についてですが、僕の理解では、違います。
> >> 上部（下部）での noisy = 時間変動の変化よりも、画⾯上での縦⽅向の変動のほうが⼤きいという> >> 理解です。
> >> 上端や下端で取った場合だと、その部分は綺麗になりますが、下（または上）の CCD のところでは、> >> その差が⼤きく効いてくるんだとおもいます。
>>> > 三宅さんの理解で僕もいいと思います。
> > ⾔い訳するのではないのですが、画⾯上での縦⽅向の変動もノイズでは？
>>> >> と書きながらですが、実は中野さんのプログラムで横を I0 と取った時に、> >> 線形で表していますが、各⾏(Layer (y))毎に⾏っているのか、全体で平均を出しているのかが> >> 分かっていないのですが、> >> 多分、各⾏毎に I0 を線形で求めているんだと思っていますけど・・・、違いますか。
> >> 同じ CCD の Layer に⼊るところで、I0 を取る必要があるんだと思っており、そのようになって> >> いるから、両横で I0 をとったものは、綺麗になるんだと思います。
> >>> >> で、続いて送られてきました、オプションについては、正直理解できていません。
> >>> >> 三宅8 / 194> >>> >>> 中野さん
> >>>> >>> なるほど。
> >>> 通常、左端及び右端の空気の部分は Io に使うので、Ox1, Ox2 には 0 を⼊れることが> >>> 多いと思いますが、オプションパラメータとしてあってもいいと思います。

Date:Tue, 08 Dec 2015 19:53:27 +0900

From:

Tsukasa NAKANOTo:MIYAKECc:

Akira TSUCHIYAMA, Aki Takigawa, MATSUNO Junya, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Miyama Sugimoto, Kentaro UESUGI, Akihisa TAKEUCHI

Subject: Re: his2xp_[top,bottom]がダメな理由

みやけさま、
なかのです。E-mail ありがとうございます。
> あと、最後に、サンプルなしもとっています。（上杉さんアドバイスで。）
それを待っていました。
うえすぎさま、
先⽇の SIXM の実験データすべてを次回の実験の時にコピーしたいです。SPring-8 の計算機の上にバックアップしていますか？
On Tue, 8 Dec 2015 19:31:08 +0900 MIYAKE wrote:> 中野様> ありがとうございます。
>> (1)> > の値として使えません。これはノイズと⾔うよりも X 線強度の空間分布です。
> > それを推定して除去するためには「サンプルなし」の測定画像の解析が必要です。
> 多分、この影響がかなり効いているんだと、（今は）理解しています。
> 「X 線強度の空間分布」には、蛍光板のムラとかも含まれるんだっと思います。
>> > 今回、ぼくが気にしているのは検出器の故障のような（画像の上下端にある）「不規則ノイズ」> > です。この場合、それが発⽣している画素を使わなければ OK なので、それらの画素がある画像

9 / 194> > 領域を処理対象から除外するように his2xp*を改造しようかと考えました。
> なるほど。これは、僕は気にしてみていませんでした。
>> (2),(4)> 本当は、この縦⽅向の変動の時間変化があるんだと思うのですが、> 縦⽅向の変動のほうが⼤きくて、今の線形補正でもうまくいっているんだと思います。
>> この辺りの話は、実際に像を⾒たほうが話が早いように思います。
> 僕も、その時の記憶がかなり抜けてきているので・・・・。
> 若い⼈のコメントに期待したいのですが・・・。
>> あと、最後に、サンプルなしもとっています。（上杉さんアドバイスで。）
>
> 三宅

Date:

Wed, 09 Dec 2015 13:15:07 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGICc:MIYAKE, Akira TSUCHIYAMA, Aki Takigawa, MATSUNO Junya, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, Akihisa TAKEUCHI

Subject: Re: his2xp_[top,bottom]がダメな理由

うえすぎさま、なかのです。SIXM の測定データのアップロード、ありがとうございます。
(1)
合計 1.1TB のデータファイルのアップロードは完了していました。
vrm:/media/disk/bl47xu/2015.11.27_tsuchiyama/*
これらをディレクトリ/media/disk/tsukasa/1511/にハードリンクしました。a.HIS を bzip2 圧縮した後、こちらの計算機にダウンロードするつもりです。
(2)
12/4 の松野くんの E-mail に添付されていた紙のログノートのスキャンデータ 1511-SIXM_lognote_v02.pdf
を使って測定データセットをチェックしました。
アップロードしてくれた測定でディレクトリの個数：68
それらのうちデータファイル a.HIS があったもの：64+4=68（後述）
ログファイル a.log があったもの：68

10 / 194
パラメータファイル a.par があったもの：45+2=47（後述）
測定⽤計算機の画⾯キャプチャファイル a.bmp があったもの：68
今回の測定では撮影サンプルの配置を調べるための「予備撮影」を⾏ったようで、それに続く「本撮影」にはパラメータファイル a.par がないものもありました。ただし、68 測定のすべてに a.HIS と a.log があるので、いずれの測定でも SIXM の画像再構成は⼤丈夫だと思います（予備撮影では SIXM の画像再構成が可能なデー
タすべてを取得していないのかもしれませんが）。
(3)４個の測定 151201[c,d,e,f] の a.HIS すべてと a.par の２個のファイル名が2015.11.27_tsuchiyama_151201*_a.HIS
2015.11.27_tsuchiyama_151201*_a.logになっていたので、それらそれぞれを a.HIS もしくは a.log にシンボリック・リンクしておきました。これはコマンド "ls -l" で確認できます。
(4)
これから「空気」を撮影した測定 151201l（エル）の画像を調べてみます。とり急ぎ、On Wed, 9 Dec 2015 00:12:37 +0900 Kentaro UESUGI wrote:> 中野さん>> 上杉です>> > > あと、最後に、サンプルなしもとっています。（上杉さんアドバイスで。）>>> > それを待っていました。
>> 僕もビーム変動の成分が知りたかったので、三宅さん達に⾔って撮って頂きました。
>>>

うえすぎさま、>>

先⽇の SIXM の実験データすべてを次回の実験の時にコピーしたいです。

>>

SPring-8 の計算機上にバックアップしていますか？

>> 先ほど vrm に転送開始しました。/media/disk/bl47xu の中だと思います。
> 明⽇の朝には転送は終わってるんじゃないでしょうか。

11 / 194
Date:

Wed, 09 Dec 2015 17:49:20 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGICc:MIYAKE, Akira TSUCHIYAMA, Aki Takigawa, MATSUNO Junya, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, Akihisa TAKEUCHI

Subject: 空気の SIXM 画像

うえすぎさま、なかのです。空気を撮影した測定 151201l の投影画像を眺めてみました。
(1)
8/18 の E-mail で紹介したプログラム his2ri と his2rr を⽤いて HIS 形式の画像から吸収もしくは屈折の「⽣の投影画像」を取り出しました。ただし、吸収の⽣の投影画像は通常の吸収 CT の測定画像に相当します。また、屈折のそれは SIXM で得た refraction profile の重⼼の座標値に負の符号を付けた、refraction profile の画
像の画素の横幅を単位とする値です（今回の refraction profile の画像の横画素数は６⽉の実験のものと同じ
128 でした）。
(2)
⽣の投影画像に関する以下の４種類のデータファイルを作成しました。
air_[ri,rr]_[000,180].tif：０度もしくは 180 度の投影画像
air_[ri,rr].gif：０〜 180 度の 750 枚の投影画像の動画
air_[ri,rr].csv：０〜180 度の 750 枚の投影画像の画素値ヒストグラム
air_[ri,rr].tif：０〜180 度の 750 枚の投影画像の平均の画像
注
動画と０度および 180 度の画像では投影値と画素値の対応関係を同じにしてあります。また、平均の画像はそこに出現した投影値の最⼤値と最⼩値で正規化した画素値（輝度）になっています。
これらのデータファイル（＋処理に⽤いた C-shell script "run.air"）を vrm の/media/disk/bl47xu/1511_air/の下にコピーしておきました。どうぞ御利⽤下さい。
(3)
これらのファイルのうちの２×３個の TIFF 形式画像を並べて表⽰しました。この E-mail に添付した air.pdfです。これから以下のことがわかります。
[1] air_ri*.tif からわかるように上下⽅向の X 線強度の分布は⼀様ではない。his2xp_[top,bottom] で I0の補正ができないのは当然だ。
[2] この空間分布は単体の０度や 180 度の画像のものと平均の画像のもので⼤きく変わらない。つまり、
これは定常な空間分布だと⾔える。
[3] ⽣の屈折⾓の画像（rr）の上下⽅向の空間分布の様相も同様である。

12 / 194[4] ⼀⽅、I0 や屈折⾓のどちらの画像にも⽔平（SIXM のスキャン）⽅向に短波⻑の縦縞がある。これは平均の画像では⾒えなくなっているので、スキャンの時間間隔に⽐べて⼗分に短い周期の「ノイズ」
だと⾔える。
[5] ⽵内さんが⾔っていたように、この縦縞ノイズは露光時間を⻑くすることによって消去できるはず。
とりあえず、以上です。
添付ファイル air.pdf

Date:Wed, 09 Dec 2015 18:14:30 +0900

From:

Tsukasa NAKANOTo:MIYAKE

Cc:

Kentaro UESUGI, Akira TSUCHIYAMA, Aki Takigawa, MATSUNO Junya, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, Akihisa TAKEUCHI

Subject: Re: 空気の SIXM 画像

みやけさま、
なかのです。屈折の⽣画像 rr の値については「重⼼ = １次モーメント / I0」なので解釈が難しいです。ri の画像に⾒られる I0 の空間分布が寄与していることは確かですが、refraction profile の１次モーメントの⽅がX 線強度の空間分布により敏感な気がする。とり急ぎ、

13 / 194
On Wed, 9 Dec 2015 17:58:57 +0900 MIYAKE wrote:> 中野様 ⽵内様 上杉様> 早速ありがとうございます。
>> rr の平均の像（⼀番右下の像）で、⽔平⽅向に⾛る横縞がありますけど、これってなんですかね？
> 周期的な気もしますが。（強度は異なりますけど。）
>
> 三宅

Date:

Tue, 15 Dec 2015 17:39:17 +0900

From:

Tsukasa NAKANOTo:"TSUCHIYAMA, Akira"Cc:

Kentaro Uesugi, "TAKEUCHI, Akihisa", MIYAKE, Aki Takigawa,
Junya Matsuno, 中村隆太, Takashi Sakurama

Subject: SIXM_150602_やり直し

つちやまさま、なかのです。bug-fix した SIXM ⽤画像再構成プログラム（xp2tg_3）を使って６⽉に SPring-8 BL47XU で得た SIXM 実験の画像再構成（とそれに続くすべての処理）をやり直しました。先⽇の FZP 実験の場でお知らせしたように、その結果の主なファイル（後述する計算機 vrm のディレクトリ download/に置いてあるファイル）をそちらの計算機（Ebiusu？）のハードディスクにコピーしておきましたので、どうぞ御利⽤下さい。
以前にバグありの xp2tg_3 を使って⾏った処理の内容については以下の２通の E-mails を御覧下さい。
datesubject

2015/7/17

SP8_BL47XU_SIXM_150602

2015/8/1

SIXM_150602_オマケ

http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=47
今回の「やり直し」では bug-fix したプログラムを使っただけではなく、以前の処理から以下のふたつのことを変えました。
[1] 以前は⼤多数の測定で投影画像のサンプル上部の空気の部分の平均値を I0 や屈折０の値と⾒なしていたが、今回はすべての測定でサンプルの左右の（同じ幅の）領域の平均値を I0 などの値とした。
[2] 再構成した位相 CT 画像⽤のディレクトリなどの名前を変えた：
dtg → ptg
dbyte → pbyte

14 / 194これらの変更のため処理内容の細部が若⼲変わりましたが、その全体的な流れは以前のままです。具体的な変更箇所は以下の通りです：
2015/7/17 の E-mail に記載した処理内容との相違点(4) 作成した測定ごとの I0 や屈折０と⾒なすサンプリング領域の幅の値を書き込んだファイル
i0s.tbl を改変して投影画像の左右端の領域の幅（I0s_bs）だけにした（以前のファイルに記されていた I0s_top の値を削除した）。I0s_bs の符号（"+" と "-"）の意味は以前のまま。
(5) 測定ごとのセンター値の推定では上記の i0s.tbl の値を使った。
(7) C-shell script "run.rc_bs_10" を廃した。
(10) 再々構成した吸収 CT と位相 CT の画像をディレクトリ atg/と ptg/の下に格納した。また、スライスそれぞれに出現した CT 値の最⼩値と最⼤値をファイル atg.log と ptg.log に書き込んだ。
(13) 今回も吸収と位相 CT の画像再構成の処理を計算機 vrm の上で同時に実⾏した。これら両⽅の画像再構成処理を 2015/12/12 の 11:30 頃に開始したところ 14:30 頃には 29 測定すべての処理が終わっていた。
2015/8/1 の E-mail に記載した処理内容との相違点(0) 位相 CT 画像 "ptg/*.tif" の画素値ヒストグラムのデータをファイル ptg.csv に書き込んだ。
(1) 位相 CT 画像の byte 画像をディレクトリ pbyte/の下に、また、その画素値ヒストグラムのデー
タをファイル pbyte.csv に書き込んだ。
(2) 今回も C-shell script "test.coa" を使って byte 画像上の LAC と RID の空間分布の重⼼を調べたが、それらの画像の代表的な断⾯を通る点の座標値には以前に作成したファイル xyz.tbl の値を流⽤した。
このようにして計算機 vrm で再構成し直した画像ファイルなどは以前のものに上書きしました。それらの内訳はこの E-mail に添付したファイル vrm.txt に記した通りです。そして、この E-mail の最初に書いたように、
ディ レクトリ /media/disk/tsukasa/150602/for_download/ の下 にリンクし たファイル すべてを計 算機
Ebisu（？）のハードディスク data01/（？）にコピーしておきました。
とりあえず、以上です。
添付ファイル vrm.txt
削除しました。

15 / 194
Date:

Tue, 19 Jan 2016 12:33:07 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGI

Cc:

三宅, ⼟'⼭, 瀧川, 松野, 櫻間, ⾨川, 北⼭, 杉本, ⽵内

Subject: 空気の SIXM 画像_追加

うえすぎさま、
GSJ/AIST のなかのです。今頃になって何ですが、昨年 11〜12 ⽉に SPring-8 の BL47XU での測定 151201 で得た「空気」の SIXM 画像に関する話の追加です。この E-mail に添付した３個の PDF ファイル air_[1-3].pdf
を御覧下さい。
(1)
air_1.pdf は昨年 12/9 の E-mail（後に貼り付けておきました）に添付した PDF ファイル air.pdf に⽰した
ri（raw intenisty；SIXM の吸収 CT ⽤の X 線強度の⽣の値）
rr（raw refraction；SIXM の位相 CT ⽤の X 線屈折量の⽣の値）のそれぞれを表す３枚づつの画像
000 degree と 180 degree
サンプル回転⾓が０度と 180 度の⽣の投影画像
mean of 750 views
回転⾓０〜180 度の 750 枚の⽣の投影画像を平均した画像に追加して、SD（standard deviation）of 750 views
750 枚の画像の各画素の値の標準偏差（バラツキ）を表す画像を⽰した PDF ファイルです。ただし、ページ上部の８画像はグレースケールで、また、下部のものは「⻘→シアン→緑→⻩→⾚→マジェンタ」の順に変化する⾊でそれぞれの画素の値を表現しています。
(2)
air_1.pdf の mean と SD の画像の⽐較からわかるように、ri と rr のどちらでも値は縦⽅向に急変している部
分でバラツキが⼤きくなっています。つまり、投影画像ごとに ri や rr の縦⽅向の空間分布が変化しているようです。そこで、750 枚の投影画像それぞれの横⼀列の 400 画素の値の平均と標準偏差を計算し画像化しました。air_2.pdf の以下の画像がその結果です（air_1.pdf の場合と同様にその上部にグレースケール、下部に⾊で値を表現した画像を並べました）。
mean もしくは SD of 750 views
air_1.pdf のものと同じ投影画像の平均もしくは標準偏差の画像
mean もしくは SD of 400 scans
投影画像の横⼀列の画素の値の平均もしくは標準偏差の値を投影画像の順を横座標値として並べた
画像

16 / 194
これらの画像（特に後者の画像）の観察から先に予想した「投影画像ごとに ri や rr の縦⽅向の空間分布が変化していること」を確認できました。
(3)以上のことから SIXM の吸収および位相 CT の画像再構成では ri と rr の投影画像の「補正」を投影画像の横⼀列ごとに、その両端にある空気の部分の平均値を⽤いて⾏わなければなりません：
ri や rr の投影画像ごとに変化する縦⽅向の空間分布があるので
通常 CT の場合のようなサンプルなしの画像による補正はできない。
投影画像の上下端にある空気の部分の値を補正に使うことはできない。
また、前回の実験でも問題になったように、サンプルのサイズが⼤きすぎる場合には投影画像の左端や右端だけにしか空気の部分がないこともあります。そこで、新たに書いた SIXM ⽤の画像再構成プログラム群（これらについては次便以降の E-mail で詳しく説明します）では ri や rr の補正に投影画像の左右端の両⽅もしくは⽚⽅の幅を投影画像ごとに個別に指定して使⽤できるようにしました。
(4)
SIXM ⽤の新しい画像再構成プログラム群を使って空気の SIXM 画像の ri と rr の値を補正し、その結果を
air_3.pdf に⽰しました。
xt_000、xt_180、dpc_000 もしくは dpc_180
サンプル回転⾓が０もしくは 180 度の ri もしくは rr の投影画像を補正して得た X 線の透過率（Xray transmittance；xt）もしくは微分位相の値（differential phase contrast；dpc）の画像。ただし、後述するように、L = R = 0 の画像は未補正の ri もしくは rr の投影画像。
L もしくは R
ri や rr の補正に使う投影画像の左右端の空気の部分の幅（画素数）。
ただし、
L = R = 0 の場合
ri や rr の補正を⾏わない。
L と R の⼀⽅が０の場合
⾮０の幅の端領域の ri や rr の平均値をそれらの補正に使う。
L + R が投影画像の横画素数以上の値の場合
投影画像の横⼀列の ri や rr の平均値をそれらの補正に使う。
上記以外の場合
端領域それぞれの ri や rr の平均値が端領域それぞれの中央の点で与えられたものとして、それらを線形に空間補間した値を⽤いて ri や rr を補正する。
(5)
air_3.pdf の画像（特に、その下部にある擬似カラー画像）からわかるように、ri や rr の補正に使う投影画像の左右端の幅を変えても X 線透過率や微分位相の画像の画質はさほど向上しません。昨年 12/9 の E-mail にも書いたように、その原因の短周期のノイズは露光時間を⻑くするなどして消すほかありません。

17 / 194
とりあえず以上です。
P.S.
今回の E-mail に添付した３個の PDF ファイル上の画像のファイルも昨年 12/9 の E-mail に記したものと同じ計算機 vrm のディレクトリ/media/disk/bl47xu/1511_air/ の下にコピーしてあります。
添付ファイル air_1.pdf

18 / 194
添付ファイル air_2.pdf

19 / 194
添付ファイル air_3.pdf

Date:Tue, 19 Jan 2016 17:46:10 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

Kentaro UESUGI, MIYAKE, Aki Takigawa, MATSUNO Junya, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI

Subject: Re: 空気の SIXM 画像_追加

つちやまさま、なかのです。E-mail ありがとうございます。表⽰レイアウトの設定に⼿間取り遅くなりました。SIXM による空気の測定 151201l の X 線透過率（XT）と微分位相（DPC）のそれぞれの 750 views もしくは 400 scans に

20 / 194
ついて計算した mean と SD の画像を並べた PDF を作り、この E-mail に添付しました。ただし、レイアウトの都合上、ファイル air_4_xt.pdf と air_4_dpc.pdf のそれぞれに XT と DPC の画像を別々に⽰しました。また、L = R = 200 の補正で得た XT と DPC の画像に対して「mean of 400 scans」の処理を⾏うと定義から XTの平均値は常に１、DPC のそれは０になるので、その場合の結果は⽰しませんでした。これらの PDF から XTや DPC の画像を平均した画像では raw intensity や raw refraction で顕著だった縦⽅向の空間変動は⽬⽴ちま
せんが、標準偏差の画像にはそれが残っていることがわかります。とり急ぎ、
On Tue, 19 Jan 2016 13:08:31 +0900 Akira TSUCHIYAMA wrote:> 中野さん> メイル拝⾒しました。
>> 「短周期のノイズは露光時間を⻑くするなどして消すほかない」ことがよくわかりました。
> 露光時間ではなく、ビームそのものあるいは検出器の感度で SN が良くなるといいのですが・・・。
>> ところで、SD of 750 views や SD of 400 scans でみられる SD が⼤きい領域ですが、> air_3 の補正画像ではさほど⽬⽴たないのですね。
添付ファイル air_4_xt.pdf

21 / 194
添付ファイル air_4_dpc.pdf

22 / 194
Date:

Wed, 27 Jan 2016 10:23:37 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: Re: 151127-1201 の SIXM_RID の値

つちやまさま、なかのです。今頃になってすみません。昨年 11〜12 ⽉の SPring-8 BL47XU での実験で撮影したもののうち可能だった測定の SIXM 画像を新たに作成したプログラム群（これらについては次便で説明します）で再構成しました。その結果の、25 測定それぞれの代表的な３つの断⾯の画像と画素値ヒストグラムをまとめた PDF
ファイル 1511.pdf をこの E-mail に添付しますので、どうぞ御覧下さい。昨年６⽉に撮影したものと⽐べると今回の SIXM 画像は⾼画質ですね。とり急ぎ、P.S.
ぼくが再構成した位相画像の RID の値に問題はない感じです。そちらの画像の異常な値は再構成時の「換算係数 L/U」の値の単純な指定ミスでは？
On Wed, 27 Jan 2016 09:43:19 +0900 Akira TSUCHIYAMA wrote:> 松野くん、中野さん、> 皆さん>> 今、151127-1201 でおこなった SIXM のデータを整理しています。すべての位相画像において、> RID の値が数万とか 10 万を越えていて、おかしいことに（ようやく今）気がつきました。
>> 例として、151201j（Si-can, W の針を除外して撮影）の結果を添付します。
> ヒストグラム（pword/ps）の横軸が”CT-value (estimated LAC, 1/cm)"> となっているのはご愛嬌として、この値いったい何の値でしょうか？
> ヒストグラムの Si のピークについて Gausian でフィットした値は 42390（σは 825）、
> ⼀⽅、Si の RID の計算値（8 keV）は 7.670E-06 で、単なる桁の違いだけではありません。
> なお、吸収画像の⽅は、ヒストグラムからフィッティングしたピークが> 138.47（σ: 14.704）cm-1 で、計算値が 150.69 cm-1 なので、こちらは⼤丈夫です。
>> 松野くん、あるいは再構成をやってくれた皆さん：これわかりますか？
>> 中野さん：> この回の撮影は体調を壊されて途中で帰られていますが、なにか⼼当たりはないでしょうか？

23 / 194
添付ファイル 1511.pdf
25 ページもあるので省略します。

Date:

Wed, 27 Jan 2016 15:59:32 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: Re: 151127-1201 の SIXM_RID の値

つちやまさま、なかのです。昨年の 11〜12 ⽉に SPring-8 の BL47XU で撮影し、こちらで新しいプログラムを使って再構成
した標準サンプルの 13 測定の SIXM 画像のそれぞれについてサンプル物質の LAC や RID の理論値で CT 値
を正規化した８ビットの画像を作ってみました。以前に紹介したプログラム lac_cm や rid_cm を使って密度と組成から計算した標準サンプルの LAC や RID の理論値を８ビット画素値 100 に対応させた画像です。それらの画像の代表的なスライスの画像（先の E-mail に添付したファイル 1511.pdf の位置と同じです）と画素値
ヒストグラムを並べた PDF ファイル lac+rid.pdf をこの E-mail に添付しておきましたので、どうぞ御覧下さい。軽元素（H、C、O）のサンプル POM-1 では吸収 CT の画像が全然ダメですが、それを除けば SIXM で得た吸収と位相の画像上の値はどちらもこれまでに SPring-8 で撮影してきた通常の吸収トモグラフィーの画像の場合と同程度に「定量的」なようです。とり急ぎ、

24 / 194
添付ファイル lac+rid.pdf（１ページ⽬）

25 / 194
添付ファイル lac+rid.pdf（２ページ⽬）

添付ファイル lac+rid.pdf（３ページ⽬）
2016/1/29 の E-mail の添付ファイル lac+rid.pdf の３ページ⽬を御覧下さい。

26 / 194
Date:

Wed, 27 Jan 2016 16:36:44 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: 1511 の SIXM 画像上の影（W 針?)

つちやまさま、なかのです。先程お送りした lac+rid.pdf の標準サンプルの代表的なスライスの画像のいくつか（151201d、151201k と 151128i）に円形の影の偽像が写っています。その前に送った 1511.pdf を⾒ると、少なくとも151128i では、この偽像は代表的なスライスだけではなくサンプルの「上下」を貫いているようです。これが昨年 12/1 にいただいた E-mail に書いてあったタングステン針（W 針）の問題ですか？ とり急ぎ、

Date:Fri, 29 Jan 2016 17:28:01 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: Re: 151127-1201 の SIXM_RID の値

つちやまさま、なかのです。昨⽇お送りした PDF ファイル lac+rid.pdf に吉⽥・⿊澤 quartz の SIXM 画像とそれらの画素値
ヒストグラム（正確には、X 線エネルギー8 keV における⽯英の LAC や RID の理論値が８ビット画素値 100になるように変換した３次元画像の代表的なスライスの画像と、それらの３次元画像全体の画素値ヒストグラム）を追加しました。また、これらのヒストグラムそれぞれの（LAC や RID の理論値に相当する画素値 100を中央とした）画素値 75〜125 の範囲（この±25 の幅に深い意味はありません）から画素数が最⼤のピークの位置を探し出し、その CT 値を標準サンプルを代表する値だと考えることにしました。この E-mail に添付したテキストファイル lac+rid_log.txt がそのまとめです。
ただし、[1] 吉⽥・⿊澤 quartz に対してつちやまさんのレポートに記されていた LAC の理論値から類推した密度の値を使いました。
[2] POM-1 サンプルの２個の吸収画像のヒストグラムから探し出したピーク位置は探索値域の端に位置しているので正しい値ではないと思われます。
つちやまさんが得られた結果と同様に、LAC や RID の理論値に対する X 線 CT による推定値（CT 値）の⽐
（CTV/LAC や CTV/RID）は１よりも若⼲⼩さい値になっていますね（ぼく的にはこの程度の情報が得られれば⼗分です）。とり急ぎ、

27 / 194
P.S.
LAC に関してはγ（= 推定値 / 理論値）が１よりも⼩さくなることにそれなりの理由（検出器が使っている蛍光物質の⾮線形応答など）を付けることができましたが、RID に関しては単純ではありません。昨年 10/9 の E-mail で論じたように、RID の再構成計算に使う refraction profile の重⼼の測定値には LAC の空間勾配に起因するエラーが含まれている可能性があります。また、それに加えて、位相回復（RID の線積分）に伴うエラーは不可避です（多分）。LAC と RID のγが概ね同じ値になっていることを簡単に説明できそうにありません。
On Thu, 28 Jan 2016 18:16:27 +0900 Akira TSUCHIYAMA wrote:> 皆さん> 151127-1201 の SIXM の標準物質についての、LAC と RID 値の計算値（理論値）との> ⽐較ができたので、お知らせします。
>> 添付ファイルの pp.1-21 は、各標準物質（吉⽥くんと⿊澤さんの Qz も⼊れました）の> 代表的な CT 像です（モノクロ像のコントラストは任意、疑似カラーはモノクロ像> のコントラストを強調したいために付けました）。
>> LAC or PID 値のヒストグラムについて、サンプルのピーク付近を１−３個の> ガウシャンでフィッティングして、サンプルに対応すると考えられるピークの、> 中央値とσを求めました。サンプル断⾯が W 針の陰に⽐べて⼤きいものは、複数> のガウシャンでフィッティングすることにより、その影響が少なくなっている> と思います（完全に取れているわけではないが）。⼀⽅、Fo-1 のように、> サンプル径と W 針の径がほぼ同じものは、陰の分だけ値がやや⾼くなっている可能性があります。
> なお pword 画像の RID は、L/d 値を誤っていれたままのものなので、> RID(補正後）= RID(補正前) X 10E-11 / 5.963E-2 として下さい。
>> p.22 が結果です。
> （1）LAC> POM の値はフィッティングで推定したので、おおよその⽬安の値です。
> Mt(magnetite)は LAC 値が⼤きく、SIXM から求めた LAC 値はいつものように> やや低めに出ます。これ以外のサンプルについて最⼩⾃乗しました。
>

LAC(SIXM) = 0.90938(783) X LAC(calc)> となり、これまでの CT の補正係数（0.88）よりやや⾼めです。
> また、Fo の LAC 値(SIX)は、W 針の影響のためか、他のサンプルより> 補正係数がやや⾼めです。少なくとも Fo については、次回に撮影し直した⽅がいいかもしれません。
>> （2）RID> すべてのサンプルについて最⼩⾃乗しました。

28 / 194>

RID(SIXM) = 0.90754(561) X RID(calc)> となります。
> 補正係数ですが、誤差も考えると、LAC, RID ともに 0.91 程度です。たまたま> 同じなのかもしれませんが、ひょっとして同じになるような論理はないのでしょうか？
> なお、151210-1213 の DET で撮影した標準物質の解析は、同様の⽅法で> あらためてやるつもりです（ピーク値を⽬で読み取ったものでは、> 補正係数が 0.85 程度となり、従前よりやや低めですが・・・）。
> また、すべての結果はエクセルの表に⼊っています。今回の範囲で、> 撮影条件を変えても、結果は⼤きく変わらないようです。
>> これで、SIXM における LAC, RID 値の補正が定量的にできるように> なったので、流体包有物や有機物の解析に⼊ります。
添付ファイル lac+rid.pdf（３ページ⽬のみ；１・２ページ⽬は 2016/1/27 の E-mail のものと同内容）

添付ファイル lac+rid_log.txt
2016/1/30 の E-mail の添付ファイル lac+rid_log.txt を御覧下さい。

29 / 194
Date:

Sat, 30 Jan 2016 17:24:54 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: Re: 151127-1201 の SIXM_RID の値

つちやまさま、なかのです。たびたびすみません。クロタイラギ⾙（AV ⾙）の６測定分の SIXM 画像（吸収と位相画像）のそれぞれを LAC や RID の理論値で正規化した画像を作成しました（正確には、吸収と位相の再構成画像から
X 線エネルギー8 keV における密度が 2.7 g/cc、組成が CaCO3 と仮定した calcite の LAC や RID の理論値を８ビット画素値 100 に対応させた画像に変換しました）。これらの画像の代表的なスライスと画素値ヒストグ
ラムの図を昨⽇お送りした PDF ファイル lac+rid.pf の最後に追加しましたが、この E-mail には AV ⾙のペー
ジだけを⼊れた PDF ファイル AV_lac+rid.pdf のみ添付します。また、昨⽇お送りした lac+rid_log.txt に以前と同じ⽅法で画素値ヒストグラムから探し出した AV ⾙の CT 値などの情報を追加し、この E-mail に添付しました。これらのファイルをどうぞ御覧下さい。とり急ぎ、
添付ファイル AV_lac+rid.pdf

30 / 194
添付ファイル lac+rid_log.txt
LAC
sample_ID

set

Si-2_housecomposition

LAC_(1/cm)

CTV_(1/cm)

CTV/LAC151127c 2.33

Si:1

150.704395

135.633956

0.90

Si-1_can151130o 2.33

Si:1

150.704395

137.140999

0.91

Si-2_house

151201d 2.33

Si:1

150.704395

138.648043

0.92

Si-3_can

151201j

2.33

Si:1

150.704395

138.648043

0.92

Si-3_can

151201k 2.33

Si:1

150.704395

137.140999

0.91

Fo-1

151128d 3.226

Mg:2_Si:1_O:4

103.982481

100.863006

0.97

Fo-1

151128k 3.226

Mg:2_Si:1_O:4

103.982481

102.942656

0.99

Fo-1

151128m 3.226

Mg:2_Si:1_O:4

103.982481

98.783357

0.95

POM-1

151128o 1.41

C:1_H:2_O:1

11.355781

8.516836 0.75

NG

POM-1

151128q 1.41

C:1_H:2_O:1

11.355781

8.630394 0.76

NG

Co-1

151128g 4.0

Al:2_O:3

128.448145

113.034368

0.88

Mt

151128i

Fe:3_O:4

1166.599791

921.613835

0.79

Ni-1

151130b 8.902

Ni:1

440.827204

392.336212

0.89

2.4

Si:1_O:2

87.425755

86.551497

0.99

Kuro-11151201b 2.5

Si:1_O:2

91 .068495

88.336440

0.97

AV-3

151127s 2.7

Ca:1_C:1_O:3

203.149744

170.645785

0.84

AV-3

151127t 2.7

Ca:1_C:1_O:3

203.149744

168.614287

0.83

AV-3

151128a 2.7

Ca:1_C:1_O:3

203.149744

168.614287

0.83

AV-3

151128b 2.7

Ca:1_C:1_O:3

203.149744

172.677282

0.85

AV-4

151130h 2.7

Ca:1_C:1_O:3

203.149744

176.740277

0.87

AV-5

151130j

2.7

Ca:1_C:1_O:3

203.149744

176.740277

0.87

sample_ID

setdensitycomposition

RID_(1e-6)

CTV_(1e-6)

CTV/RID

Si-2_house

151127c 2.33

Si:1

7.674765

6.984036

0.91

Si-1_can151130o 2.33

Si:1

7.674765

7.214279

0.94

Si-2_house

151201d 2.33

Si:1

7.674765

7.2910270.95

Si-3_can

151201j

2.33

Si:1

7.674765

7.060784

0.92

Si-3_can

151201k 2.33

Si:1

7.674765

7.137531

0.93

Fo-1

151128d 3.226

Mg:2_Si:1_O:4

10.53804

9.589616

0.91

Fo-1

151128k 3.226

Mg:2_Si:1_O:4

10.53804

9.589616

0.91

Fo-1

151128m 3.226

Mg:2_Si:1_O:4

10.53804

9.589616

0.91

POM-1

151128o 1.41

C:1_H:2_O:1

4.896976

4.407279

0.90

POM-1

151128q 1.41

C:1_H:2_O:1

4.896976

4.358309

0.89

Yoshida-2-Qtz 151130l

density

5.2

RID31 / 194Co-1

151128g 4.0

Al:2_O:3

12.87648

11.588832

0.90

Mt

151128i

Fe:3_O:4

15.53156

13.512457

0.87

Ni-1

151130b 8.902

Ni:1

24.74066

22.266594

0.90

2.4

Si:1_O:2

7.869363

7.948056

1.01

Kuro-11151201b 2.5

Si:1_O:2

8.197253

8.115281

0.99

AV-3

151127s 2.7

Ca:1_C:1_O:3

8.849336

7.875909

0.89

AV-3

151127t 2.7

Ca:1_C:1_O:3

8.849336

7.875909

0.89

AV-3

151128a 2.7

Ca:1_C:1_O:3

8.849336

7.787415

0.88

AV-3

151128b 2.7

Ca:1_C:1_O:3

8.849336

7.875909

0.89

AV-4

151130h 2.7

Ca:1_C:1_O:3

8.849336

8.052895

0.91

AV-5

151130j

Ca:1_C:1_O:3

8.849336

8.141389

0.92

Yoshida-2-Qtz 151130l

5.2

2.7

Date:

Mon, 01 Feb 2016 17:07:29 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: Re: 151127-1201 の SIXM_RID の値

つちやまさま、なかのです。何度もすみません。標準サンプル＋吉⽥・⿊澤 quartz＋AV ⾙の SIXM 画像に関する以下の３つの⽐の値 R[1,2,3]を計算して、この E-mail に添付した CSV ファイル ratio_log.csv に書き込みました。
R1 = LAC (1/cm) / RID (1e-6)
サンプルの組成から計算した X 線エネルギー 8 keV における LAC と RID の理論値の⽐。
R2 = CTV (1/cm) / RID (1e-6)
吸収画像と位相画像のそれぞれの画素値ヒストグラムの「ピーク位置」に相当するサンプルの LACと RID の推定値（CT 値）の⽐。
R3 = 吸収画像のヒストグラムピークの画素数 / 位相画像のピークの画素数
上記の２個のピーク位置における画素値ヒストグラムの⾼さ（ピークの bin に落ちる画素数）の⽐。
理論値の⽐ R1 はサンプルの密度に依存しません。それゆえ、密度の値に不確定性があるサンプルの SIXM 画
像上の値の検定では R1 と R2 の値を⽐較するのが良いと思います。吸収画像のヒストグラムから得たピーク
位置が怪しい POM-1 や Mt の画像を除けば、今回の SIXM 画像の R1 と R2 は概ね 10 %（silicon や forsterite
なら 5 %）以下の精度で⼀致していることがわかります。
吸収と位相画像のヒストグラムのピークの⾼さの⽐ R3 はヒストグラムの形状の半値幅の逆数の⽐に相当する

32 / 194
値です（ぼくが使った SIXM 画像は LAC や RID の理論値を画素値 100 に対応させた画像なので、これらのヒストグラムの形状をそのまま⽐較できます）。つまり、⼤雑把に⾔うと、R3 は位相画像の値の検出感度に対す
る吸収画像のそれを表しています。断⾯の形状が異なる silicon の画像では R3 の値が倍程度違っていますが、これは円形断⾯の ”Si-*_can” の画像に⽐べて矩形断⾯の “Si-*_house” の位相画像に「位相回復に伴う著しい偽像」が発⽣しているためだと思われます。
LAC の理論値が⼤きいサンプル Mt の画像では⽐の値 R1 と R2 は 10%以上も⾷い違っており、また、R3 の値も⾮常に⼤きいので、Mt の吸収画像の CT 値は全然使えないと思われます。
とりあえず以上です。
添付ファイル ratio_log.csv（コンマ区切りをタブコード区切りにし、表⽰項⽬を削減しました）

sample_ID

set

Si-2_house

R1

R2

R3

151127c Si:1

19.636353

19.420569

0.429014

Si-1_can151130o Si:1

19.636353

19.009661

0.283964

Si-2_house

151201d Si:1

19.636353

19.016257

0.336568

Si-3_can

151201jSi:1

19.636353

19.636352

0.254998

Si-3_can

151201k Si:1

19.636353

19.214067

0.243154

Fo-1

151128d Mg:2_Si:1_O:4

9.867345

10.517940

0.104026

Fo-1

151128k Mg:2_Si:1_O:4

9.867345

10.734805

0.124251

Fo-1

151128m Mg:2_Si:1_O:4

9.867345

10.301075

0.139467

POM-1

151128o C:1_H:2_O:1

2.318937

1.932448

0.131275

POM-1

151128q C:1_H:2_O:1

2.318937

1.980216

0.074463

Co-1

151128g Al:2_O:3

9.975408

9.753733

0.158184

Mt

151128i

75.111566

68.204756

1.355325

Ni-1

151130b Ni:1

17.817924

17.619947

0.417815

Si:1_O:2

11.109636

10.889644

0.269036

Kuro-11151201b Si:1_O:2

11.109636

10.885198

0.206600

AV-3

151127s Ca:1_C:1_O:3

22.956496

21.666805

0.514358

AV-3

151127t Ca:1_C:1_O:3

22.956496

21.408867

0.452588

AV-3

151128a Ca:1_C:1_O:3

22.956496

21.652151

0.479620

AV-3

151128b Ca:1_C:1_O:3

22.956496

21.924743

0.392769

AV-4

151130h Ca:1_C:1_O:3

22.956496

21.947421

0.426242

AV-5

151130j22.956496

21.708860

0.462526

Yoshida-2-Qtz 151130l

composition

Fe:3_O:4

Ca:1_C:1_O:3

33 / 194
Date:

Wed, 03 Feb 2016 13:47:16 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Kentaro UESUGI, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI, MIYAKE

Subject: Re: 151127-1201 の SIXM_RID の値

つちやまさま、なかのです。SIXM の画像再構成のテスト（これについてはまた今度話します）に使うため、昨年 11〜12 ⽉の SIXM 実験で撮影した「標準サンプル+吉⽥⿊澤 quartz + AV ⾙」以外の４サンプルの byte 画像の「代表的な３断⾯の画像と画素値ヒストグラム」
を以前に紹介した PDF ファイル 1511.pdf から抜き出して１個の PDFにまとめました。この E-mail に添付した others.pdf です。どうぞ御覧下さい。とり急ぎ、
添付ファイル others.pdf

34 / 194
Date:

Tue, 02 Feb 2016 13:57:55 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM

みなさま、
GSJ/AIST のなかのです。SIXM の画像再構成⽤の新しい計算機プログラムを紹介します。その C ⾔語のソースファイルや 64 bit Windows ⽤実⾏ファイルなどを以下の２個の書庫ファイルに⼊れておきました（どちらも同内容です）。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zip
GNU C++ compiler（gcc）の開発環境を備えた計算機なら、これらのファイルを展開したディレクトリ sixm/
で "make" もしくは "make ‒f

Makefile.mingw" と⼊⼒するだけで合計 60 個のプログラムすべてをコンパイルできるはずです。
新しいプログラムの起動法と処理内容の概要は以下の通りです。ただし、⾏頭に○を付けたものは SIXM の画
像再構成処理に必須な、また、△はその前処理やテストなどのために⽤意した、そして、×はオマケのプログ
ラムです。
△ check_his HIS_file
HIS 形式ファイルをチェックする。
△ his2tiff HIS_file rangeList TIFF_format
HIS 形式ファイル上の refraction profile の画像群を取り出す。
○ his2raw_[B,W,F,D] HIS_file scans viewsRangeList darks RI_format RR_format
HIS 形式ファイル上の refraction profile から⽣の X 線強度値（raw intensity、RI）と屈折量（rawrefraction、RR）を計算し、それらの投影画像群を RAW_[B,W,F,D] 形式のファイルとして格納する。
△

raw2tiff RAW/ nameFile {base step} BPS TIFF/
RAW 形式の画像群を整数画素値の TIFF 形式のものに変換する。

×

raw2bin RAW/ nameFile file.bin
RAW 形式の画像群を１個のバイナリファイルにまとめる。

35 / 194× bin2raw_[F,D] file.bin rangeList RAW_format
バイナリファイル上の画像群を RAW_[F,D] 形式のものに変換する。
△

hp2xp_[B,W,F,D] HiPic/ {y1 y2}|{x1 y1 x2 y2} XP_format△

hp2xt_[B,W,F,D] HiPic/ {y1 y2}|{x1 y1 x2 y2} XT_format
SPring-8 の通常の X 線 CT 実験などで得た HiPic 形式の測定画像のシーケンスから X 線投影（XP）
もしくは透過率（XT）の値を計算し、それらの投影画像群を RAW_[B,W,F,D] 形式のファイルとして格納する。

× xp2dpc_[B,W,F,D] XP/ nameFile {Dr} DPC/
投影画像のそれぞれを x ⽅向に微分した画像を合成する。
× dpc2xp_[B,W,F,D] DPC/ nameFile {Dr} XP/
x ⽅向の微分値が⼊った画像を線積分してもとの投影画像に戻す。
× ri2xp_bin RI/ nameFile VLR_file XP.bin
×

ri2xt_bin RI/ nameFile VLR_file XT.bin

× rr2dpc_bin RR/ nameFile VLR_file sign DPC.bin
RI もしくは RR 画像のそれぞれの左右端の「余⽩」の部分を指定して計算した XP、XT もしくは微分位相（differential phase contrast、DPC）の投影画像群を１個のバイナリファイルにまとめる。
△

ri2xp_gif RI/ nameFile VLR_file Bx By {{min max} XP.gif}△ ri2xt_gif RI/ nameFile VLR_file Bx By {{min max} XT.gif}△

rr2dpc_gif RR/ nameFile VLR_file Bx By sign {{min max} DPC.gif}
RI もしくは RR 画像から得た XP、XT もしくは DPC の画像群を１個の GIF（animation）形式のフ
ァイルにまとめる。

△ ri2xp_[B,W,F,D] RI/ nameFile VLR_file Bx By XP/△ ri2xt_[B,W,F,D] RI/ nameFile VLR_file Bx By XT/△

rr2dpc_[B,W,F,D] RR/ nameFile VLR_file Bx By sign DPC/RI もしくは RR 画像から得た XP、XT もしくは DPC の投影画像のそれぞれを RAW_[B,W,F,D] 形式のファイルに格納する。

○

ri2rc RI/ nameFile VLR_file {y1 y2} Rx Ry {RMSD.tif}○

rr2rc RR/ nameFile VLR_file {y1 y2} Rx Ry {RMSD.tif}
RI もしくは RR 画像から得たサンプルの回転⾓が０度と 180 度の XP もしくは DPC の投影画像を⽤いてサンプルの回転軸の位置を推定する。

36 / 194
△ ri2sg_[B,W,F,D] RI/ nameFile VLR_file {layer1 layer2} SG_format△ rr2sg_[B,W,F,D] RR/ nameFile VLR_file {layer1 layer2} {-}Dr/(L/U) SG_format
XP もしくは DPC の sinogram（SG）を作成する。
○

ri2tg_[W,F,D] RI/ nameFile VLR_file {layer1 layer2} Dr Or t0 TG_format○

rr2tg_[W,F,D] RR/ nameFile VLR_file {layer1 layer2} {-}L/U Or t0 TG_format
吸収もしくは位相の CT 画像（tomogram、TG）を再構成する。

とりあえずここまで。

Date:

Wed, 10 Feb 2016 16:21:26 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-1

みなさま、
GSJ/AIST のなかのです。SIXM の画像再構成⽤の新しい計算機プログラムに導⼊した「RAW 形式」の画像フ
ァイルに関する以下の話をします。
(1) RAW 形式の画像ファイルについて(2) プログラム his2raw_[B,W,F,D] の機能と使⽤法(3) プログラム his2raw_[B,W,F,D] のベンチマークテスト(1) RAW 形式の画像ファイルについて
SIXM ⽤の新しい計算機プログラムに導⼊した RAW 形式の画像ファイルの実態は以下の２種類の TIFF 形式
画像ファイルのいずれかです。
整数の画素値を保持している TIFF 画像ファイル
計算機のメモリ上の浮動⼩数点数の値を変換した整数画素値を保持している TIFF 画像ファイル。従来もこの⽅式を採⽤していたが、tg2tg を除くプログラムでは画素値の変換処理に必要な係数値の管理をユーザに任せていた。RAW 形式画像ファイルにはその値（正確には保持している画像の浮動⼩
数点数の画素値の最⼩値と最⼤値）が TIFF の image description tag（画像のコメント；ASCII ⽂字列）として埋め込まれており、新しいプログラムはそれを使って画像ファイルの読み込み時に整数画
素値を浮動⼩数点数の値に⾃動的に変換する。

37 / 194

なお、整数画素値として８もしくは 16 ビット⻑の値を保持するものを RAW_B（byte）もしくは
RAW_W（word）形式の画像と呼んでいる。raw2tiff 以外の新しいプログラムではこれら以外の整数
画素値の画像を出⼒できないが（正確には、そのような画像を出⼒するプログラムをコンパイルする設定にしていないが）、raw2tiff を使えばそれらから１〜 32 ビット⻑の整数画素値の（RAW_1〜32形式）画像のファイルを作成することができる。
浮動⼩数点数の画素値を保持している TIFF 画像ファイル
この E-mail に添付した PDF ファイル float.pdf に記してあるように、TIFF 画像ファイルには画素値として計算機のメモリ上のものと同じ IEEE754 規格の単精度（float；４バイト⻑）および倍精度（double；８バイト⻑）の浮動⼩数点の値を保持できる。新しいプログラムではこれらそれぞれの浮動⼩数点数の画素値を保持しているものを RAW_F および RAW_D 形式の画像と呼んでいる。
なお、新しいプログラムはこれを使⽤しないが、RAW_[F,D] 形式の画像ファイルにも TIFF の image
description tag として浮動⼩数点数の画素値の最⼩値と最⼤値が埋め込まれている。
raw2tiff 以外の新しいプログラムは出⼒する RAW_[B,W,F,D] 形式画像に応じた名前になっています。しかしながら、読み込む RAW 形式画像ファイルに関して注意を払う必要はありません。新しいプログラムは読み込
んだ RAW 形式画像上の画素値を（必要なら整数値から変換して）浮動⼩数点数の値として処理します。それゆえ、後で紹介するように、RAW_B 形式の X 線投影の画像から X 線吸収の画像を再構成することなども可能です（それが可能なだけではなく、ぼくが試した限りではそのような再構成画像の画質や CT 値の精度にも問題がなかった）。
RAW 形式の画像ファイルには TIFF の image description tag としてその画像の浮動⼩数点数の画素値の最⼩値と最⼤値が記録されていますが、新しいプログラムはそれ以外の従来のプログラムが書き込んだ、画素値の変換係数の値などを含んでいる以下の５種類の image description tag を受け付けます。
[1] 新しいプログラムが出⼒する RAW 形式画像の image description tag
２個の値 min（最⼩値）と max（最⼤値）が記録されている。
[2,3] ⼤昔のプログラムが出⼒する TIFF 画像（２種類アリ）３個の値 dr、base と step
４個の値 f1、f2、base と step
ただし、
dr：正⽅形画素の辺⻑
f1 と f2：もとの画像上の浮動⼩数点数画素値の最⼩値と最⼤値
base と step：変換係数の値（浮動⼩数点数の画素値 = base + step × 整数画素値）[4,5] 従来の画像再構成関連のプログラムが出⼒する TIFF 画像（２種類アリ）６個の値 dr、r0/dr、M、t0、min、max

38 / 194８個の値 dr、r0/dr、M、t0、f1、f2、base、step
ただし、
r0/dr：detector offset（DO）の値
M：画像再構成に⽤いた投影画像の枚数（投影数）
t0：サンプル回転⾓のバイアス値（単位は度）
min、max、f1、f2、base および step：前記のものと同じ浮動⼩数点数の画素値を保持している TIFF 形式画像を X-Window で閲覧できるように画像ビュワーxv を改造しました。RAW_[F,D] 形式画像の浮動⼩数点数の画素値をそれらの最⼩値と最⼤値で正規化した８ビット輝度値にして表⽰します。改造した xv のソースコードなどを以前と同じ下記の書庫ファイルに⼊れておきました（xv のインストール法も下記の PDF ファイルに記した通りです）：
http://www-bl20.spring8.or.jp/~sp8ct/tmp/xv-hipic.tar.gz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/xv-hipic.pdf
なお、RAW_F 形式の画像は ImageJ や Irfanview で問題なく表⽰できましたが、RAW_D 形式の画像はそれらでは取り扱うことができませんでした。
(2) プログラム his2raw_[B,W,F,D] の機能と使⽤法
SIXM の測定では X 線のマイクロビーム（正確には、thin beam）でサンプルをスキャンします。このビームの横幅は X 線 CT に⽤いる透過 X 線強度や屈折率勾配（微分位相）の画像の画素の横幅より狭く、また、縦⽅向はそれらの画像の領域全体をカバーしています。HIS 形式のファイルにはサンプル透過時に横⽅向に屈折したビームの内部の X 線強度の空間分布（refraction profile、RP）の画像 H(r,p,z,v) とそれらの補正⽤の複数の暗電流画像 D(p,z) のデータが記録されています。ただし、座標値 r、p、z、v の意味は以下の通りです。
r
SIXM のスキャン位置もしくは X 線 CT ⽤の画像上の横⽅向の座標値。なお、このスキャンの幅および画像上の画素の横幅の実⼨を Dr とする。
p
RP 画像の横⽅向の座標値。その横画素数を Np、画素の横幅の実⼨を U とする。ただし、これまでに参加した２回の SIXM 実験では Np = 128 かつ U = 103.896 μm だった。
z
RP と X 線 CT ⽤の両画像の縦⽅向座標値。その画素の縦幅実⼨は Dz。
v
サンプルの 180 度回転の回転⾓に対応した投影番号（０〜）。
プログラム his2raw_[B,W,F,D] はまず HIS 形式ファイル上の複数枚の暗電流画像の画素ごとの値を平均した

39 / 194
画像 <D(p,z)> を作成し、それを⽤いて RP 画像のそれぞれの画素の X 線強度の値の暗電流補正を⾏います。
I(r,p,z,v) = H(r,p,z,v) - <D(p,z)>
その後、以下の２種類の画素の値を計算し、それぞれを RAW_[B,W,F,D] 形式の投影番号 v =０〜 に応じた
名前の画像ファイルに書き込みます。
⽣の X 線強度値（raw X-ray intensity、RI）
RI(r,z,v) = Σ_p=0〜Np-1 I(r,p,z,v) / Np
← RP の平均値 ∝ X 線ビーム全体の（透過）X 線強度
⽣の X 線屈折量（raw X-ray refraction、RR）
RR(r,z,v) = Σ_p { p × I(r,p,z,v) } / Σ_p I(r,p,z,v)← RP の重⼼の位置 ∝ X 線ビームの屈折量（屈折⾓）プログラム his2raw_[B,W,F,D] の具体的な起動法は以前に記した通りです：
his2raw_B HIS_file scans viewsRangeList darks RI_format RR_format
his2raw_W HIS_file scans viewsRangeList darks RI_format RR_format
his2raw_F HIS_file scans viewsRangeList darks RI_format RR_format
his2raw_D HIS_file scans viewsRangeList darks RI_format RR_format
また、これらの起動パラメータの意味は以下の通りです。
HIS_file
HIS 形式ファイルのパス名（これまでに得たファイル名はすべて a.HIS）
scans
SIXM のサンプル回転⾓ごとのスキャンの数。HIS 形式ファイルとともに作成されたログファイル（a.log）の１⾏⽬のコンマ区切りの５個の数値のうちのの最初の値を指定すれば良い。
viewRangeList
RAW 形式画像に書き込む投影画像の番号（前記の v =０〜）の値域を表すリスト（range list）。以下のような書式で指定することができる。
-：すべての投影画像
0：最初の投影画像
0,100：番号０もしくは 100 の画像
0-100 もしくは -100：番号０から 100 の画像すべて
通常はハイフン "-" を指定して画像すべてを選択すれば良い。なお、投影番号の上限は a.log の１⾏⽬のコンマ区切りの２番⽬の数値から１を引いた値である。

40 / 194
darks
HIS 形式ファイルに格納されている暗電流画像の枚数。a.log の１⾏⽬のコンマ区切りの３番⽬の値を指定すれば良い。
RI_format と RR_format
これらは前記の画素値 RI もしくは RR のそれぞれを書き込む整数値の投影番号（v =０〜）ごとのRAW 形式画像を格納するファイルのパス名を決める、C ⾔語の標準関数 sprintf() にそのまま引き渡す format の⽂字列。以下のような⽂字列を指定すれば良い。
RI/%d
ディレクトリ RI（あらかじめ作成しておく必要がある）の下の投影番号を名前とするファイル（RI/0 など）に書き込む。
RI/%03d
RI の下に左０埋めした３桁で表した 000 のような投影番号を名前とするファイル（RI/000など）に書き込む。
RI/%03d.tif
拡張⼦として ".tif" を付けた名前のファイルに書き込む。
なお、これらの⽂字列としてハイフン "-" を指定するとその RAW 形式画像ファイルを作成しない。
注
Windows のバッチファイルでは "%" は特殊記号として取り扱われます。そう解釈されないように"%" の代わりに "%%" を指定して下さい。
his2raw_[B,W,F,D] は投影番号ごとの RI と RR の RAW 形式画像を出⼒すると同時に個々の画像に含まれる浮動⼩数点数画素値の最⼩値と最⼤値などの以下の５個の数値をタブコード区切りの⾏構成で標準出⼒に書き出します。
１番⽬の数値：投影番号２および３番⽬の数値：RI の最⼩値と最⼤値
４および５番⽬の数値：RR の最⼩値と最⼤値(3) プログラム his2raw_[B,W,F,D] のベンチマークテスト
his2raw_[B,W,F,D] のベンチマークテストを⾏いました。その詳細はこの E-mail に添付した PDF ファイル
his2raw.pdf に記した通りです。また、この E-mail に添付したバッチファイル his2raw.bat.txt（ファイル名の拡張⼦ ".txt" を削除してお使い下さい）を使えば 64 bit Windows の上で同様なベンチマークテストを実⾏できます。ただし、そのためには書庫ファイル
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zipに⼊っている his2raw_[B,W,F,D].exe と41 / 194
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sp8ct.zipの中のプログラムの実⾏時間計測⽤のコマンド stop_watch.exe をインストールしておく必要があります。さらに、ベンチマークテストで使⽤する測定 150602d の HIS 形式ファイル a.HIS も必要です（その置き場所を
バッチファイルの先頭付近で変数 his に設定しているので、その部分を適当に書き換えて下さい）。
his2raw.pdf に記したベンチマークテストの結果から以下のことがわかります。
his2raw_[B,W,F,D] の処理時間
これは使⽤した計算機環境によって⼤きく異なっているが、出⼒した画像の RAW_ [B,W,F,D] 形式
が違っても処理時間はほとんど変わらない。SPring-8 の vrm と同程度の計算機なら 18 GB 弱の HIS
形式ファイルを１分弱で処理できる（つまり、１GB あたりの処理時間は４秒弱）。
作成した RI と RR の画像のサイズ
RAW_[B,W,F,D] 形式の画像のいずれでも HI 形式のファイルに⽐べてべらぼうに⼩さくなる。実戦でこれらのどの形式を使うかが問題だが、いずれにせよ RAW 形式の画像にしておくと様々な意味で⾮常に便利。
とりあえず以上です。
添付ファイル float.pdf
http://www-bl20.spring8.or.jp/~sp8ct/tmp/float.pdf
添付ファイル his2raw.bat.txt@echo off
rem set his=150602d\a.HIS
set his=..\150602d\a.HIS
set svd=401 - 100
for %%r in (B W F D) do (mkdir ri_%%r rr_%%rset /p _=%%r <nulstop_watch ^his2raw_%%r %his% %svd% ri_%%r\%%04d.tif rr_%%r\%%04d.tif >raw_%%r.log 2>_
type _ & del _)42 / 194
添付ファイル his2raw.pdf

43 / 194
Date:

Fri, 12 Feb 2016 18:16:39 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-2

みなさま、なかのです。先程の E-mail に書き忘れていたことがありましたので、それを追記しました。先程の E-mail を破棄してこちらをお読み下さい。ぼくの不注意でサイズの⼤きな E-mail を再送することになってすみません。
---------------みなさま、
GSJ/AIST のなかのです。⼀昨⽇の E-mail の以下の話の実例を紹介します。
On Wed, 10 Feb 2016 16:21:26 +0900 Tsukasa NAKANO wrote:> raw2tiff 以外の新しいプログラムは出⼒する RAW_[B,W,F,D] 形式画像に応じた名前になっています。
> しかしながら、読み込む RAW 形式画像ファイルに関して注意を払う必要はありません。新しいプログ> ラムは読み込んだ RAW 形式画像上の画素値を（必要なら整数値から変換して）浮動⼩数点数の値として> 処理します。それゆえ、後で紹介するように、RAW_B 形式の X 線投影の画像から X 線吸収の画像を再構> 成することなども可能です（それが可能なだけではなく、ぼくが試した限りではそのような再構成画像の> 画質や CT 値の精度にも問題がなかった）。
先⽉末から今⽉初めの E-mails で紹介したように、ぼくは新しいプログラムを使って昨年 11〜12 ⽉の SIXM
実験で撮影した 25 測定の吸収と位相の CT 画像すべてを再構成しました。その「本番」の処理では⼀昨⽇のE-mail で紹介したプログラム his2raw_F で HIS 形式ファイルから取り出した RAW_F（単精度浮動⼩数点数の画素値；32 ビット⻑）形式の RI（raw X-ray intensity）と RR（raw X-ray refraction）の投影画像を使いましたが、それを他の RAW 形式の画像に代えた場合に再構成画像はどうなるのか？
以下の７種類の RAW 形式の投影画像のそれぞれを使った吸収と位相の CT 画像の再構成を⾏ってみました。
RAW_[W,B] 形式の画像
his2raw_[W,B] で HIS 形式ファイルから直接取り出した 16 もしくは８ビット⻑の整数画素値を保持している投影画像。
RAW_[8,7,6,5,4] 形式の画像
本番の画像再構成で⽤いた RAW_F 形式の RI と RR の画像からプログラム raw2tiff で変換した８〜
４ビット⻑の５種類の整数画素値のそれぞれを保持している投影画像。ただし、RAW_8 形式画像は

44 / 194
原理的には RAW_B 形式のものと完全に⼀致するはずだが、raw2tiff による変換で⽣じる計算誤差を評価するために RAW_8 形式の画像も試した。
ここでは RAW_F 形式の投影画像を使⽤した本番の画像再構成の処理の⼿順の説明は省略します。今回の試⾏
ではその最初に実⾏した RI と RR の作成法だけを以下のように変えました（例として測定 151127c に対する処理を⽰します）。
本番の画像再構成に⽤いた RAW_F 形式の投影画像の作成法
chdir 151127c
mkdir

ri

rr

his2raw_F a.HIS

501- 100 ri/%03d.tif rr/%03d.tif > raw.log

chdir ..
RAW_[W,B] 形式の投影画像の作成法（RAW_W 形式の作成法だけ⽰します）
chdir

raw_W/151127c

mkdir

ri

rr

his2raw_W ../../151127c/a.HIS 501 -100 ri/%03d.tif

rr/%03d.tif > raw.log

cd ../..
RAW_[8,7,6,5,4] 形式の投影画像（RAW_8 形式の画像の作成法だけ⽰します）
chdir

raw_8/151127c

mkdir

ri

rr

raw2tiff../../151127c/ri - 8 ri

> ri.log

raw2tiff../../151127c/rr - 8 rr > rr.log

chdir ../..
このようにして作成した RAW_[W,B,8,7,6,5,4] 形式の投影画像のそれぞれに対して本番で使⽤したパラメー
タを流⽤した、本番のものとまったく同じ⼿順を踏んだ画像再構成の処理を⾏いました。
---------------話が逸れますが、RAW_[8,7,6,5,4] 形式画像の作成に⽤いたプログラム raw2tiff について説明しておきます。
その起動法は 2/2 の E-mail に記した通りです。
raw2tiff RAW/

nameFile {base step}

BPS TIFF/

また、その起動パラメータの意味は以下の通りです。
RAW/
変換前の RAW 形式画像ファイルを⼊れたディレクトリの名前

45 / 194
nameFile
ディレクトリ RAW/の下の処理に⽤いる RAW 形式画像ファイルの名前を投影番号などに応じた順で各⾏に並べたテキストファイルの名前。その代わりとして以下の６種類の簡略記法も受け付ける。
-（１個のハイフンのみ）
上記のディレクトリ RAW/ の下にあるファイルすべてを選択する。ただし、それらのファ
イル名の⽂字列の辞書的順番（rexical order）で読み込み処理などを⾏う。
-ファイル名
１個のファイルだけを選択する（引⽤符号で囲めば、複数個のファイルをここで選択することもできる）。
--r"-" の場合と同じく RAW/ の下のファイルすべてを選択するが、それらが辞書的順番の逆順で並んでいるものとする。
--n"--r" と同様だが、ファイルの順番は⽂字列に埋め込まれている数値の昇順。この記法はファイル名が左０埋めしていない数値の場合に有効。
--nr もしくは --rn"--n" と同様だが、ファイルの順番は⽂字列が表す数値の降順。
base と step
変換前の RAW 画像の浮動⼩数点数画素値と変換後の整数画素値の対応関係を表す係数値（浮動⼩数
点数画素値 = base + step × 整数画素値）。これらの値の指定は省略可能で、その場合には浮動⼩
数点数の画素値の最⼩値と最⼤値で正規化した整数画素値になる。
BPS
変換後の整数画素値のビット数（１〜32 の⾃然数）
TIFF/
変換後の整数画素値の RAW 形式画像のファイルを⼊れるディレクトリの名前。ただし、このディレ
クトリは事前に作成しておく必要がある。変換後の画像は変換前のものと同じ名前のファイルに書き込まれる。
raw2tiff は画像を変換すると同時に変換前の RAW 形式画像に含まれていた浮動⼩数点数画素値の最⼩値と最⼤値などの３個の数値をタブコード区切りの１⾏にまとめて標準出⼒に書き出します。
１番⽬の数値：読み込んだ RAW 形式画像の順番（０〜）２および３番⽬の数値：浮動⼩数点数画素値の最⼩値と最⼤値---------------さて、SPring-8 での通常の X 線（吸収）CT の場合と同様に再構成した吸収と位相の３次元 CT 画像のそれぞれを RAW_W 形式の画像（スライスごとにそこに含まれている浮動⼩数点数画素値の最⼩値と最⼤値で正規化した 16 ビット⻑の整数画素値の画像）に格納した後、プログラム tg2tg を⽤いてそれらから以下の２種類

46 / 194の８ビット⻑の整数画素値の画像（RAW_B 形式画像）を作成しました。
for others（密度と化学組成が不明な「その他のサンプル」；４測定アリ）
空気の画素値が０で、３次元再構成画像上のサンプル像だけが含まれるスライス画像の LAC や RIDの推定値（CT 値）の最⼤値を 255 とした８ビット⻑整数画素値の画像。ぼくはこれを byte 画像と呼んでいる。
for standards（密度と化学組成が既知の「標準サンプル」；21 測定アリ）空気の画素値が０で、以前に紹介したプログラム lac_cm と rid_cm のそれぞれにサンプルごとの密度と化学組成を指定して計算した（SIXM 実験で⽤いた）X 線エネルギー ８keV における LAC とRID の理論値を整数画素値 100 に対応させた８ビット⻑整数画素値の画像。ぼくはこれらの画像を
lac もしくは rid 画像と呼んでいる。
others に対して 2/3 の E-mail に添付した PDF ファイルのものと同様な図を作りました。この E-mail に添付
した others.pdf です。１ページ⽬は 2/3 の E-mail に添付した図と同じもので、本番の画像再構成で得た４測定の吸収と位相の図を左右に並べました。これらの図はそれぞれ byte 画像の３枚の代表的な断⾯（吸収と位相の画像で同じ位置です）と byte 画像の３次元画像全体の画素値ヒストグラムの合計４個が組になっています。また、２ページ⽬以降は右肩の括弧内に記した RAW 形式の投影画像から再構成した byte 画像に関する図で、そのレイアウトは１ページ⽬のものとまったく同じです。
これらを眺めても本番のものと RAW_[W,B,8,7,6,5,4] 形式の投影画像から再構成した others のサンプルの
byte 画像の画質の違いはよくわかりません。ひと⽬で画質の劣化がわかるのは測定 151130f（サンプル Kogiso）の RAW_4 形式の投影画像から再構成した画像だけで、その物体像には「モアレ」状の偽像が発⽣しています。
他の others サンプルに⽐べるとサンプル Kogiso には内部組織がないので、再構成画像の画質の劣化が⽬⽴つのかもしれません。
standards に対しては２個の PDF ファイルを作りました。この E-mail に添付した standards.pdf とstandards_ratio.pdf です。前者の各ページには右肩に記した 21 個の測定それぞれの RAW_[F,W,B,8,7,6,5,4]
形式（左端のラベル；ただし、本番のものにはラベルを付けていない）の投影画像から再構成した lac と rid
画像の上の代表的なスライス（lac と rid 画像で同じ位置です）の画像とそれぞれの３次元画像全体の画素値
ヒストグラムの図を並べて表⽰しています。
standards_ratio.pdf は（サンプルの LAC や RID の理論値に相当する）画素値 100 付近のヒストグラムのピークの位置に関する情報を記した表です。ただし、この表で使っている記号 CTV_F は RAW_F 形式の投影画像から再構成した lac や rid 画像の、また、CTV は左端のカラムに記されている RAW 形式の投影画像から得た再構成画像のヒストグラムのピークの位置です。1/30 の E-mail で本番の再構成画像に関する⽐の値
CTV_F/LAC と CTV_F/RID の様相を紹介しましたが、CTV に関してもこれらの⽐の値を計算し、それらの差の値 (CTV-CTV_F)/LAC や (CTV-CTV_F)/RID が違っているものだけを standard_ratio.pdf に載せました。
なお、lac および rid 画像は LAC と RID の論値を画素値 100 に対応させているので、それらから計算した⽐47 / 194の値の「単位」は 0.01 です。それを考慮して決めた⻘（差の絶対値が 0.02〜0.04）、緑（0.05〜0.09）および⾚（0.10 以上）で CTV と CTV_F の⽐の値が⼤きく異なる測定を⾊付けして表⽰しました。
これらより、どの標準サンプルの測定でも RAW_4 形式の投影画像から再構成した画像だけがダメなことがわかります。そして、それ以外の RAW 形式の投影画像から再構成した画像は⾒た⽬では区別できません。また、
CT 値と LAC や RID の理論値の⽐の値に関しても同様で、少なくとも RAW_B 形式の投影画像を使って再構成した吸収および位相画像の両⽅の CT 値に問題はないと思われます。吸収画像よりも位相画像の⽅が少ない
ビット数の投影画像から再構成した画像の画質が良いのは、「位相画像の⽅が感度が良い」と⾔うことかな？
とりあえず以上です。
添付ファイル others.pdf
８ページもあるので省略します。
添付ファイル standards.pdf
21 ページもあるので省略します。

48 / 194
添付ファイル standards_ratio.pdf（１ページ⽬）

49 / 194
添付ファイル standards_ratio.pdf（２ページ⽬）

50 / 194
Date:

Fri, 12 Feb 2016 20:45:31 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-3

みなさま、
GSJ/AIST のなかのです。2/2 の E-mail で紹介した SIXM ⽤の書庫ファイル
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zipに⼊れたもののうち check_his と his2tiff は以前の SIXM ⽤の書庫ファイル
http://www-bl20.spring8.or.jp/~sp8ct/tmp/his.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/his.zipに⼊っているものと同⼀です。つまり check_his と his2tiff は新しい計算機プログラムではありません（すみません）。昨年の 6/17 の E-mail にこれらの機能と使⽤法の説明があったので、念のためここにそれを転記します。なお、his2tiff の起動パラメータ rangeList による投影番号の指定法の書式は⼀昨⽇の E-mail で説明した新しいプログラム hi2raw_[B,W,F,D] の viewRangeList のそれとまったく同じです。また、出⼒ファイルの名前を決める format も RI_format や RR_format のものと同様です。とり急ぎ
2015/6/17 の E-mail
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=6

Date:

Sat, 13 Feb 2016 16:14:14 +0900

From:

Tsukasa NAKANO

To:

上杉

Cc:

Akira TSUCHIYAMA, Akihisa TAKEUCHI, MATSUNO Junya, "Aki Takigawa",
Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: Re: new_programs_for_SIXM-2

うえすぎさま、なかのです。E-mail ありがとうございます。
(1)
今時のカメラには AGC（auto gain controler）が付いていますよね。被写体の明るさに応じて露光時間を適当に調節してくれる機能（HiPic なら画像の輝度のヒストグラムの表⽰画⾯の横にある "*" ボタンを押すことに51 / 194
相当する機能）です。もしかしたらそちらで使っているカメラにも AGC が付いているかもしれません。多数の投影画像を「混ぜて」使う CT では個々の画像のゲイン（検出器の感度）が異なっているのはダメではないかと思っていましたが、今回のテストでそうなっていても問題なしだということがわかりました。
(2)
HIS 形式ファイルの画像を 16 ビットから８ビットにした場合に CT に使えるかどうかは不明です。吸収 CT ⽤のデータは多分問題ないと思いますが、位相⽤のデータは refraction profile の重⼼の位置なので、...、よくわ
かりません。
(3)
画像再構成では極（円柱）座標系の Fourier 空間の「格⼦点」に分布しているデータから直交座標系の実空間の格⼦点のデータを「補間」しているので、CT 画像が持っている情報量は空間的に不均質です。GPU を導⼊する前に検討した「fast FBP / CBP 法」は、このような CT の情報量の空間的な不均質性を利⽤して画像再構成を⾼速化する⼿法でした。
(4)
この E-mail に添付した２個の GIF ファイルを御覧下さい。
151130n_a_250.gif
測定 151130n の吸収画像（a）のスライス 250 に対する画像再構成のテストの結果。ただし、左端の縦⻑の画像は X 線投影値の sinogram。それ以外の５×５個の正⽅形画像はそれぞれの左上隅に記したサンプルの回転中⼼の位置を指定して再構成した画像。
151130n_p_250.gif
151130n の位相画像（p）のスライス 250 の画像再構成のテストの結果。ただし、左端の画像は原点補正していない X 線屈折率勾配の sinogram。 残りの５×５個の画像の意味は吸収の場合と同じ。
これらの sinograms より、測定 151130n でサンプル Nano-1 は「動いていない」ようです。それに含まれている吸収の⼤きい粒⼦が動いているように⾒えるのは画像再構成の際に指定したサンプルの回転中⼼の位置が良くなかったためです。
ぼくは、０度と 180 度の投影画像から推定したサンプル回転中⼼の位置 Or のうち、同時に調べた「縦ずれ」の値 dz が⼩さかった X 線の屈折率勾配の投影画像から推定した位置を画像再構成に使いました。
０度と 180 度の
X 線投影画像からの推定値：Or = 146（dz = 4）
X 線屈折率勾配の投影画像からの推定値：Or = 146.5（dz = 2）
これらは０度と 180 度の画像の値の RMSD が最⼩な点ですが、RMSD のマップを眺めると X 線の屈折率勾配の投影画像の RMSD のマップの⽅が「⾕」が狭い感じだったので Or = 146.5 を使えば OK だと考えました。

52 / 194
しかし、実際の再構成ではその値ではダメだった。151130n_a_250.gif の吸収画像では Or = 144 を使えば良いように⾒えますが、151130n_p_250.gif の位相画像では Or = 146 の画像の⽅が良い感じがする。こういう場合にはどうすべきか？
とりあえず以上です。
On Sat, 13 Feb 2016 04:45:18 +0900 Kentaro Uesugi wrote:> 中野さん>> 上杉です> ありがとうございました。
>> > これらより、どの標準サンプルの測定でも RAW_4 形式の投影画像を使って再構> > 成した画像だけがダメなことがわかります。そして、それ以外の RAW 形式の投> > 影画像から再構成した画像は⾒た⽬では区別できません。また、CT 値と LAC や>> これが衝撃的でした。まだうまく理解出来てないかもしれませんが、> 1bit の違いに意味がある条件下では 8bit のデータでも⼗分と⾔うことでしょうか。
> また、これならば、his -> raw の課程でデータ量をさらに減らせそうです。
> （漠然と 32bit くらいかな、と思っていたので）> この辺から妄想⼊りますが、his を 16bit から 8bit にしたら何が起こるんだろう。
> あるいは、投影像が 16bit の場合、ＣＴ像は⼀体何ビットの情報を持つことになるのか。
> などと悩みはつきない感じです(後者は医療⽤装置の⼈が考えてそうですね)。
>> ところで、Nano-1 の z=250 に⾒えている試料内部の粒⼦が動いているように⾒えますが、> アレは何でしょう？試料そのものの外形はそれほどでもなさそうなので、ちょっと気になりました。

Date:Sat, 13 Feb 2016 16:41:40 +0900

From:

Tsukasa NAKANO

To:

上杉

Cc:

Akira TSUCHIYAMA, Akihisa TAKEUCHI, MATSUNO Junya, "Aki Takigawa",
Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: Re: new_programs_for_SIXM-2

うえすぎさま、なかのです。すみません。先程の E-mail に書いた(1)は投影画像ごとに refraction profile の総和（I0）やその重⼼の原点の位置（空気の屈折量）を補正せざるをえない SIXM 限定の話でした。通常の CT ではダメですね。

53 / 194
添付ファイル 151130n_a_250.gif

添付ファイル 151130n_p_250.gif

54 / 194
Date:

Sat, 13 Feb 2016 17:06:13 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

Kentaro UESUGI, Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: Re: new_programs_for_SIXM-2

つちやまさま、なかのです。昨年 11〜12 ⽉の SIXM 実験で撮影した画像の再構成に使ったのは以前に紹介したぼくが書いたプログラムですよね？ これは HIS 形式のファイルから取り出した透過 X 線強度と（原点補正をしていない）
X 線屈折率勾配の値を 64 ビット⻑の浮動⼩数点数として保持しているファイル（RAW_D 形式画像に相当）を使っているので、昨⽇の E-mail で紹介した RAW_4 形式の投影画像を使って再構成した画像のようにはな
るとは思えません。
問題は I0 などの補正⽤の値をサンプリングする投影画像の左右端の空気の部分の選択の仕⽅です。新しいプ
ログラムならそれをきちんと処理できますが（その処理の詳細は今後紹介します）、以前のプログラムではそれを⾏うのは難しい。そのため、ぼくが新しいプログラムで再構成した CT 画像の画質はそちらの画像のものと⼤きく違っているかもしれません。とり急ぎ、On Sat, 13 Feb 2016 10:02:30 +0900 Akira TSUCHIYAMA wrote:> 中野さん、上杉さん> c.c.松野くんほか>> 2/17 から北海道でシンポジウムがあり、これで先⽇の SIXM の標準物質撮影の> 結果も⼊れて、発表を予定しています。
>> 京⼤で再構成したデータで議論するつもりで解析をしていたので、中野さんの> ⼤量の情報について⾏けなくなっているというのが、現状です。
>> 京⼤で再構成したものと、中野さんの pdf ファイルを⽐べると、 RAW_4 形式の> ようにはなっていないので、⼤丈夫だと思うのですが、その理解でいいでしょうか？

55 / 194
Date:

Thu, 18 Feb 2016 19:29:33 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-4

みなさま、
GSJ/AIST のなかのです。SIXM ⽤の新しい計算機プログラムのうちで説明がちと難しい「VLR_file」を使わな
い以下の６個について先に説明します。
On Tue, 02 Feb 2016 13:57:55 +0900 Tsukasa NAKANO wrote:> × raw2bin RAW/ nameFile file.bin>

RAW 形式の画像群を１個のバイナリファイルにまとめる。

> × bin2raw_[F,D] file.bin rangeList RAW_format>

バイナリファイル上の画像群を RAW_[F,D] 形式のものに変換する。

>> △ hp2xp_[B,W,F,D] HiPic/ {y1 y2}|{x1 y1 x2 y2} XP_format> △ hp2xt_[B,W,F,D] HiPic/ {y1 y2}|{x1 y1 x2 y2} XT_format>

SPring-8 の通常の X 線 CT 実験などで得た HiPic 形式の測定画像の>シーケンスから X 線投影（XP）もしくは透過率（XT）の値を計算し、>それらの投影画像群を RAW_[B,W,F,D] 形式のファイルとして格納する。

>> × xp2dpc_[B,W,F,D] XP/ nameFile {Dr} DPC/>

投影画像のそれぞれを x ⽅向に微分した画像を合成する。

> × dpc2xp_[B,W,F,D] DPC/ nameFile {Dr} XP/>

x ⽅向の微分値が⼊った画像を線積分してもとの投影画像に戻す。

(1) hp2xp_[D,F,W,B] と hp2xt_[D,F,W,B]
これらのプログラムは指定されたディレクトリ（HiPic/）の下の通常の X 線 CT 実験で得た以下の３種類のファイルをスキャンして、測定画像のそれぞれの画素の XP や XT の値を計算します。
dark.img（もしくは d.img）
X 線 CT 測定の最初に撮影する暗電流画像のファイル
output.log
SPring-8 の通常の X 線 CT の測定シーケンスのログファイル

56 / 194
q*.img（ただし、"*" は１から始まる左０埋めしたシーケンス番号）
X 線 CT ⽤に撮影した⼊射もしくは透過 X 線強度画像のファイル
ただし、起動パラメータで処理対象とする測定画像の上の領域を指定できます。
２個の整数座標値 y1 と y2 を指定した場合
画像上の y 座標値が y1〜y2 の領域
４個の座標値 x1、y1、x2、y2 を指定
画像上の x1≦x≦x2 かつ y1≦y≦y2 の矩形領域
領域指定なしの場合
測定画像の全領域
そして、計算した XP や XT を画素値とする投影画像を format 記述⽤の⽂字列 XP_format や XT_format で決めた投影番号ごとの名前の、プログラムの名前に応じた RAW 形式画像のファイルに書き込みます。また、それと同時に、投影画像それぞれの投影番号と XP や XT の（浮動⼩数点数の）最⼩値および最⼤値の合計３個の数値をタブコード区切りの⾏として標準出⼒に書き出します。
話が先⾛りますが、ぼくは hp2xp_F で作成した XP の投影画像を⽤いて SIXM の吸収 CT の画像再構成⽤に書いたプログラム ri2tg_W のベンチマークテストを⾏いました。その詳細はこの E-mail に添付した PDF ファイ
ル hp2xp2tg.pdf に記した通りです。また、バッチファイル jc_T.bat（この E-mail に添付したものの名前の拡
張⼦ ".txt" を削除して下さい）を使えば、64 bit Windows の上でも同様なテストを実⾏できるはずです。
jc_T.bat を実⾏するには 2/10 の E-mail で紹介した his2raw.bat の場合と同様なプログラム stop_watchなどのインストールが必要です。また、jc_T.bat は hp2xp_F の処理時間と、使⽤したスレッド数ごとのri2tg_W の処理時間の値を⾜し算せずにこの順で逐次出⼒します。
ri2tg_W はまだ説明をしていない VLR_file を使っていますが、それは、hp2xp_F などで作成した通常のX 線 CT の XP の画像から画像再構成を⾏う場合には、以下の２⾏（４個の値）だけを含むファイルです。
- 0 0 ← 投影画像すべて（"-"）を無補正・無変換で使う。
$← 最後の１枚の投影画像（"$"）は再構成に使わない。

ただし、hp2xp2tg.pdf や jc_T.bat ではこの２⾏を標準⼊⼒から読み込むようにしてあります（ここではその詳しい説明は省略します）。
hp2xp2tg.pdf に⽰したように SIXM ⽤の新しい画像再構成プログラム ri2tg_W などの処理は以前のもの（xp2tg）よりもかなり⾼速になっています（ここではその理由の説明は省略します）。

57 / 194xp2tg や通常の X 線 CT で使っている画像再構成プログラムのベンチマークテストの結果などについては2015/7/7 の E-mail
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=26
を御覧下さい。それに添付したファイル xp2tg.txt に記載した以前の SIXM ⽤のプログラム（hp2xp +xp2tg）による画像再構成の総処理時間から計算した時定数（nano sec.）を以下に転記しておきます。
host

測定 040711j

020607a(jc by new program)gsjgix0.504929

0.410740(0.285550)

gsjvix0.564391

0.549062(0.430448)

vrm

0.702987

0.668382(0.517135)

ただし、これらは８スレッドで処理を⾏った時の値です。また、テストに⽤いた 040711j と 020607a の測定データの量は以下の通りです。
040711j1000 × 720 pixels × 360 views

020607a481 × 509 × 450

jc（hp2xp2tg.pdf で使⽤） 1512 × 96 × 900(2) raw2bin と bin2raw
これらは新しい RAW 形式の画像と SIXM ⽤の以前のプログラムなどで採⽤していたバイナリファイルの変換プログラムです。これらの起動パラメータの意味は his2raw や raw2tiff などのものと概ね同じです（わかりますよね？）。
これらのプログラムは当初はオマケ（×印）のつもりでしたが、先⽇の E-mail で紹介したサンプル回転軸の位置を様々に変えた SIXM の画像再構成のテストに raw2bin を使うとその処理時間を⼤幅（当社⽐ 1/10 以下？）に短縮できることに気づきました。それはこういうことです。SIXM ⽤には RI や RR の投影画像を⼊⼒して画像再構成を⾏うプログラム（前記の ri2tg_F など）しか⽤意していません。これらを使ってサンプル回
転軸の位置だけを変えた再構成を⾏うと、その都度 RI や RR の投影画像をスキャンするので、⻑い処理時間を要します。この処理を⾼速化するには以下の⼿順が有効です。
[1] RI や RR の投影画像から（まだ説明していない）プログラム "ri2sg_*" や "rr2sg_*" でテストに⽤いるスライスの sinogram を取り出し、[2] その RAW 形式画像を raw2bin でバイナリファイルに変換した後に、[3] そのファイルを通常の X 線 CT ⽤のプログラム "sg2tgs*" に⼊⼒してサンプル回転軸の位置を様々に変えた画像再構成を⼀挙に⾏う。
この⼿順の詳細は後で "ri2tg_*" や "rr2tg_*" のものと⼀緒に説明します。

58 / 194(3) xp2dpc_[D,F,W,B] と dpc2xp_[D,F,W,B]
プログラム xp2dpc_[D,F,W,B] は 2015/10/16 の E-mail
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=97
で紹介した「位相 CT シミュレータ（xp2dp）」と同じ内容の処理を同じ⼿法で⾏うプログラムです。ただし、起動パラメータとして指定する⼊出⼒画像をバイナリファイルのものから RAW 形式の画像に変えました。
dpc2xp_[D,F,W,B] は xp2dpc_[D,F,W,B] による処理とは逆の、画像上の x ⽅向の微分値（勾配）からもとの投影値を推定する（位相回復する）プログラムです。ただし、以前の位相回復⽤のプログラム ”dp2xp*” で採⽤していた Martino 論⽂の「怪しげな⼿法」は使わず、単純な数値積分で位相回復を⾏います（後述）。
“dp2xp*” やそれで採⽤していた「怪しげな位相回復の⼿法」については昨年の 10/21〜12/28 の以下の４通の E-mails を御覧下さい。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=109
なお、xp2dpc と dpc2xp もオマケのプログラムのつもりでしたが、ぼくが⽤意した SIXM ⽤のプログラムには RR の画像から位相回復した値の投影画像を作成できるものがないので（位相回復した値の sinogram は作成できます）、それを作りたい場合には dpc2xp を使うほかありません。
(4) 数値積分による位相回復
プログラム xp2dpc と dpc2xp の作成時に数値微分と数値積分の⾮対称性に起因する問題に遭遇したので、その詳細を説明します。xp2dpc は中⼼差分で x ⽅向に等間隔（δ）で分布している投影値 f[x] の微分値 g[x] を計算しています：g[x] = ( f[x+1] - f[x-1] ) / ( 2 × δ )ただし、f[x] が x = 0、...、N-1 で与えられたとすると、この式は x = 0 と x = N-1 の点では使えません。そこで、これらの範囲外の点（画像の外部）では投影値が０と仮定して処理を⾏っています。
f[-1] = 0 → g[0] = f[1] /f[N] = 0 →(2 × δ )g[N-1] = - f[N-2] / ( 2 × δ )次に dpc2xp による位相回復ですが、これは与えられた g[x] の値から数値積分によって f[x] を推定する処理です。中⼼差分に対応する数値積分は上記の式を N 元連⽴⽅程式と⾒なして解くことに相当します。
N 元連⽴⽅程式の⾏列表現（●は⾏列とベクトルの積）[g]=H ● [f]/(2 × δ )59 / 194
その N×N 次の係数⾏列
H=[０、＋１、 ０， ０、 ０、…、 ０−１、 ０、＋１、 ０、 ０、…、 ００、−１、 ０、＋１、 ０、…、 ０…
０、…、 ０、−１、 ０、＋１、 ０
０、…、 ０、 ０、−１、 ０、＋１
０、…、 ０、 ０、 ０、−１、 ０]

問題はデータの個数 N が奇数の場合に上記の係数⾏列 H の⾏列式 |H| が０になることです。つまり、N が奇数なら与えられた g[x] の値からもとの f[x] の値を回復することは原理的に不可能です。
⼀⽅、N が偶数の場合には以下の２種類の漸化式を⽤いて g[x] からもとの f[x] の値すべてを回復することができます。
f[1] = g[0] × 2 × δ← 初期値

for x = 3, 5, ..., N-1（昇順の奇数）
f[x] = f[x-2] + g[x-1] × 2 × δ
f[N-2] = g[N-1] × 2 × δ

← 漸化式
← 初期値

for x = N-4, ..., 2, 0（降順の偶数）
f[x] = f[x+2] - g[x+1] × 2 × δ← 漸化式

このような問題を回避するため、dpc2xp では投影画像の横画素数（N）が奇数の場合にはそれが偶数となるよ
うに x = N の位置に微分値０を持つ画素を追加し、偶数個の画素値に対して上記の漸化式で位相回復の処理を⾏っています。
とりあえず以上です。

60 / 194
添付ファイル hp2xp2tg.pdf

61 / 194
添付ファイル jc_T.bat.txt@echo off
mkdir jc\xp
stop_watch hp2xp_F jc\raw jc\xp\%%03d.tif >jc\xp.log 2>_
type _ & del _for %%t in (1 2 4 8) do (set THREADS=%%tmkdir jc\tg_%%tset /p _=%%t <nul
( echo - 0 0
echo $ ) | stop_watch ^ri2tg_W jc\xp - - 0.01265985083148732085 755.5 0 ^jc\tg_%%t\%%02d.tif >jc\tg_%%t.log 2>_
type _ & del _
)

Date:

Thu, 18 Feb 2016 19:58:06 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-5

みなさま、
GSJ/AIST のなかのです。すみません。SIXM の位相画像の処理を⾏う（その詳細をまだ説明していない）新
しい計算機プログラムの起動法を 2/2 の E-mail に記したものから変えました。RID の値の計算に使う以下の２個の値を別々の起動パラメータとして指定できるようにプログラムコードを修正しました。
SDD：サンプルと検出器の間の距離。以前は記号 L で表していた。
Dp：refraction profile の測定画像の画素の横幅。以前の記号は U。
昨年の 11〜12 ⽉の SIXM 実験の時に使っていた古いプログラムでは各⾃が事前に計算した⽐の値
L/U を指定するようになっていましたが、それだと間違いやすいので２個の値を別々に指定できる
ようにしました。

62 / 194
具体的には以下の 13 個のプログラムの起動法を変更しました。
rr2dpc_bin
RR 画像のそれぞれの左右端の「余⽩」の部分を指定して計算した微分位相（differential phase
contrast、DPC）の投影画像群を１個のバイナリファイルにまとめる。
旧：rr2dpc_bin RR/ nameFile VLR_file sign DPC.bin
新：rr2dpc_bin RR/ nameFile VLR_file SDD {-}Dp DPC.bin
rr2dpc_gif
RR 画像から得た DPC 画像を１個の GIF 形式動画ファイルにまとめる。
旧：rr2dpc_gif RR/ nameFile VLR_file Bx By sign {{min max} DPC.gif}
新： rr2dpc_gif RR/ nameFile VLR_file Bx By SDD {-}Dp {{min max} DPC.gif}
rr2dpc_[B,W,F,D]（４個）
RR 画像から得た DPC の投影画像のそれぞれを RAW_[B,W,F,D] 形式のファイルに格納する。
旧：rr2dpc_[B,W,F,D] RR/ nameFile VLR_file Bx By sign DPC/
新：rr2dpc_[B,W,F,D] RR/ nameFile VLR_file Bx By SDD {-}Dp DPC/
rr2sg_[B,W,F,D]（４個）
DPC の sinogram（SG）を作成する。
旧：rr2sg_[B,W,F,D] RR/ nameFile VLR_file {layer1 layer2} {-}Dr/(L/U) SG_format
新：rr2sg_[B,W,F,D] RR/ nameFile VLR_file {layer1 layer2} SDD {-}Dp {Dr} SG_format
rr2tg_[W,F,D]（３個）
位相の CT 画像（tomogram、TG）を再構成する。
旧：rr2tg_[W,F,D] RR/ nameFile VLR_file {layer1 layer2} {-}L/U Or t0 TG_format
新：rr2tg_[W,F,D] RR/ nameFile VLR_file {layer1 layer2} SDD {-}Dp Or t0 TG_format
なお、以前に紹介した SIXM のプログラム⽤の書庫ファイルも更新済みです。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zip
とりあえず以上です。

63 / 194
Date:

Sat, 20 Feb 2016 13:02:36 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGICc:

⼟'⼭, ⽵内, 松野, 瀧川, 櫻間, ⾨川, 北⼭, 杉本, 三宅

Subject: Re: new_programs_for_SIXM-5

うえすぎさま、なかのです。E-mail ありがとうございます。SIXM ⽤の新しいプログラムの説明を終えていないのに⽂句を⾔って恐縮ですが、上杉くんの E-mail に添付されていたフローチャート（画像 SIXM_flow.png；添付しました）の以下のふたつの点に違和感を覚えました。
まず、プログラム his2tiff で HIS 形式ファイルから取り出せる TIFF 画像についてですが、これは his2raw で
HIS 形式ファイルから取り出せる RI や RR の画像と同列のものではなく、それらの「上流」に位置する「元データ」です。his2raw による RI と RR の画像の作成の⼿法に疑いを持たない普通のユーザは、２次元画像と⾔うよりも（X 線分光のスペクトルデータなどに近い形態の）１次元データ（プロファイル）の集合体である
his2tiff の TIFF 画像を使うことはないと思います。それゆえ、ぼくはプログラム his2tiff の位置づけを「オマケ」にしました。
フローチャートの上の画像（データ）の分類が「再構成」と「可視化」を対⽴軸にしていることにも違和感があります。IrfanView、ImageJ や（ぼくが浮動⼩数点数の画素値を表⽰できるように改造した）xv などの⼀般的な画像 viewer で画⾯表⽰が可能だと⾔う意味では、RAW 形式の画像に対して「可視化」のための特別な変換⽤プログラムは必要ありません。raw2tiff（および tg2tg）は RAW 形式の画像ファイルに⼊れた再構成画像
を "slice*" や "si_*" などによる画像処理・解析に適した画像に変換するためのプログラムです。
とりあえず以上です。
On Fri, 19 Feb 2016 11:34:43 +0900 Kentaro UESUGI wrote:> 中野さん>> 上杉です>> え〜と、まだ全然なのですが、データ処理フローと> プログラムの関係を書いてみようかと思いました。
> 添付の様な感じで進めようと思いますが、いいですかね？
> ここからはおそらく注釈が増えて、プログラム名を> クリックすると、その説明書きに⾶ぶような感じにしようかなぁと。
> ちなみに完成するかは定かではありません。

64 / 194
添付ファイル SIXM_flow.png

Date:Mon, 22 Feb 2016 13:43:46 +0900

From:

Tsukasa NAKANO

To:

⽵内

Cc:

Akira TSUCHIYAMA, Kentaro UESUGI, MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: new_programs_for_SIXM-5

たけうちさま、
GSJ/AIST のなかのです。以前の SIXM の画像がどんなものか⾒てみたいので、1406SUM06 などのデータを
SPring-8 の計算機 vrm の HDD にアップロードしていただけませんか？ vrm は上杉さんが管理している、
SPring-8 の外部から接続可能な Linux 計算機です。よろしくお願いします。とり急ぎ、On Mon, 22 Feb 2016 12:58:18 +0900 "TAKEUCHI, Akihisa" wrote:> ⼟'⼭様>> ⽵内です。お待たせしてすみません。
> とりあえず> 1406SUM06：Sutterʼs Mill 隕⽯> 1406YOS02：吉⽥サンプル> 測定した全部のデータ HDD で送ります。
> 送付先は下記でいいですかね。

65 / 194
> 測定成功してるのはそれぞれ、> \fine7x90_100Hz> \fien7x200_240Hz_2> で、Hideki での再構成データも⼀緒です。
> あのころは 240Hz で撮ってたんですね。

Date:Mon, 22 Feb 2016 15:29:40 +0900

From:

Tsukasa NAKANO

To:

⽵内

Cc:

Akira TSUCHIYAMA, Kentaro UESUGI, MATSUNO Junya, "Aki Takigawa",
Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: new_programs_for_SIXM-5

たけうちさま、なかのです。お⼿数をおかけしてすみません。そちらで⾏うコピーの⼿間が最⼩になるデータで結構です。
全部（600 GB）だと、SPring-8 内部の PC から vrm への転送時間の理論値は８×600 =１時間 20 分
（SPring-8 の LAN は 1 Gbps ですよね？）、vrm からこちらへの転送には 16 時間程度を要する⾒込みです。
よろしくお願いします。とり急ぎ、On Mon, 22 Feb 2016 14:14:46 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> vrm にアップロードするのは his などの⽣データだけでよいのでしょうか。
> それとも再構成データもあったほうがよいでしょうか。
>> ⼟'⼭さんには HDD で送るので全部（６００GB）突っ込めばいいやと> まとめてコピーしているのですが（午前中しかけてまだコピー中）、> vrm 経由でそれだとちょっと⼤変かと思うので。
> まあ⽣データだけでも２００GB 超えるのですが・・。

66 / 194
Date:

Tue, 23 Feb 2016 17:05:50 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa", Akira TSUCHIYAMA

Cc:

上杉 健太朗, "MATSUNO Junya", Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: new_programs_for_SIXM-5

たけうちさま、
GSJ/AIST のなかのです。SIXM の２つの測定の⽣データのアップロード、どうもありがとうございました。
SIXM ⽤の新しいプログラムを使ってそれらを再構成してみました。vrm のぼくのディレクトリ
/media/disk/tsukasa/1406/ の下にその結果のファイルがあります。以下に主要なファイルのみ記します。
1406SUM06/
1406YOS02/
ri/*.tif と rr/*.tif：RI と RR の投影画像
tg_a/*.tif と tg_p/*.tif：吸収と位相の再構成画像
word_a/*.tif と word_a.csv および word_a.ps
画像全体の最⼩値と最⼤値で CT 値を正規化した 16 ビットの吸収画像とその画素値ヒストグラ
ムのデータおよび図のファイル。
word_p/*.tif と word_p.csv および word_p.ps
画像全体の最⼩値と最⼤値で CT 値を正規化した 16 ビットの位相画像とその画素値ヒストグ
ラムのデータおよび図のファイル。
byte_a/*.tif と byte_a.csv および byte_a.ps
byte_p/*.tif と byte_p.csv および byte_p.ps
サンプル像の「影が濃い」スライスの最⼤値で CT 値を正規化した８ビット画素値の吸収もし
くは位相画像とそのヒストグラム
1406SUM06.txt
1406YOS02.txt
今回の２個のサンプルの処理に関わるすべてを記録したログファイル。ただし、左端に "#" がない⾏を vrm の X-window 端末から⼊⼒した。
左端に３個の "#" が並んでいる⾏は処理時間計測⽤のコメント。
２個の "#" の⾏はぼくのメモ書き。
１個の "#" の⾏はその直前に実⾏したプログラムの出⼒。
なお、これらのログファイルは C-shell script として実⾏可能です。
とり急ぎ、

67 / 194
P.S. その１
上記の２個のログファイルと、今回得た合計８個のヒストグラムの図を並べた PDF ファイル
1406_hg.pdf をこの E-mail に添付します。
P.S. その２（つちやまさんへ）
1406YOS02 のサンプルは吉⽥君の⽯英ですよね？ 昨年 11〜12 ⽉の SIXM 実験の位相画像よりもRID が低い値になっています。
添付ファイル 1406SUM06.txt
添付ファイル 1406YOS02.txt
添付ファイル 1406_hg.pdf
これらには間違いがあったりしたので、2016/2/24 の E-mail に添付した修正版を御覧下さい。

Date:Wed, 24 Feb 2016 10:16:13 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa", Akira TSUCHIYAMA, 上杉 健太朗

Cc:"MATSUNO Junya", Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Miyama Sugimoto, 三宅

Subject: SIXM_1406_訂正

みなさま、
GSJ/AIST のなかのです。すみません。SIXM の測定 1406YOS02 の画像再構成で⽤いたパラメータの値が間違っていました。具体的には、投影画像の右端の余⽩の幅として 80 を指定すべきだったのに 95 を指定していました。そこで、この測定に対して昨⽇⾏ったサンプル回転軸の位置の推定、吸収と位相画像の再構成、
word および byte 画像とそれらの画素値ヒストグラムの作成の処理をやり直し、結果を vrm のディレクトリ
/media/disk/tsukasa/1406/1406YOS02/ に上書きしました。 また、ログファイル 1406YOS02.txt も修正して（ただし、処理時間の計測⽤のコメントはもとのままです）、新しいヒストグラムの図の PDF ファイル
1406_hg.pdf と⼀緒にこの E-mail に添付しました（念のため、間違いのない測定 140SUM06 の昨⽇のものと同じログファイル 1406SUM06.txt も添付しました）。とり急ぎ、
添付ファイル 1406SUM06.txt### 2016/2/23 12:28
du -hs a.HIS
#

157G

a.HIS

head -1 a.log#

821,1001,100,1,0
mkdir ri rr

68 / 194
his2raw_W a.HIS 821 - 100 ri/%04d.tif rr/%04d.tif >raw.log### 2016/2/23 12:38
ls ri | wc -l ; du -hs ri
#

1001

#

1.3G

ri

ls rr | wc -l ; du -hs rr
#

1001

#

1.3G

rr

xv ri/*00.tif## y1 = 160## y2 = 320
xv rr/*00.tif## x1 = 80 -> L = 80## x2 = 700 -> R = 820 - 700 = 120
echo - 0 0 | ri2sg_B rr - - 240 240 rr_sg_0240.tif#

240

43.635965

81.037619

xv rr_sg_0240.tif## x1 = 100 at y = 675 -> L =80## x2 = 630 at y = 230 -> R = 120
echo - 80 120 | ri2rc ri - - 160 320 0.25 0.25 ri2rc.tif
#

307

512

416.5

#

-40

40

-1

xv -pre 4 ri2rc.tif
echo - 80 120 | rr2rc rr - - 160 320 0.25 0.25 rr2rc.tif
#

307

512

416

#

-40

40

-3

xv -pre 4 rr2rc.tif### 2016/2/23 12:50## Or = 416.5
sed -n -e 9,12p -e 37p a.par#"87.5"#"87"

69 / 194#"6000"#"4.98"#"16"## Dr = 87.5 nm = 87.5e-7 cm## Dz = 87 nm## SDD = 6000 mm = 6000e-3 m## Dp = 4.98 μm * 16 = 79.68 μm
setenv THREADS 4### 2016/2/23 15:02:50
mkdir tg_a( echo - 80 120 ; echo \$ ) | ri2tg_W ri - - 87.5e-7 416.5 0 tg_a/%03d.tif >tg_a.log### 2016/2/23 15:06:49
mkdir tg_p
( echo - 80 120 ; echo \$ ) | rr2tg_W rr - - 6000e-3 -79.68 416.5 0 tg_p/%03d.tif >tg_p.log### 2016/2/23 15:10:33
mkdir word_atg2tg tg_a - word_a | tr \\t , >word_a.csv#-644.711121

1515.588745

hg_mm_eps+pv.csh word_a.csv >word_a.ps
mkdir word_ptg2tg tg_p - word_p | tr \\t , >word_p.csv#-13.928655

22.356558

hg_mm_eps+pv.csh word_p.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >word_p.ps
set awk='$1>=160 && $1<=320 && f<$3 { f=$3 } END { printf "%e\n",f/255 }'awk "$awk" tg_a.log ; awk "$awk" tg_p.log#

3.624310e+00#

3.867171e-02
mkdir byte_atg2tg tg_a - 0 3.624310e+00 8 byte_a | tr \\t , >byte_a.csv
hg_mm_eps+pv.csh byte_a.csv >byte_a.ps
mkdir byte_ptg2tg tg_p - 0 3.867171e-02 8 byte_p | tr \\t , >byte_p.csv
hg_mm_eps+pv.csh byte_p.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >byte_p.ps

70 / 194
添付ファイル 1406YOS02.txt### 2016/2/23 13:08
du -hs a.HIS
#

62G

a.HIS

head -1 a.log#

711,451,100,1,0
mkdir ri rr
his2raw_W a.HIS 711 - 100 ri/%03d.tif rr/%03d.tif >raw.log### 2016/2/23 13:12
ls ri | wc -l ; du -hs ri
#

451

#

490M

ri

ls rr | wc -l ; du -hs rr
#

451

#

490M

rr

xv ri/*00.tif## y1 = 260## y2 = 360
xv rr/*00.tif## x1 = 40 -> L = 40## x2 = 630 -> R = 710 - 630 = 80
echo - 0 0 | ri2sg_B rr - - 310 310 rr_sg_310.tif#

310

45.253634

78.929835

xv rr_sg_310.tif## x1 = 30 at y = 255 -> L = 30## x2 = 615 at y =0 -> R = 80

echo - 30 80 | ri2rc ri - - 260 360 0.25 0.25 ri2rc.tif
#

266

443

354

#

-25

25

16

xv -pre 4 ri2rc.tif
echo - 30 80 | rr2rc rr - - 260 360 0.25 0.25 rr2rc.tif

71 / 194
#

266

443

364

#

-25

25

1

xv -pre 4 rr2rc.tif### 2016/2/23 13:24## Or = 364
sed -n -e 9,12p -e 37p a.par#"87.5"#"87"#"6000"#"4.98"#"16"## Dr = 87.5 nm = 87.5e-7 cm## Dz = 87 nm## SDD = 6000 mm = 6000e-3 m## Dp = 4.98 μm * 16 = 79.68 μm
setenv THREADS 4### 2016/2/23 15:11:59
mkdir tg_a( echo - 30 80 ; echo \$ ) | ri2tg_W ri - - 87.5e-7 364 0 tg_a/%03d.tif >tg_a.log### 2016/2/23 15:13:37
mkdir tg_p
( echo - 30 80 ; echo \$ ) | rr2tg_W rr - - 6000e-3 -79.68 364 0 tg_p/%03d.tif >tg_p.log### 2016/2/23 15:15:26
mkdir word_atg2tg tg_a - word_a | tr \\t , >word_a.csv#-726.408691

1096.393677

hg_mm_eps+pv.csh word_a.csv >word_a.ps
mkdir word_ptg2tg tg_p - word_p | tr \\t , >word_p.csv#-13.273615

12.817136

hg_mm_eps+pv.csh word_p.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >word_p.ps
set awk='$1>=260 && $1<=360 && f<$3 { f=$3 } END { printf "%e\n",f/255 }'awk "$awk" tg_a.log ; awk "$awk" tg_p.log

72 / 194#1.992551e+00#

2.734260e-02
mkdir byte_atg2tg tg_a - 0 1.992551e+00 8 byte_a | tr \\t , >byte_a.csv
hg_mm_eps+pv.csh byte_a.csv >byte_a.ps
mkdir byte_ptg2tg tg_p - 0 2.734260e-02 8 byte_p | tr \\t , >byte_p.csv
hg_mm_eps+pv.csh byte_p.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >byte_p.ps

添付ファイル 1406_hg.pdf

73 / 194
Date:

Wed, 24 Feb 2016 11:06:49 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGICc:

⽵内, ⼟ʼ⼭, 松野, 瀧川, 櫻間, ⾨川, 北⼭, 杉本, 三宅

Subject: Re: SIXM_1406_訂正

うえすぎさま、なかのです。測定 ”1406*” の画像再構成で使ったサンプルと検出器の間隔は 6000（mm；パラメータファ
イル a.par に記されていた値）で「切りの良い値」なのですが、これはどの程度正確なのでしょうか？ 再構成した RID の値はこの値に反⽐例します。とり急ぎ、On Wed, 24 Feb 2016 10:21:55 +0900 Kentaro UESUGI wrote:> 中野さん>> 上杉です>> それでもちょっと低い値ですね。
> これは検出器のケラレの影響でしょうか。
> （2014 と 2015 の検出器は違っていて、2014 の⽅が周辺視野のケラレが⼤きかったと思います）

Date:

Wed, 24 Feb 2016 13:19:57 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGICc:

⽵内, ⼟ʼ⼭, 松野, 瀧川, 櫻間, ⾨川, 北⼭, 杉本, 三宅

Subject: Re: SIXM_1406_訂正

うえうぎさま、なかのです。測定 "1406*" の位相画像の estimated RID の値は昨年 11〜12 ⽉に得た画像の値よりも（常に）低いですね。添付した画素値ヒストグラムの図のファイル hg.pdf を御覧下さい。なお、左右に並べた図の上部に記した "/" で区切った４つの値は [1] サンプルの密度（g/cc）、[2] 化学式、[3] それらを仮定して計算した 8 keV におけるサンプルの RID の理論値（単位は 1e-6）と [4] その RID に対応させた画素値、です。とり急ぎ、

74 / 194
添付ファイル hg.pdf

Date:Wed, 24 Feb 2016 13:55:51 +0900

From:

Tsukasa NAKANO

To:

⽵内

Cc:

Kentaro UESUGI, ⼟ʼ⼭, 松野, 瀧川, 櫻間, ⾨川, 北⼭, 杉本, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、
うえすぎさま、なかのです。SIXM で測定画像のクラレの影響を考慮する必要はあるのか？
[1] SIXM で測定しているのは refraction profile の画像。
[2] 補正⽤の dark にクラレがあったとしてもその光量は透過光の 1/10 以下。
[3] refraction profile の重⼼は 128 画素の測定画像の中央付近にある（測定 "1406*" では 41〜65）。また、refraction profile の画像の上下端付近にはサンプル像がない（少なくとも測定 "1406*" では）。
つまり、SIXM で使⽤しているのは refraction profile の中央部の画素値のデータだけ。
[4] SIXM の位相画像の再構成では refraction profile の重⼼の位置をデータとして使っている。クラレによってそれ（重⼼の位置）から再構成した RID が低い値になるのは⾃明ではない。
とり急ぎ、

75 / 194
On Wed, 24 Feb 2016 13:04:39 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様、皆様、> ⽵内です。
>> すみません、上杉さんのコメント⾒るまですかり忘れておりましたが、> 1406YOS02, 1406SUM06 ⼆つを測定したときの検出器にはケラレが存在します。
> そしてそれがある場合は RID の計算値が⼩さく出る傾向があります。
> 当時こちらで計算していた値は全てケラレの効果を考慮（ケラレによる強度ムラを測定し、> その近似曲線を求めて、再構成計算時に近似曲線を使ってケラレをキャンセル）したものです。
>> 当時、何種類かの検出器を使ってケラレを調べた資料を添付します。
> 1. Straight BM (35mm+50mm)> 2. BM2 (50mm + 50mm)> 3. Fiber Scintillator> 4. Straight BM (35mm + 35mm)> の４通りを調べていて、⼆つの試料は１番⽬の検出器を使っています。
> 添付ファイル１枚⽬はそのケラレ特性の実測。
> ２枚⽬と３枚⽬は標準試料の位相像とコントラスト実測値のプロファイルです。
> ２枚⽬はケラレ補正なし、３枚⽬はケラレ補正込。
> ラテックス球(位相差 1.19rad)に対して、ケラレ補正なしの場合は 0.81rad なのに対して、> 補正をかけると 1.10rad まで回復してます（それでも若⼲低いですが）。
>> ちなみに、ケラレ補正込で計算した結果では、> 1406SUM06 の RID のピークは~8e-6> 1406YOS02 の RID のピークは~8e-6 と、> 4.2e-6 に包埋液体のピークが確認できています。
> LAC に関しては、中野さんの計算結果とほぼ同じでした。
> これは、吸収に関してはケラレの影響は関係ないからと考えられます。
>> ７−９枚⽬が現在もつかっている FOP 付のカメラでして、こちらは殆どケラレの影響が出てない> ことがわかります。なので最近のデータにかんしては、ケラレ補正は必要ないと考えており、> そのことについてはこれまでもあまり⾔及しませんでした。
>> それから、サンプル-検出器距離ですが、6000mm で間違いありません。
> （メジャーでの計測なので 10mm 程度の誤差はあるかもしれませんが）>> 以上、取り急ぎ。

76 / 194
Date:

Wed, 24 Feb 2016 14:11:01 +0900

From:

Tsukasa NAKANO

To:

⽵内, Kentaro UESUGICc:

⼟ʼ⼭, 松野, 瀧川, 櫻間, ⾨川, 北⼭, 杉本, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、
うえすぎさま、なかのです。
(1)
すみません。先の E-mail で「ケラレ」を「クラレ」と書いてしまいました。
(2)
ケラレの影響とは以下の意味ですか？
測定 "1406*" の位相画像には⼤きな RID の値が含まれない。
← refraction profile の補正した重⼼の位置には⼤きな値がない。
← 補正前の重⼼の位置は refraction profile の画像の両端付近にはない。
← refraction profile の左右端の X 線強度がケラレによって低くなっている。
とり急ぎ、

77 / 194
Date:

Wed, 24 Feb 2016 16:41:53 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-6

みなさま、
GSJ/AIST のなかのです。先送りしていた VLR_file 関連の話をします。
(1) XP（および XT）と DPC
SIXM ではプログラム his2raw で HIS 形式のファイルから取り出した RI（raw X-ray intensity）と RR（raw
X-ray refraction）の画像の画素値を補正・変換した XP（および XT）と DPC の値を⽤いて吸収と位相の画像を再構成します。
吸収 CT
XP（X-ray projection）= - log(XT)
XT（X-ray transmittance）= RI / RI_0
ただし、RI と RI_0 はそれぞれサンプルもしくはサンプルなしの部分を透過した X 線マイクロビー
ムの強度の総和に⽐例した値。
位相 CT
DPC（differential phase contrast）= ( RR - RR_0 ) × Dp / SDD
ただし、
RR と RR_0
サンプルによって（横⽅向に）屈折した、もしくは、サンプルなしの部分を透過した X 線
マイクロビームの強度の空間分布の重⼼の refraction profile（RP）の画像上での位置（RPの画像に付随した座標系の座標値）。
Dp
RP 画像上の画素の横⽅向の辺⻑の実⼨（単位については後述）。ただし、DPC の符号の反転を⾏えるように、SIXM ⽤の新しいプログラムは Dp として負の値も受け付ける。
SDD（sample-detector distance）
サンプルと検出器の間の実距離（単位については後述）。
2015/7/2 の E-mail に図⽰したように、DPC はサンプルによって屈折した X 線の偏向を表す⾓度（屈折⾓）の値と⾒なすことができます：
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=23

78 / 194

ただし、この E-mail に添付した図のファイル sixm.gif では以下の記号を使っています。
L = SDD
rc = Dp × RR
r0 = Dp × RR_0
屈折⾓ Θr ≒ tan Θr = DPC
なお、XP（および XT）と DPC はいずれも物理的な単位なしの無次元の値ですが、DPC を屈折⾓と⾒なすとその単位は radian です。また、DPC の値を⽤いて再構成する RID も無次元ですが、普通は単位が「10 のマ
イナス６乗」の値にします。DPC と RID として適切な単位の値を得るためには、SIXM の装置の幾何学定数である Dp と SDD として以下のような物理的単位の値を指定すれば良いです。
単位が mrad（ミリ・ラジアン）の DPC の値を計算する場合
Dp としてμm、かつ、SDD として mm 単位の値を指定すれば良い。
単位が 1e-6（10 のマイナス６乗）の RID の値を再構成する場合
Dp としてμm、かつ、SDD として m 単位の値を指定すれば良い。
(2) VLR_file による投影画像上のサンプルなしの領域の指定
2015/12/9 および 2016/1/19 の合計３通の E-mails で報告したように、測定 151201l（エル）の「空気の SIXM画像」の観察から SIXM で RP として得られる X 線の強度分布は時間的にも空間的にも⼤きく変動していることがわかりました。
RP の時間的な変動 →RI や RR の投影画像ごとに異なっている変動 +RI や RR の投影画像それぞれの上の横位置ごとの変動
RP の空間的な変動 →RI や RR の投影画像それぞれの上の縦位置ごとの変動
そのため、RI と RR の値は個々の投影画像の縦位置ごとに決めた RI_0 と RR_0 の値を使って横⽅向の変動を補正する必要があります。つまり、サンプルなしの領域を投影画像の左右両端だけに限定すると、SIXM の画像再構成では投影画像ごとに左右両端の「余⽩」の領域を指定しなければなりません。
それよりもきめ細かく、投影画像の縦位置ごとに余⽩を指定できるようにすることも考えましたが、その領域選択の処理は「３次元画像解析」になってしまい画像再構成の前処理としては複雑すぎるのでやめました。
このような投影画像ごとの余⽩領域を VLR_file によって指定します。これは各⾏に空⽩もしくはタブコード

79 / 194
区切りで以下の１もしくは３個の値を書き並べたテキストファイルです（VLR == View range list with Leftand Right margin）。
注
VLR_file を起動パラメータとする SIXM ⽤の新しいプログラムはそれに先⽴つ２個の起動パラメー
タ（投影画像のファイルが⼊っているディレクトリの名前と個々の画像のファイル名を書き込んだ
nameFile）による指定に従って処理に使う投影画像のファイルの選択（およびそれらの順序付け）をまず⾏います。下記の VLR_file の viewRangeList が対象とするのはこの結果の、読み込んだファ
イルそれぞれの投影画像に割り振った（画像のファイル名とは対応しないこともある）番号です 。
[1] viewRangeList（省略不可）
投影画像の番号（０〜；上注参照）をコンマ "," やハイフン"-" で区切ったリスト。その書式は
his2raw の同名の起動パラメータのものと同じだが、こちらの viewRangeList では⽂字 "$" によって投影画像の総数から１を減じた番号（通常はサンプルの回転⾓が 180 度の画像に付けられた最後の番号）を指定することができる。
以下に VLR_file の各⾏に指定可能な viewRangeList の実例を⽰す。
0：最初の投影画像$：最後の投影画像
0,$：最初と最後の投影画像"0-$" or "0-" or "-$" or "-"：すべての投影画像
0,150,300,450,600,750：150 ごとの番号の６個の投影画像[2,3] L と R（省略可）
投影画像の左右端それぞれにある余⽩領域の幅（画素数）を表す⾮負の整数値。ただし、負の値を指定するとその２の補数の値（投影画像の横画素数よりも⼤きな値になる可能性が⾼い）を使う。
L と R の値の指定は⼆つ⼀緒に省略できる。その場合、viewRangeList で指定した投影画像を後続する処理に使⽤しない。これは画像再構成に不要なサンプル回転⾓が 180 度の投影画像を排除するのに有⽤である。
L と R の両⽅が０の場合、後続する処理に RI や RR の値そのものを使う。この指定は hp2xp で作成した XP の画像のような補正が不要の投影画像から画像再構成を⾏う場合に有⽤である。
L と R の値の⼀⽅が０の場合には０でない側の１個の余⽩を使って RI や RR の値を補正する。また、
L と R の和が投影画像の横画素数以上の値なら投影画像の全域を余⽩とする。そして、これらのような余⽩が１個だけの場合にはそこに含まれる画素の RI や RR の平均値を RI_0 や RR_0 とする。

80 / 194

画像の左右両端に余⽩領域がある場合は各領域の中央に各領域の RI や RR の平均値があるとして、
それらの２点の値から線形補間で計算した、画像上の個々の画素の横座標値に応じた値を RI_0 や
RR_0 とする。
すべての投影画像の左右両端（もしくは左端か右端の⼀⽅）に⼗分な幅（多分、10 画素幅以上？）の余⽩があるなら、SIXM ⽤の新しい画像再構成プログラムに以下のような２⾏（４個の値）だけを記した VLR_file を指定すれば OK です。
- L R← すべての投影画像の左右端の余⽩を指定した後に$← サンプル回転⾓が 180 度の画像を処理の対象から外す。

(3) 投影画像上のサンプルなしの領域の選択
さて、問題は VLR_file で指定する投影画像それぞれの左右端の余⽩領域の選択の仕⽅です。ぼくはこれを以下の⼿順で⾏っています。
まず、サンプルの両端の識別が容易な RR の投影画像（微分位相の測定画像）をざっと眺めます。投影画像すべてを眺める必要はありません。Linux の X 端末から画像ビュワー xv を使う場合は "xv RR/*00.tif" のように⼊⼒して起動し、間引きした（今の例では 100 刻みの）投影番号の画像だけを⾒れば⼗分です。そして、これらの画像上でサンプルが占める横座標値の範囲を調べ、その最⼩値と最⼤値から画像の左端と右端の余⽩の幅（画素数）の値 L と R を決定します。
この処理には浜ホトの画像処理ソフトウェア "HiPic" に備わっている ROI（region of interest）選択⽤のツール（複数の画像を次々と表⽰した時に ROI を⽰す矩形を画像に上書き表⽰してくれる機能）が有⽤です。xv にはないこの機能を何とかして実現したいのですが、...。 動画のトリミング⽤のソフトウェア
を利⽤すれば良いのかもしれない。
次に、こうして決めた余⽩領域を RR の sinogram を使ってチェックします。
話が先⾛りますが、SIXM ⽤の新しいプログラム "ri2sg_*"（および "rr2sg_*"）を使えば RR の投影画像
から RR の sinogram を作成することができます（その詳細はまた今度）。
投影画像（radio-graph？）を３次元画像と⾒なした時、sinogram はそれを縦切りにした画像です。
投影画像に付随した座標系の座標値を
x と y：それぞれの投影画像の上の横と縦⽅向の座標値
z：投影画像のそれぞれに付けられた番号（投影番号）

81 / 194とすると、投影画像と sinogram の対応関係は以下の通りです。
投影画像の上の画素値 RG(x,y,z) = sinogram の上の画素値 SG(x,z,y)sinogram を使えば投影番号ごとに異なった余⽩領域を設定するのも（⽐較的）容易です。この E-mail に添付した２個の GIF 画像ファイル "*_rr+vlr.gif" を御覧下さい。これらはそれぞれ SIXM の測定 151130f と151201b で使った、余⽩領域の境界線を上書きした代表的なスライス（layer）の sinograms です。すべてのlayer の singrams を観察してこのような余⽩領域の⼤雑把な境界線を引きました。ただし、余⽩領域の指定は⼤雑把でも問題ないですが、すべての投影画像に対して指定する必要があります（SIXM ⽤の新しい画像再構
成プログラムは処理前にその「抜け」をチェックします）。測定 151130f と 151201b の画像再構成に⽤いた
VLR_file の内容は以下の通りです。
151130f
-79

0

69

80-95

0

41

96-223

34

0

224-

66

0

-339

0

15

340-544

24

15

545-

24

0

151201b

今⽇の所はここまで。

82 / 194
添付ファイル 151130f_rr+vlr.gif

添付ファイル 151201b_rr+vlr.gif83 / 194
Date:

Wed, 24 Feb 2016 17:43:20 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、なかのです。ケラレ補正についてですが、⽵内さんが作られたスライドを⾒ると refraction profile が「上に凸の２次式（放物線）になること」のようですね。これは以前に紹介した「fan beam の X 線強度分布」の場合とまったく同じです。以前に差し上げた PDF ファイル fb.pdf（この E-mail に再度添付しました）にその場合の refraction profile の重⼼の計算式の近似式を書きました。その内容を要約すると「横座標値の２次の項の係数値（fan beam の場合は 1/L^2）が⼗分⼩さければ重⼼の位置の補正は不要」です。⽵内さんのスライドを⾒る限り２次の項の係数値は（１に⽐べて）⼗分⼩さい値なので、refraction profile の重⼼の計算にケラレ補
正は不要な気がするのですが、...。とり急ぎ、On Wed, 24 Feb 2016 15:45:49 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> (1)クラレいいですね。
>> (2)ケラレの影響について> まず、「ケラレ」は、カメラ受光⾯前段のレンズ系によって> 視野周辺が視野中⼼よりも感度が低くなる現象です。
> 前の中野さんの考察の⼀番下は正しいです。
> ですが、refraction profile では左右端までしっかりと強度変化は起きているはずです。
> そのときに場所ごとに感度ムラがあると正しい重⼼値を計算できません。
> これは簡単なシミュレーションでも確認できるかと思います。
添付ファイル fb.pdf
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=104

84 / 194
Date:

Wed, 24 Feb 2016 18:26:25 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa", 上杉 健太朗

Cc:"Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、なかのです。何度もすみません。位相 CT では測定した微分位相から位相回復をするので正しいかどうかわかりませんが、ケラレがあると再構成画像全域で値が⼀様に⼩さくなるのではなく、⽩⾊光を使った吸収 CT で⽣じる光線硬化（beam hardening）のように再構成画像の値の空間的な分布（偽像）が発⽣するのではないでしょうか？ とり急ぎ、

Date:Wed, 24 Feb 2016 18:56:48 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、なかのです。先程の fan beam の話は fan beam であることが重要なのではなく、上に凸の放物線（２次式）で表現できる X 線強度分布の重⼼の位置は、２次の項の係数値が⼗分⼩さければ、補正しなくても１次式（⼀様勾配）や０次式（⼀定値）となっている X 線強度分布の重⼼と⼀致するということです。何故２次式になるかは問題ではありません。とり急ぎ、On Wed, 24 Feb 2016 18:34:14 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> 中野さんのご指摘に対して、> まず、中野さんの仰るように、fan beam の強度分布を持っているので、> 厳密にはそれを考慮すべきですが、r/L は⼗分⼩さいのでそれは考えなくても差し⽀えありません。
>> ただ、この話とは別に、実際に測定される信号には、「検出器の感度ムラ」が⼊っています。
> つまり、中野さんの考察における強度 I(r)に、検出器の感度ムラ D(r)を掛けたものが> 実際に検出される信号です。
> I(r)とは別に、D(r)⾃体が、カメラによってはケラレのせいで放物線の形状をしているのです。

85 / 194>
> 先ほどの僕の添付ファイルの 4 つの検出器のうち 3 つはそのようなプロファイルを⽰してますが、> fiber schintilator 付きカメラに関しては、その放物線の曲率はかなり緩くなってて> ほぼ直線になってます。
> ちなみに、この放物線のプロファイルは、⼀定強度のｘ線を撮影したものです。
> なので感度ムラがなければ、本来は直線のプロファイルになるべきものです。

Date:Thu, 25 Feb 2016 12:13:40 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、なかのです。何だか話が通じていないようなのできちんと説明します。ここでは X 線マイクロビームの X 線の強度分布を y(x) で表します。そして、
ケラレがない理想的な場合、
y(x) = 0x < x1 もしくは x2 < xy(x) = ⼀定値

x1 ≦ x ≦ x2

ケラレがあるとき
y(x) = 0x < x1 もしくは x2 < xy(x) = a・x^2 + b・x + c

x1 ≦ x ≦ x2とします。理想的な場合の X 線の強度分布の重⼼の位置は (x1+x2)/2 ですが、ケラレがある場合にその値（x0とします）がどうなるか？
x0 = I1 / I0
I1 = ∫_x=x1〜x2 x・y dx = [ (1/4)・a・x^4 + (1/3)・b・x^3 + (1/2)・c・x^2 ]_x=x1〜x2
I0 =∫_x=x1〜x2 y dx = [ (1/3)・a・x^3 + (1/2)・ｂ・x^2 + c・x ] _x=x1〜x2
ここで、関係式x2^n - x1^n = (x2-x1)・J(n-1)J(n) = x1^n + x1^(n-1)・x2 + x1^(n-2)・x2^2 + ... + x1・x2^(n-1) + x2^nを使うと以下のようになります。
I1 = (x2-x1)× { (1/4)・a・J(3) + (1/3)・b・J(2) + (1/2)・c・J(1) }I0 = (x2-x1)× { (1/3)・a・J(2) + (1/2)・b・J(1) + c }そして、(x2-x1) の項がキャンセルされるので、以下の式が得られます。
x0 = { (1/4)・a・J(3) + (1/3)・b・J(2) + (1/2)・c・J(1) } / { (1/3)・a・J(2) + (1/2)・b・J(1) + c }x0 の分⺟⼦に J(1) / 2 = (x1 + x2)/2 を掛けると、
x0 = K × (x1 + x2) / 2

86 / 194
K = { a・(1/4)・J(3) + b・(1/3)・J(2) + c・(1/2)・J(1) } /{ a・(1/6)・J(2)・J(1) + b・(1/4)・J(1)^2 + c・(1/2)・J(1) }となり、y(x) の２次式の３つの係数が c >> b >> a〜0 の場合、上記の K は１に近い値になると思われます（ぼくが⽂書ファイル fb.pdf に記した級数展開の初項だけを使⽤した近似はこれに相当）。それゆえ、X 線の強度分布の重⼼はケラレがあっても理想的な場合と同じ位置になるのではないか？ とり急ぎ、On Wed, 24 Feb 2016 21:48:00 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> ⾔葉⾜らずでしたらすみません。
> fan beam はここでは重要ではない、ということは僕も同じ意⾒です。
>> そうでははなく、> 1406 のデータに関して RID の測定値が⼩さくでるのは検出器の感度ムラが⼀番の原因ということです。

Date:Thu, 25 Feb 2016 17:36:52 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、なかのです。先程の E-mail に書いた K の値をプロットしてみました。昨⽇の⽵内さんの E-mail に添付されていたスライドにあった「ケラレあり」の X 線強度分布の４個の式の係数値 a、b、c を代⼊した時の K(x1,x2)の値をカラーで表しました。この E-mail に添付した PDF ファイル K.pdf です。これらより x1 と x2 がどち
らも「端」の⽅にないなら K は１に近い値になることがわかります。つまり、X 線強度分布の重⼼の位置は「ケラレなし」の時と⼤きく変わらない。なお、x1 < x2 なので、これらの図の右下半分の三⾓形領域は無視して下さい（K の式は x1 と x2 を交換しても同じになるので、図の左上と右下三⾓形の内部の値の分布は対称です）。それから、先程の E-mail に記した K の式は間違っているかもしれません。K.pdf の４つの図の K の値
はそれらの上部に記した式を GNU plot に指定して作成しました（よろしければ検算して下さい）。とり急ぎ、
On Thu, 25 Feb 2016 14:50:38 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> 確かになかなか話がかみ合わない気がしますね。
> 下記説明ありがとうございます。
> 中野さんの式を使わせていただいて、今⼀度改めてこちらのご指摘をさせていただきます。

87 / 194>
> まず、検出器直前のｘ線強度 y(x)に関しては、> c>>b>>a~0> が成り⽴ち、K~1 であるということは同意しています。
>> 問題は、ｘ線強度 y(x)でなく、カメラの感度ムラ（=ケラレ）D(x)です。
>> こちらがお伝えしたいのは、実際に測定データとして得られる信号(y'(x)とします)については、> カメラの感度ムラに対応する別の関数を定義する必要がある、ということです。
> つまり、カメラが理想的な場合は、> y'(x) = C y(x)(C は定数）> でよいですが、実際のカメラには画素ごとの感度ムラがあり、それを D(x)とすると、得られる信号は> yʼ(x) = D(x) y(x)> となります。
> とりあえずここでは、簡単のため y(x)は中野さんの定義する理想的な形状のものとします。
>> ここから、D(x)について考える上で、中野さんの先ほどの式の展開を利⽤させていただきますと> カメラの感度ムラ（この場合はケラレ）を考慮する場合> D(x) = 0(x < x1 or x2 < x)

> D(x) = p x^2 + q x + r(x1 <= x <= x2)> とおけます。
> （2 次式の定数について、ｘ線強度の係数 abc とは違い、検出器特有のものなので別の pqr としました）> 後の展開も同じですが、違うところは、係数 pqr について、> ケラレが無視できる場合（現在使っているカメラ）のみ、r>>q>>p~0 となるのであって> ケラレがある場合（2014 年当時のカメラ）、p, q は無視できない程⼤きい> とすべきところです。
> pqr について中野さんと同じような Kʼを定義させていただくと、これは> pqr を定数、x1, x2 を変数とする関数、> つまり検出器のみに依存する（ｘ線強度と関係ない）関数になります。
> RID の実測値としては、K'(x) (x1+x2)/2 に⽐例したものになるわけですが、> [ケラレが無視できない] = [K'(x)が無視できない関数]> である以上、正しい RID を算出するには K'^-1 （あるいは D^-1）的な関数を> 乗じる必要がある、ということです。
>> 取り急ぎ、よろしくお願いします。
添付ファイル K.pdf
2016/2/26 16:34:55 の E-mail の添付ファイル rp_K.pdf を御覧下さい。

88 / 194
Date:

Thu, 25 Feb 2016 19:02:03 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa", 上杉 健太朗

Cc:"Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: SIXM_1406_訂正

たけうちさま、
うえすぎさま、なかのです。昨⽇の「ケラレがあると位相 CT で光線硬化のようなことが起こるのではないか」に応答がない
ので⾃⼰フォローします。
測定 "1406*" の２個とそれらと同じサンプルを撮影したと思われる昨年 11〜12 ⽉の SIXM 実験の２個の測定の RI と RR のそれぞれの投影画像から XP の投影画像と「位相回復した DPC の投
影画像（吸収 CT ⽤のプログラムでそのまま処理すれば RID の画像を再構成できる画像）」を作成し、それらの sum of projection（SP）を計算してみました。
実は、SIXM ⽤の新しいプログラムには投影画像から SP を計算できるものがありません。とりあえず以
前の SIXM ⽤のプログラム xp2sp を使って今回の処理を⾏いましたが、今後も使うことがありそうなので、SIXM ⽤の新しいプログラムに合ったものをこれから書くつもりです。
以前に説明したように SP(Θ,z) はサンプル回転⾓（Θ）と投影画像上の縦位置（== 再構成画像のスライス
位置、z）の関数であり、これがΘに関して⼀定値になっていないと再構成した画像に「偽像」が発⽣します。
この E-mail に添付した PDF ファイル sp.pdf を御覧下さい。４個の測定の SP の画像それぞれを縦に並べました。左列の画像が XP の、また、右列は「位相回復した DPC」の SP で、それぞれの横⽅向がΘ（左端が０度、右端が 180 度）、下向きが z の値が増加する⽅向です。これらの画像をざっと⾒る限り、数箇所ある⿊い
縦縞をけば、SP の値のΘ⽅向の変動はないようです。つまり、これらに対応する再構成画像には光線硬化のような偽像は発⽣していないと思われます。
ところで、これは本題から外れた話ですが、吉⽥くんの⽯英サンプルを撮影した測定 151130l では撮影中にサンプルが上向きにズルズル動いた（クリープした）ようです。こちらで⾏った昨年 11〜12 ⽉の SIXM 実験のデータ処理のログファイル（きちんと報告していなくてすみません）を⾒ると、これはサンプル回転軸の位置を推定した時の「縦ズレ」として検知できていました。
151130l の０度と 180 度の投影画像の縦ズレ dz
RI 画像

dz = 17

RR 画像

dz = 11

それゆえ、151130l の吸収と位相の再構成画像はどちらも全然ダメなはずです。とり急ぎ、

89 / 194
添付ファイル sp.pdf

90 / 194
Date:

Fri, 26 Feb 2016 16:34:55 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa", 上杉 健太朗

Cc:"Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: 検出器の感度補正

たけうちさま、
うえすぎさま、なかのです。
(1)
ケラレによる X 線強度分布の重⼼の位置変化に関する式や図をこの E-mail に添付した PDF ファイル rp_K.pdfにまとめました。どうぞ御覧下さい。なお、ファクター K のマップは昨⽇の E-mail に添付したものから少しだけ書き換えました。横・縦軸の値（x1 と x2）を⽰すラベルを付け、値が K = 1 の等⾼線をマップ上に⽩で⽰しました。
(2)
この図からわかるようにケラレによる重⼼の移動はわずかで、さらに、ケラレによって再構成した RID の値が⼀様に低くなることは⾃明ではないですが、補正できるものは補正した⽅が良いので、ケラレによる検出器の放物線状の感度ムラの補正を⾏えるように SIXM ⽤の新しいプログラム his2raw を書き換えました。そのテストを測定 "1406*" の SIXM のデータを使って⾏いたいので、この測定で⽤いた検出器の感度ムラを近似した
放物線の３個の係数値を教えて下さい。
(3)
測定 "1406*" の HIS 形式ファイルに⼊っている refraction profile の画像は 16 画素のビニングを⾏ったもの
ですが、そちらで放物線近似して得た係数値はビニングしていない画像のものですよね？ このようなビニン
グしている画像の補正は単純に横座標値を 16 倍した位置にあるビニングなしの画像の画素の感度特性を使え
ば OK だと思っていますが、この理解は正しいですか？
よろしくお願いします。とり急ぎ、

91 / 194
添付ファイル rp_K.pdf

92 / 194
Date:

Fri, 26 Feb 2016 18:06:04 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: 検出器の感度補正

たけうちさま、なかのです。⽵内さんからの E-mail と PDF をざっと⾒ただけなので何ですが、ひとつだけコメントします。
ケラレがあると再構成画像の RID の値が変わるということには反論しませんが（ぼくはその効果が⼩さいだ
ろうと思っている）、以下は間違いだと思います。
> RID は「サンプルが⼊っている状態の重⼼位置」- 「サンプルがないときの重⼼位置」> に⽐例するものとして定義されるので、[1] この X 線強度分布の重⼼の位置の差は「微分位相」の値であり、画像再構成に使う位相回復した値（線積分した値）でこれが成り⽴つかどうかわからない。
[2] それが成り⽴っている場合でも、画像再構成では複数のサンプル回転⾓の位相回復した値を「混ぜ合わせて」使うので、ケラレの影響が単純に RID の値を⼤きくする・⼩さくするとは思えない。むしろ、再構成
画像に（光線硬化の場合のような）偽像が発⽣するのではないか？（発⽣していなかった訳ですが）。
とり急ぎ、On Fri, 26 Feb 2016 17:31:11 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様、皆様>> すみません、昨⽇の中野さんの e-mail の回答をまとめるのに⼿間取り時間が> かかってしまいました。タッチの差で中野さんの次のメールに間に合いませんでしたが、> やはりケラレが RID の値に影響することを 3 通りの⽅法で改めて確認しました。
>> 理想的なカメラ(Flat)、BM、Fiber optics の 3 つの条件について、以下の 3 通りの⽅法で確認しました。
> 1. 昨⽇の中野さんのメールでいただいた K を利⽤した計算> 2. エクセルを使った数値計算> 3. 数式を使ってまじめに計算(近似なし)>> 2 についての詳細は添付ファイルを参照してください。
> 3.の数式展開を書こうと思ったのですが中野さんのように⼿際よくできず、断念しました。
> まあ普通に地道に展開しただけなので、わざわざ⽰すこともないかと思います。
>

93 / 194
> RID は「サンプルが⼊っている状態の重⼼位置」- 「サンプルがないときの重⼼位置」> に⽐例するものとして定義されるので、それぞれを x0ʼ, x0 とし、dx0 = x0ʼ - x0 を計算しました。
>> 共通した仮定として、サンプルがない場合のカメラ位置での強度分布（x1 <= x <= x2）に対して> サンプルが⼊った場合に⼀定の距離だけ強度分布が並⾏移動したと仮定してます(x1+dx <= x <= x2+dx)。
> ちょっと乱暴な仮定ですが、幾何光学的には⼗分あり得る仮定です。
> あと、実際の実験に即して、x1=284.6, x2=1716.4、中⼼座標を 1000 としました> （試料から 6000mm 後⽅でのビームサイズ 155μm*60=9.3mm とピクセルサイズ 6.5μm から算出）> 並⾏移動量 dx は、ここではとりあえず 100 としてます。
>> 以下結果を⽰します。
> 1.パラメータ K を使った計算 x0 = K*(x1+x2)/2 を利⽤。
>

Flat: dx0 = 100( K(x0) = 1, K(x0ʼ) = 1)>

BM: dx0 = 73.7>

Fiber: dx0 = 99.2>

（それぞれの K の値は、中野さんにいただいた K の値とほぼ⼀致しているはずです）( K(x0) = 1.00067, K(x0ʼ) = 1.02993)( K(x0) = 1.00105, K(x0ʼ) = 1.00201)> 2. エクセルを使った数値計算>

Flat: dx0 = 100>

BM: dx0 = 73.6>

Fiber: dx0 = 98.0

> 3. 数式から算出>

Flat: dx0 = 100>

BM: dx0 = 73.2>

Fiber: dx0 = 98.0>
> Flat を理論値とみなすと、BM はどの計算も 73~74%, fiber optics は 98~99%程度> の値となっていることがわかります。
> ちなみに計算した後で気がついたんですが、この仮定だと dx の値に関係なく> ⽐率はどれも同じになりました。
>> ちなみに、実験値 (ラテックス⽟の位相変化: 理論値 1.19 から)>

BM: 0.665/1.19 = 0.559>

Fiber: 1.15/1.19 = 0.966> 実験値は更に低いですが、まあおおよそ掴めているのではないでしょうか。
>> しつこくて申し訳ないのですが、再度ご検討いただけたらと思います。

94 / 194
Date:

Fri, 26 Feb 2016 19:52:29 +0900

From:

Tsukasa NAKANO

To:

⽵内

Cc:

上杉 健太朗, Akira TSUCHIYAMA, MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: 検出器の感度補正

たけうちさま、なかのです。すみません。ケラレが RID に与える影響についてのぼくの考えは間違いでした。放物線でケラレ補正した投影画像を使って測定 "1406*" の画像再構成を⾏ってみました。その処理内容はこの E-mail に添付したテキストファイル "*_K.txt" に記した通りです。そして、以前に得たものと今回の補正アリの再構成画像の画素値ヒストグラムの４個を PDF ファイル rid_hg_K.pdf に並べて表⽰しました（測定番号に "_K" を付けたものが今回のヒストグラム）。これらよりケラレ補正して得たヒストグラムのピーク位置が RID の⼤きい⽅にシフトしていることがわかります。驚きました。理論を鵜呑みせず試してみるのは⾮常に有意義だと再認識しました。とり急ぎ、On Fri, 26 Feb 2016 18:52:54 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> ⽵内です。
> 何度もすみません。
>> ケラレ曲線について、僕が適当に設定した近似曲線よりももっとましな曲線を⾒つけてもらえるかも、> ということで、⽣データをお送りします。座標（ピクセル）カメラ ADC 値のデータになっています。
>> BM2.txt: BM2 ⽤データ
> FOP.txt: fiber optics 付カメラのデータ> SBM_35x35.txt: 直線型 BM レンズ 35mm + 35mm の組み合わせ> SBM_35x50.txt: 直線型 BM レンズ 35mm + 50mm の組み合わせ>> 1406*関連のは SBM_35x50 になります。
> 以上よろしくお願いします。
>> On 2016/02/26 17:54, TAKEUCHI, Akihisa wrote:> > 中野様>>> > ⽵内です。
> > 改めて先ほどのメールの回答です。

95 / 194>>
> > (2)> > 何はともあれ、補正可にしていただき有難うございます。
> > 1406*の係数についてですが、両⽅とも使ったカメラが straight_35+50 になりますので、> > a = -0.023> > b = 45.644> > c = 21017> > になります。
>>> > (3)> > そうですね。ビニング有の場合は元の係数を 16 倍して使えば OK です。
> > SIXM の開発の経緯として、>>ケラレ影響懸念>>ケラレを計算で補正>>

fiber optics 導⼊によりケラレ補正の必要なくなる>>

ビニング導⼊> > という順序だったので、これまでビニング対応のケラレ補正はしていませんでした。
添付ファイル 1406SUM06_K.txt### 2016/2/26 18:32## A = -0.023 * 16^2 = -5.888## B = 45.644 * 16 = 730.304## C = c = 21017
mkdir ri_K rr_K
his2raw_W a.HIS 821 - 100 -5.888 730.304 21017 ri_K/%04d.tif rr_K/%04d.tif >raw_K.log### 2016/2/26 18:45
setenv THREADS 4### 2016/2/26 18:46:15
mkdir tg_a_K( echo - 80 120 ; echo \$ ) | ri2tg_W ri_K - - 87.5e-7 416.5 0 tg_a_K/%03d.tif >tg_a_K.log### 2016/2/26 18:49:57
mkdir tg_p_K( echo - 80 120 ; echo \$ ) | rr2tg_W rr_K - - 6000e-3 -79.68 416.5 0 tg_p_K/%03d.tif >tg_p_K.log### 2016/2/26 18:53:59
mkdir word_a_K
tg2tg tg_a_K - word_a_K | tr \\t , >word_a_K.csv#-643.224426

1516.993530

96 / 194hg_mm_eps+pv.csh word_a_K.csv >word_a_K.ps
mkdir word_p_K
tg2tg tg_p_K - word_p_K | tr \\t , >word_p_K.csv#-16.539309

27.760704

hg_mm_eps+pv.csh word_p_K.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >word_p_K.ps
set awk='$1>=160 && $1<=320 && f<$3 { f=$3 } END { printf "%e\n",f/255 }'awk "$awk" tg_a_K.log ; awk "$awk" tg_p_K.log#

3.555255e+00#

5.114050e-02
mkdir byte_a_K
tg2tg tg_a_K - 0 3.555255e+00 8 byte_a_K | tr \\t , >byte_a_K.csv
hg_mm_eps+pv.csh byte_a_K.csv >byte_a_K.ps
mkdir byte_p_K
tg2tg tg_p_K - 0 5.114050e-02 8 byte_p_K | tr \\t , >byte_p_K.csv
hg_mm_eps+pv.csh byte_p_K.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >byte_p_K.ps

添付ファイル 1406YOS02_K.txt### 2016/2/26 19:04## A = -0.023 * 16^2 = -5.888## B = 45.644 * 16 = 730.304## C = c = 21017
mkdir ri_K rr_K
his2raw_W a.HIS 711 - 100 -5.888 730.304 21017 ri_K/%03d.tif rr_K/%03d.tif >raw_K.log### 2016/2/26 19:09
setenv THREADS 4### 2016/2/26 19:11:04
mkdir tg_a_K( echo - 30 80 ; echo \$ ) | ri2tg_W ri_K - - 87.5e-7 364 0 tg_a_K/%03d.tif >tg_a_K.log### 2016/2/26 19:12:41
mkdir tg_p_K( echo - 30 80 ; echo \$ ) | rr2tg_W rr_K - - 6000e-3 -79.68 364 0 tg_p_K/%03d.tif >tg_p_K.log### 2016/2/26 19:14:29
mkdir word_a_K
tg2tg tg_a_K - word_a_K | tr \\t , >word_a_K.csv#-742.164734

1094.001099

97 / 194hg_mm_eps+pv.csh word_a_K.csv >word_a_K.ps
mkdir word_p_K
tg2tg tg_p_K - word_p_K | tr \\t , >word_p_K.csv#-15.701137

16.705376

hg_mm_eps+pv.csh word_p_K.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >word_p_K.ps
set awk='$1>=260 && $1<=360 && f<$3 { f=$3 } END { printf "%e\n",f/255 }'awk "$awk" tg_a_K.log ; awk "$awk" tg_p_K.log#

1.988354e+00#

3.642981e-02
mkdir byte_a_K
tg2tg tg_a_K - 0 1.988354e+00 8 byte_a_K | tr \\t , >byte_a_K.csv
hg_mm_eps+pv.csh byte_a_K.csv >byte_a_K.ps
mkdir byte_p_K
tg2tg tg_p_K - 0 3.642981e-02 8 byte_p_K | tr \\t , >byte_p_K.csv
hg_mm_eps+pv.csh byte_p_K.csv | sed -e s/LAC/RID/g -e s@1/cm@1e-6@g >byte_p_K.ps

添付ファイル rid_hg_K.pdf

98 / 194
Date:

Tue, 01 Mar 2016 19:49:58 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-7

みなさま、
GSJ/AIST のなかのです。SIXM の測定 "1406*" の refraction profile（RP）に含まれていた「ケアレ」の影響を補正できるようにプログラム his2raw を改造しました。また、⼀連の「ケアレ騒動」に関連して、SIXM の
RI と RR の投影画像のそれぞれから XP と「（位相回復した）X 線屈折率の投影値」の sum of projection（SP）を計算するプログラム ri2sp と rr2sp を新たに書きました。これらのソースコードや 64 bit Windows ⽤実⾏
ファイルなどを以前と同じ下記の２個の書庫ファイルのそれぞれに上書きもしくは追加しておきました。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zip(1) プログラム his2raw の改造改造した his2raw は SIXM 実験で使った検出器の感度特性（⼀様強度の X 線を受けた時に検出器が返す、検出器の位置 p ごとの X 線強度の測定値）が放物線状の空間分布 H(p) になっていることを仮定した補正を⾏います。
H(p) = a × p^2 + b × p + c
ただし、a、b、c は予備実験で決めた係数値
この処理では HIS 形式ファイルに記されている X 線強度の測定値のそれぞれに検出器の位置 q に応じた補正
係数 C(q) を乗じます。
C(q) = max(H) / H(N × q) = max(H) / ( A × q^2 + B × q + C )ただし、
max(H)：座標値 p の値を変えた H(p) の値のうちの最⼤値
N：検出器の（横⽅向に並んだ）画素のビニング数
A = a × N^2：ビニング数を繰り込んだ係数値
B = b × N：ビニング数を繰り込んだ係数値
C = c：予備実験で決めた係数値

99 / 194
なお、これまでに取り扱った SIXM 実験の検出器のビニング数はすべて N = 16 でした。そして、his2raw には予備実験で決めた係数値 a と b ではなく、上記の式にそれらと N の値を代⼊して得た「ビニング数を繰り込んだ係数値 A と B」を指定して下さい。
改造した his2raw の起動法は以下の通りです。補正⽤の係数値 A、B および C は３個まとめて指定を省略できます（その場合は A=B=0 かつ C=1 と⾒なされます）。
his2raw_[B,W,F,D]

HIS_file scans viewRangeList darks {A B C} RI_format RR_format

測定 "1406*" の投影画像の「ケアレ補正」を以下のようにして⾏いました。
⽵内さんから教えてもらった係数値
a = -0.023
b = 45.644
c = 21017
ビニング数（パラメータファイル a.par の 37 ⾏⽬に記されている）
N = 16
his2raw に指定する補正係数
A = a × N^2 = -0.023 * 16^2 = -5.888
B = b × N = 45.644 * 16 = 730.304
C = c = 21017
測定 140SUM06 の RI と RR の画像の取り出し
cd

140SUM06

head -1 a.log→

821,1001,100,1,0

mkdir

ri

his2raw_W

rr
a.HIS

821 -

100

-5.888730.304

21017 ri/%04d.tif

rr/%04d.tif> raw.log100-5.888730.304

21017 ri/%03d.tif

rr/%03d.tif> raw.log

測定 1406YOS02
cd

1406YOS02

head -1

a.log→

711,451,100,1,0

mkdir

ri

his2raw_W

rr
a.HIS 711 -(2) 吸収と位相画像の SP の計算プログラム ri2sp と rr2sp
これらの起動法は以下の通りです。

100 / 194

ri2sp

RI/ nameFile VLR_file {Dr} SP.tif

rr2sp RR/ nameFile VLR_file SDD {-}Dp {Dr} SP.tif
また、これらの起動パラメータの意味は以下の通りです。
RI/ もしくは RR/ と namFile
RI もしくは RR の投影画像が⼊っているディレクトリの名前とそれらの下の画像ファイルの選択や順序付けを⾏うための name file の名前
VLR_file
投影画像ごとの左右端の余⽩領域を指定するための VLR_file の名前。ハイフン "-" を指定するとその内容を標準⼊⼒から読む。
Dr
投影画像の画素の横幅。省略すると１と⾒なされる。
SDD（rr2sp のみ）
サンプルと検出器の間の実距離
Dp（rr2sp のみ）
RP の検出器の間隔の実⼨（RP の画像上の画素の横辺⻑）。微分位相の符号を変えたい場合には負の値を指定すれば良い。
SP.tif
SP の値を最⼩値と最⼤値で正規した８ビットの画素値として書き込む TIFF（or RAW）形式画像のファイル名
SP.tif の x 軸⽅向はサンプル回転⾓もしくは投影画像の番号の増加する⽅向で、y 軸は再構成画像のスライスの位置（レイヤー）に対応する投影画像の y 軸と⼀致しています。この画像の出⼒と同時に ri2sp と rr2sp は以下の３個の数値をタブコード区切りで並べた⾏を標準出⼒に書き出します。
[1] レイヤー番号（SP.tif の y 座標値）
[2] そのレイヤーの SP の値の平均値[3] そのレイヤーの SP の値の標準偏差
SP は相対値がわかれば⼗分なことが多いので、これらの数値は不要かもしれません。また、同じ理由で起動パラメータの Dr の指定を省略したり、SDD や Dp に適当な値を指定しても問題ありません。
以下のようにすれば測定 "1406*" の SP を計算することができます。ここでは起動パラメータの Dr の指定は省略し、SDD = 1 と Dp = -1（微分位相の符号の反転のために負の符号 "-" が必要）を指定しました。

101 / 194
測定 1406SUM06
左右端の余⽩領域はどの投影画像でも L = 80 and R = 120 とした。
cd

1406SUM06

echo -

80 120 | ri2sp ri - - sp_a.tif

echo -

80 120 | rr2sp rr - -> /dev/null

1 -1 sp_p.tif >/dev/null

測定 1406YOS02
左右端の余⽩領域はどの投影画像でも L = 30 and R = 80 とした。
cd

1406YOS02

echo -

30 80 |

ri2sp

ri

- - sp_a.tif > /dev/nullecho -

30 80 |

rr2sp

rr

- - 1

-1

sp_p.tif > /dev/null

とりあえず以上です。

Date:

Wed, 02 Mar 2016 10:46:53 +0900

From:

Tsukasa NAKANO

To:

⽵内, 上杉 健太朗, Akira TSUCHIYAMA

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: 検出器の感度補正

みなさま、なかのです。すみません。測定 "1406*" のケアレ補正の結果を検討するためのヒストグラムの図を紹介するのを忘れていました。この E-mail に添付した PDF ファイル hg_K.pdf です。以下の 12 個のヒストグラムの図が並んでいます。
測定 1406SUM06 と 1406YOS02 のケアレ補正アリ（「測定番号_K」とした）とナシで再構成した吸収と位相 CT 画像の画素値ヒストグ
ラム（合計 2^3 = ８図）
それらと同じサンプルを撮影した昨年 11〜12 ⽉の SIXM 実験の測定の吸収と位相 CT 画像の画素値ヒストグラム（合計 2^2 = ４図）
なお、これらのヒストグラムの横軸は図の上部に記した LAC や RID の理論値に応じたスケールにしています（具体的には、これらは LAC や RID の理論値を画素値 100 に対応させた８ビット画像の画素値ヒストグラムです）。とり急ぎ、

102 / 194
添付ファイル hg_K.pdf

Date:

Mon, 07 Mar 2016 18:57:38 +0900

From:

Tsukasa NAKANO

To:

上杉, "TAKEUCHI, Akihisa"

Cc:

Akira TSUCHIYAMA, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: ケラレ問題おわり

上杉さま、
⽵内さま、
GSJ/AIST のなかのです。SIXM のケラレ問題についてはプログラム his2raw に検出器の感度補正機能を持たせたことにより実際的な意味では解決した訳ですが、上杉くんからの E-mail に記されていた「理論がどうこうということではなく」に違和感を感じたので、ケラレについてさらなる「理論的考察」を⾏いました。添付した PDF ファイル rp_K.pdf と rp_K_1024.pdf がその最終的な結論です。
rp_K.pdf の１ページ⽬は 2/26 の E-mail に添付した PDF と概ね同じ内容です。ケラレによる X 線強度分布の重⼼の位置の変化を表すファクター K(x1,x2) のマッピングの範囲と「値に応じた⾊付け」だけを変えました。

103 / 194
X 線強度分布の左右の端の位置 x1 と x2 は定義から x1 ≦ x2 なので、それに応じた必要最⼩限の範囲のK の値だけをマッピングしました。
これはよく考えると⾃明なことですが、ケラレなしの重⼼の位置 x0 がケラレを表す放物線状の X 線強度の分布 a*x^2+b*x+c のピークの位置 xP = -b/(2*a) と⼀致している時、ケラレありの重⼼の位置 X0 は
x0= (x1+x2) / 2 から動きません。つまり、直線 (x1+x2) / 2 = xP の上で K(x1,x2) = X0 / x0 = 1。今回
はこれを考慮した⾊付けにしました。
この E-mail に添付した PDF ファイル rp.pdf に⽰したように、SIXM で使った refraction profile は検出器のほぼ中央（ビニング数を考慮すると x0≒1024）に位置しています。それゆえ、その重⼼を補正する場合には
K(x1,x2) のマップの左上隅から右下隅に伸びる対⾓線の上の値だけを考慮すれば良いと思われます。そして、
測定 "1406*" で使った検出器（straight_35+50）なら対⾓線の上の K は 0.98 程度の１に⼗分に近い値なので
X0 = K * x0 ≒ x0 と⾒なせます。それゆえ、SIXM の X 線強度分布の重⼼の計算ではケラレの補正は不要だと考えました。
しかしながら、この結論はぼくの早とちりでした。⽵内さんが指摘されたように SIXM ではケラレによる「X線強度分布の重⼼の位置の変化」ではなく「屈折で⽣じた X 線強度分布の重⼼の移動量の変化」について考える必要がありました。それに関する理論的な考察を rp_K.pdf の２ページ⽬に記しました。
屈折で⽣じた X 線強度分布の重⼼の移動量のケラレの有無による差Δ - δは分布の半幅の値 h = (x2-x1) / 2
で正規化したケラレなしの重⼼の位置 X = x0/h だけの関数 L(X) を⽤いて表現できます（ただし、この関数には値 h と検出器に固有の係数値 a、b、c が陰に含まれています）。さらに、|Δ/δ|<< 1 と仮定できるなら
Δ/δ ~ dL/dX+1 が成り⽴つはずです。
rp_K.pdf の２ページ⽬に固定した h の複数の値に対するΔ/δ~ dL/dX+1 の x0 を変えたプロファイルを図⽰しました。また、値 x0 = 1024 に対して h の値を変えたΔ/δ~ dL/dX+1 のプロファイルを rp_K_1024.pdf に⽰しました。前者のプロファイルを⾒る限り dL/dX+1 は x0 に依存せず概ね⼀定の値なので |Δ/δ| がさほ
ど⼩さな値ではない場合でも近似式Δ/δ 〜 dL/dX+1 は有効だと思われます。さらに、後者のプロファイルのように「実験ごとに⼀定の値 h、a、b、c だけから計算した値 dL/dX+1」は「ケラレ補正していないδの値から補正したΔの値を導出するのに使える装置定数γ」と⾔えるかもしれません。
このことを確認するため、3/2 の E-mail で紹介した画素値ヒストグラムの図を修正しました。この E-mail に添付した hg_K.pdf です。測定名を "1406*_K" とした「his2raw によってケラレ補正をした RR の投影画像から再構成した位相画像の CT 値（RID の推定値）の画素値ヒストグラム（⻘線）」の図に「ケラレ補正なしの再構成画像のヒストグラムの CT 値を単純にγ= 0.65051 で割ったヒストグラム（緑線）」を追加しました。ただし、ここでは、測定 "1406*" の実際の refraction profile の観察によって決めた x0 と h の値を dL/dx + 1 の式に代⼊して計算したγの値を使いました。

104 / 194
測定 "1406*" の refraction profile の範囲 ≒ 6 〜 121→ ビニング数が 16 だったので、x1 〜 x2 ≒ 96 〜 1936
→ x0 = (x1 + x2) / 2 ≒ 1016 かつ h = (x2 - x1) / 2 ≒ 920
hg_K.pdf を⾒る限り his2raw によるヒストグラムと（理論的に導出した、真の意味での）装置定数を⽤いて得たヒストグラムはかなり違っています（残念です）。ただ、このようなアプローチは実験前の検討・準備の過程では重要な気がします。
とりあえず以上です。
On Mon, 29 Feb 2016 01:42:45 +0900 Kentaro Uesugi wrote:> 上杉です>> 切っ掛けを作った張本⼈なのに、出張に出ていてすっかり乗り遅れてしまいました。
> レインボーの画像が出てきたところで「おおこれで解決」と思っていたら> もうちょい続いてたんですね（あの画像にはケラレの影響の⼤⼩が、きちんと現れていたので）。
> 理論がどうこうではなく、推定の途中で⼊ってきた近似や仮定が> 実験条件に合っていなかったんだろうなと思います。
>> そんなに酷いケラレがある検出器を作ったのは誰だ、> と怒られそうなので、今⽇はこの辺で・・・>> ----- Original Message ----> > 中野様>>> > 正直ほっとしました。こちらも中野さんにいろいろ指摘してもらうことで> > ずいぶん理解を深めることができました。ありがとうございます。
> > ただまだ⾃分の認識も間違ってるところがあるかもしれませんし、> > またいろいろご指摘ください。

105 / 194
添付ファイル rp_K.pdf（１ページ⽬）

106 / 194
添付ファイル rp_K.pdf（２ページ⽬）

107 / 194
添付ファイル rp_K_1024.pdf

添付ファイル hg_K.pdf

108 / 194
添付ファイル rp.pdf

109 / 194
Date:Mon, 07 Mar 2016 19:19:35 +0900

From:

Tsukasa NAKANO

To:

上杉, "TAKEUCHI, Akihisa"

Cc:

Akira TSUCHIYAMA, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: ケラレ問題おわり

たけうちさま、
うえすぎさま、なかのです。すみません。先の E-mail に書き忘れていました。rp_K_1024.pdf に⽰したようにケラレによる「屈折で⽣じた X 線強度分布の重⼼の移動量の差Δ - δ」は分布の半幅 h に関して単調減少関数です。つまり、⾔われてみれば当たり前の話ですが、X 線ビームの幅を狭くして検出器の両端を使わないようにすればケアレの影響を減らすことができます。rp.pdf に⽰した昨年 11〜12 ⽉の SIXM 実験で使ったビームの幅が"1406*" のものよりも狭いのは、その効果を狙ったためですね？ とり急ぎ、

Date:Tue, 08 Mar 2016 14:46:54 +0900

From:

Tsukasa NAKANO

To:

上杉

Cc:

"TAKEUCHI, Akihisa", Akira TSUCHIYAMA, MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: ケラレ問題おわり

うえすぎさま、
たけうちさま、なかのです。E-mail ありがとうございます。
> 最近の実験で利⽤しているファイバーカップル式の検出器ではケラレ補正は不要だからです。
このことを確かめるため、昨年 11〜12 ⽉の SIXM 実験で撮影した測定 151201f と 151130l の位相 CT 画像をケラレ補正して再構成してみました。
検出器のケラレ特性を表す係数値：a = -0.0012、b = 2.2834、c = 19934
また、refraction profile から読み取った X 線強度分布の中央の位置（x0）と半幅の値（h）から「装置定数」を計算し、その値で補正していない再構成画像の CT 値を割っただけの「簡易版」のケラレ補正も⾏ってみました。

110 / 194
refraction profile の分布域、x1 = 17 〜 109
x0 = 16 × (17 + 109) / 2 = 1008
h = 16 × (109 - 17) / 2 = 736→ 装置定数 Δ / δ = dL/dX + 1 = 0.979616
これらの補正によって得た位相画像の画素値ヒストグラムをこの E-mail に添付した hg_K.pdf に⽰しました。
簡易版（緑線）と his2raw で補正したヒストグラム（⾚線）が補正なしのもの（⻘線）とほぼ完全に重なっているので、補正の有無による CT 値の違いは⾼々２%程度（1 - 0.979616 = 0.020384）です。上杉くんの⾔う
通り、ぼくもケラレ補正は不要だと思いました（つちやまさんがどう⾔うかわかりませんが）。とり急ぎ、
On Mon, 7 Mar 2016 22:54:20 +0900 Kentaro Uesugi wrote:> 中野さん>> 上杉です>> > > 上杉くんからの E-mail に記されていた「理論がどうこうということではなく」>> ⾃分がなんて書いたかあんまり覚えていないのですが、> 「理論はさておき、実験値を使って計算すれば良いんじゃないですかね」> という程度のニュアンスだったような気がします（若⼲思い出補正あり）。
> ⽵内さんのメールも⾔い⽅こそ違いますが、全編「計算してみてくれ」> だったと思います。この辺りは⽵内さんが数年前に散々悩んだところだったので、> 「ケラレ補正は有意である」というのは揺るぎない⾒解でした。
>> ところで、> > の SIXM 実験で使ったビームの幅が "1406*" のものよりも狭いのは、その効果> > を狙ったためですね？ とり急ぎ、> ですが、これはちょっと違います。前にも⽵内さんが⾔っているとおり、> 最近の実験で利⽤しているファイバーカップル式の検出器ではケラレ補正は不要だからです。
> 縦の画素サイズをスキャンピッチと同じくらいの 100nm にしようとした結果、> 結像光学素⼦と検出器の位置関係が決まり、その結果集光素⼦によりできた> Ｘ線の far-field 像が、検出器⾯上でそのサイズになったものです。

111 / 194
添付ファイル hg_K.pdf

Date:

Tue, 08 Mar 2016 17:25:11 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, Akira TSUCHIYAMA, MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: ケラレ問題おわり

たけうちさま、なかのです。E-mail ありがとうございます。
(1)> カメラ視野がビームサイズと同じ程度だとして、> 単純にプリズムみたいな⼀様な材質で傾斜を持つの境界を持つ試料を考えると、> カメラ位置でのビーム強度分布はどちらかに並⾏移動したものになりますが、> この場合並⾏移動したビーム全てをカメラ視野内に収めきれないことになります> 結果、計算される重⼼位置としては実際よりも⼩さい値として出てくることになります。
CT ⽤の測定を⾏う場合、これは X 線投影値 ln(I0) / ln(I) の SP（sum of projection）を計算すればチェックできますね。
(2)> 添付ファイルは、いろんな形状の試料に対して、位相の計算値が理論値とどの程度

112 / 194> 変わるのかを計算したものになります。
⽵内さんの添付ファイルに記されている計算は、ぼくが 2015/10/19 の E-mail で紹介した「吸収係数の空間勾配によって⽣じる X 線強度分布の重⼼のズレ」
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=105と同じことを議論している？ ぼくは吸収係数の空間勾配によって X 線の強度が変化する場合を考えましたが、これは（吸収係数が⼀様な）サンプルを透過する X 線の光路⻑（サンプルの厚さ）が変化する場合でも同様になります。とり急ぎ、
On Tue, 8 Mar 2016 07:51:42 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> ⽵内です。
> すみません家族がインフルエンザで今ゾンビハウス状態になっておりメールチェックが滞ってました。
>> こちらのコメントはだいたい上杉さんのナイスフォローどおりです。
> が、SIXM のビーム幅についてもう⼀点、付け⾜します。
>> カメラの視野に現在余裕をもたせているのは、> やはりそうしないと RID, LAC の計算値が正しく出てこないというのも理由の⼀つです。
> ただし、これはケラレなど検出感度ムラとは関係なく、単純に検出器の視野に関わる問題です。
>> カメラ視野がビームサイズと同じ程度だとして、> 単純にプリズムみたいな⼀様な材質で傾斜を持つの境界を持つ試料を考えると、> カメラ位置でのビーム強度分布はどちらかに並⾏移動したものになりますが、> この場合並⾏移動したビーム全てをカメラ視野内に収めきれないことになります> 結果、計算される重⼼位置としては実際よりも⼩さい値として出てくることになります。
> まあ上で「感度ムラと関係ない」と書きましたが、> 紙の上では「中⼼領域だけ感度 1、周辺は不連続に 0」の感度ムラを持つ検出器と同等になりますが。
>> 添付ファイルは、いろんな形状の試料に対して、位相の計算値が理論値とどの程度> 変わるのかを計算したものになります。
> 横軸は検出器視野幅を、検出⾯でのビームサイズで規格化したものです。
> 想定した試料の材質はポリスチレンのみですが、エッジが急峻になるほど> 検出器視野がビームサイズ程度では位相差の計算値が低く出ることがわかります。
> この計算からは、検出器視野はビームサイズの 3 倍は欲しいことになりますが、> これも試料のエッジがもっと急峻な場合とか考えるとキリがないです。
>> この計算は実はかなり初期のころにやったもので、すっかり忘れてました。

113 / 194> ポリスチレン球を標準試料に使って、どうしても位相の測定値が理論値より> 低くでる原因（約 7~8 割）がわからず、> ひょっとして検出器の視野が⾜りないのが原因かと思いやってみたのが添付の計算でした。
> 結果、「極端な試料」の場合、その予想はあっていましたが、> ポリスチレン球の場合は視野が 1 倍でもほとんど影響がないことがわかり> （添付グラフの Polystyrele sphere 8μm）、> 原因究明につながらずがっかりした記憶があります。
> ケラレに気がついたのはこの随分後でした。
>> ただ、これは今気がついたのですが、> ⽅形の試料は CT の測定をするとかならず「急峻なエッジを持つ極端な試料」の条件になりますね。
> 三宅さんたちと⼀度、サンプル形状について、⽅形でなく円形がよろしいようだ、> という話で盛り上がりましたが、そのときにこの計算をしていたことを思い出すべきでした。すみません。
>> ちなみに、> 光学理論上は、検出器の視野は、ビームサイズの 2 倍以上必要になります。
> たぶん、広いほどいいんでしょう。
> 実際は、上杉さんの⾔うように、結像光学系との倍率を合わせる位置でいわば「妥協」しています。

Date:Tue, 08 Mar 2016 19:42:12 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, Akira TSUCHIYAMA, MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: ケラレ問題おわり

たけうちさま、なかのです。先の E-mail に書いた (2) についてですが、ぼくが想定していた
厚さ S が⼀定値で X 線線吸収係数の空間分布がμ(r) = b - a・r のサンプルを X 線マイクロビームが透過している場合の X 線強度分布の重⼼の位置と、⽵内さんの計算に対応している（と思われる）
μが⼀定値で厚さが S(r)= b - a・r のサンプルをマイクロビームが透過している場合の重⼼の位置はほぼ同じ式（正確にはμと S の役割を⼊れ替えた式）になることがわかりました。それゆえ、マイクロビームの幅を R とすると、ぼくが想定していた条件下で X 線強度分布の重⼼（の位置の差）から SIXMの屈折⾓を正しく推定できるための条件式「a・S・R ≒ 0」は、⽵内さんの計算では「μ・a・R ≒ 0」になります（注：積 a・S・R とμ・a・R はどちらも無次元の値です）。μ・a・R ≒ 0 の⽅が実際のサンプルに応じた試算をしやすい条件式ですね。とり急ぎ、

114 / 194
Date:Wed, 09 Mar 2016 18:21:35 +0900

From:

Tsukasa NAKANOTo:"TAKEUCHI, Akihisa"

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: マイクロビームの重⼼

たけうちさま、なかのです。E-mail ありがとうございます。これは多分、どんな実験も上⼿く⾏くようにしたいスタッフと、⾃分達の実験が上⼿く⾏けば良いユーザの⽴場の違いによるものだ思いますが、⽵内さんが⾔われていることに同意できません。
(1)> また、当時も指摘させてもらいましたが、> 試料位置での強度分布と検出器位置での強度分布は> そのまま実空間同⼠で対応するわけではなく、フーリエ変換の関係にあり、> 僕の添付のやつはそれを基に計算してます。
SIXM で使っているのは結像光学系ですが、そのデータ解析ではサンプルと検出器の間の距離 L を無限⼤だとした（もしくは L の寄与を無視した）far field 近似で処理を⾏えば良いと理解しています（重⼼のシフト量を屈折⾓に変換する際には L を使いますが）。この時、「試料位置と検出器位置の X 線強度分布が実空間でそのまま対応している」と考えて良いのでは？
(2)> 僕の添付ファイルの計算は、> 「屈折によってビームが動いたとき、検出器視野が⾜りなくてビームがはみ出るような場合どうなるか」> であり、中野さんの 10/19 の議論は、> 検出器視野をビームがはみ出る場合を想定してるわけではないのではないでしょうか。
昨⽇の⼣⽅（2016/03/08 17:25）の E-mail の (1) に書いたように、ビームが視野からはみ出ていないかどうかは sum of projection や HIS 形式ファイルの上の refraction profile の画像をきちんと調べれば済む話です（ユーザの⽴場から⾔うと）。つまり、⽵内さんが計算された「どのような場合にビームが視野からはみ出るか」についてぼくは興味がありません。ぼくが気にしているのは、重⼼演算による（視野からはみ出ていない）
ビームのシフトの検出の是⾮を判定するための（⾃分達の測定サンプルに関わる）条件です。
以前に紹介した⽂書ファイル
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=105

115 / 194に記した（実空間⽤の）計算式を流⽤すると、幅 R のマイクロビームの左端を原点とする重⼼の位置 c は以下の式で表すことができます。
c / R = { (t - 1)*exp(t) + 1 } / { t * [ exp(t)-1 ] }

ただし、この式を⽀配する無次元の値 t の意味は以下の通りです。
厚さ S が⼀定で吸収係数の空間勾配∂μ/∂r がある場合、 t = (∂μ/∂r)・S・R
吸収係数μが⼀定で厚さの空間勾配∂S/∂r がある場合、 t = μ・(∂S/∂r)・R
μや S の空間勾配が -∞と +∞で c/R = 0 と c/R = 1 となります。つまり、（far field を仮定している限り）
重⼼はビームの内部（0 ≦ c ≦ R）を動くだけですが、実際の光学系に即した計算法ではそれはどうなるのか？（その場合、ビームの両端は霞んでいるでしょうから、重⼼もより広い範囲を動くことになる？）
なお、SIXM のビーム幅は R ≒ 100 nm = 10^-5 cm 程度、ぼく達のサンプルはμ < 10^4 cm^-1 です。それゆえ、∂S/∂r がべらぼうな値でない（|∂S/∂r|<10）⼀様なサンプルなら | t | < 1 であり、その場合には以下の式が成り⽴ちます。
c/R ≒1/2 + (1/12) * t→ c - R / 2 ≒ (1/12) * μ・(∂S/∂r)・R^2
この式が表す「重⼼の位置のビーム中央からのシフト」は現状の SIXM のデータ処理では「⾒かけの屈折」になります。それゆえ、ビームの幅を変えて同じサンプルを撮影すると、それ（ビーム幅）の２乗に⽐例した値
c - R / 2 に相当する微分位相の値を測定することになります。
まとまりのない話ですみません。とりあえず以上です。
On Tue, 8 Mar 2016 22:21:19 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> すみません、ちょっと今家庭内がパンデミックでして、回答が遅くなりました。
>> > ⽵内さんの添付ファイルに記されている計算は、ぼくが 2015/10/19 の E-mail> > で紹介した「吸収係数の空間勾配によって⽣じる X 線強度分布の重⼼のズレ」> > http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=105> > と同じことを議論している？
>> すみません。違うと思います。
> 僕の添付ファイルの計算は、> 「屈折によってビームが動いたとき、検出器視野が⾜りなくてビームがはみ出るような場合どうなるか」> であり、中野さんの 10/19 の議論は、> 検出器視野をビームがはみ出る場合を想定してるわけではないのではないでしょうか。
>> また、当時も指摘させてもらいましたが、

116 / 194> 試料位置での強度分布と検出器位置での強度分布は> そのまま実空間同⼠で対応するわけではなく、フーリエ変換の関係にあり、> 僕の添付のやつはそれを基に計算してます。
>> 「吸収係数⼀定で厚さが変化する場合」と> 「厚さ⼀定で吸収係数が変化する場合」で同じ意味になる件については同意です。
>> 取り急ぎ。
> みなさんもご⾃愛ください。

Date:

Fri, 11 Mar 2016 11:50:38 +0900

From:

Tsukasa NAKANO

To:

⽵内

Cc:

上杉 健太朗, "Akira TSUCHIYAMA", MATSUNO Junya, Aki Takigawa,Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Miyama Sugimoto, 三宅

Subject: Re: マイクロビームの重⼼

たけうちさま、なかのです。やっと話が⾒えてきました。SIXM の測定値（HIS 形式ファイルの画像の上の横⼀列の画素の値）
は「サンプルを透過した直後の（実空間における）X 線強度分布 f(r)」ではなく、「その Fourier 変換」に関連した値なのですね？ これに関する質問です。
(1) ここで⾔っている Fourier 変換（F 変換）とは、実空間でのサンプルの横⽅向の座標値 r に対応する空間
周波数を k として、
F(k) = ∫ f(r)・exp(-2・π・i・k・r) dr
ですか？
(2) 実関数の F 変換は複素関数になりますが、測定値は実数です。また、F 変換の実部 Re(F) やその絶対値|F| は偶関数になりますが、測定値はそうでない感じです。測定値と F 変換の対応関係を教えて下さい。
とり急ぎ、
P.S.
ここまで書いた後に⽵内さんからの E-mail を再読したら、「集光⾯と FarField 位置はフーリエ変換の関係になります」と書いてありました。これは「SIXM の測定値 f(r) はサンプル透過直後の X 線
強度分布だが、検出器の位置 r とサンプルに付随した座標値ρは単純な線形変換の対応関係になっていない」と⾔うことですか？ この「フーリエ変換の関係」とは？ ... これは「検出器⾯に直交する⽅
向の座標 s に関するフーリエ変換」なのでしょうね。

117 / 194
On Wed, 9 Mar 2016 18:32:36 +0900 "TAKEUCHI, Akihisa" wrote:> 中野様>> ご指摘ありがとうございます。
> 前の件でもそうですが、こちらも指摘していただいて今⼀度理解を深めるきっかけに> なるので⾊々と⾔っていただけるのはとてもありがたいです。
>> （１）> SIXM では現状、垂直⽅向に結像光学系、⽔平⽅向にマイクロビーム⾛査光学系> という配置で、重⼼演算等を⾏っているのは⾛査光学系に当たる部分です。
> 結像光学系では実空間そのままの対応で OK（さかさになりますが）ですが、> ⾛査光学系において、集光⾯と FarField 位置はフーリエ変換の関係になります。
>> (2)> これについては、前々回の中野さんの質問>>> ⽵内さんの添付ファイルに記されている計算は、ぼくが 2015/10/19 の E-mail>> で紹介した「吸収係数の空間勾配によって⽣じる X 線強度分布の重⼼のズレ」>> http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=105>> と同じことを議論している？
>> に対して、「違う件について議論をしている」とお答えしただけのつもりだったのですが・・・。
>> 議論がかみ合っていないようでしたらすみません。

118 / 194
Date:Tue, 15 Mar 2016 11:30:47 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-8

みなさま、
GSJ/AIST のなかのです。のんびりしていてすみません。次回（４⽉）の実験に間に合うよう、SIXM ⽤の新しいプログラムの説明の残りの主要な部分（プログラムの起動法の説明）を⽚付けてしまいます。
(1) 投影画像の変換プログラム(2) サンプルの回転中⼼の位置の推定⽤のプログラム(3) sinogram（SG）作成⽤のプログラム(4) 画像再構成⽤のプログラム(1) 投影画像の変換プログラム
以下の３×３種類（合計 18 個）のプログラムは "_" で区切ったプログラム名の前半の⽂字列が表す投影画像の変換処理を⾏ない、その結果の画像を "_" の後の⽂字列が表す形式のファイルに書き込みます。
ri2xp_bin RI/

nameFile VLR_file XP.bin

ri2xt_bin RI/

nameFile VLR_file XT.bin

rr2dpc_bin RR/ nameFile VLR_file SDD {-}Dp
ri2xp_gif RI/

DPC.bin

nameFile VLR_file Bx By {{min max} XP.gif}

ri2xt_gif RI/ nameFile VLR_file Bx By {{min max}
rr2dpc_gif RR/ nameFile VLR_file

Bx

XT.gif}By SDD {-}Dp {{minri2xp_[B,W,F,D]

RI/ nameFile VLR_file Bx ByXP/

ri2xt_[B,W,F,D]

RI/ nameFile VLR_file Bx By

XT/

rr2dpc_[B,W,F,D] RR/ nameFile VLR_file Bx By SDD {-}Dp

max}

DPC/

ここで、プログラム名の前半の⽂字列が表す変換処理の概要は以下の通りです。
ri2xp：RI（raw intensity）の投影画像を XP（X 線投影）のものに変換
ri2xt：RI の投影画像を XT（X 線透過率）のものに変換

DPC.gif}119 / 194
rr2dpc：RR（raw refraction）の投影画像を DPC（微分投影）のものに変換
また、後半の⽂字列が指す出⼒ファイルの形式は以下の通りです。
bin：以前の SIXM ⽤のプログラムで使っていたバイナリ形式
gif：動画として表⽰可能な GIF 形式[B,W,F,D]：RAW_[B,W,F,D] 形式
これらの投影画像の変換プログラムはいずれも起動パラメータとして指定されたディレクトリ RI/ や RR/ の下の RAW 形式画像ファイルのうちの nameFile と VLR_file で指定されたものだけを処理の対象とします。
RI/ もしくは RR/ と namFile
RI もしくは RR の投影画像が⼊っているディレクトリの名前とそれらの下の画像ファイルの選択や順序付けを⾏うための name file の名前
VLR_file
投影画像ごとの左右端の余⽩領域を指定するための VLR_file の名前。ハイフン "-" を指定するとその内容を標準⼊⼒から読む。
注
VLR_file で左右の余⽩領域の幅の値 L と R の両⽅に０を指定すると投影値 RI や RR の変換処理のうち「余⽩領域の値（RI_0 や RR_0）を使った原点調整」と「対数変換」の処理を⾏いません。
XP（X-ray projection）= - log(XT)
XT（X-ray transmittance）= RI / RI_0
DPC（differential phase contrast）= ( RR - RR_0 ) × Dp / SDD
ただし、Dp / SDD を掛けるスケーリング処理は⾏うので、RR の投影画像の 内 容 を 変え ず に バ イ
ナリ、GIF もしくは RAW 形式の画像ファイルに変換したい場合には "rr2dpc_*" ではなく "ri2xp_*"
や "ri2xt_*" を使えば起動パラメータ SDD と Dp の指定の⼿間を省けます。
上記のもの以外の起動パラメータの意味は以下の通りです。
SDD および Dp（"rr2dpc_*" のみ）
サンプルと検出器の間の実距離、および、RP（refraction profile）の検出器の間隔の実⼨（RP の画
像上の画素の横辺⻑）。微分位相の符号を変えたい場合には Dp として負の値を指定すれば良い。
Bx および By（"*_gif" と "*_[B,W,F,D]" のみ）変換した投影画像に対するビニングに使う横および縦⽅向に並んだ画素の個数（⾃然数）。１を指定すれば変換した画像のビニングを⾏わない。

120 / 194
min および max（"*_gif" のみ）
出⼒する GIF 形式画像の上の８ビット画素値０と 255 のそれぞれに対応させる XP、XT もしくはDPC の値。min < max でなければならない。これらの値の指定は２個⼀緒に省略可能で、その場合
は投影画像ごとにそこに含まれる XP、XT もしくは DPC の最⼩値と最⼤値で正規化した８ビット画素値になる（動画ではこれは不適当かもしれない）。
XP.bin、XT.bin もしくは DPC.bin（"*_bin" のみ）変換した画像のバイナリデータを書き込むファイルの名前。ファイル名の代わりにハイフン "-" を指定すると標準出⼒にデータを書き出すが、これは Windows では正常に機能しない（「⽂字化け」する）。
XP.gif、XT.gif もしくは DPC.gif（"*_gif" のみ）変換した画像を書き込む GIF 形式の画像ファイルの名前。"-" を指定すると標準出⼒にデータを書き出す（これは Windows では正常に機能しない）。また、このファイル名の指定は省略できる（後述）。
XP/、XT/ もしくは DPC/（"*_[B,W,F,D]" のみ）
変換結果を書き込む RAW 形式画像ファイルを格納するディレクトリ名前。ただし、変換後の画像のファイル名は RI/ や RR/ の下の変換前の画像のものと同じになる（RI/ や RR/ の下の投影画像すべてを対象とする場合、変換後の画像のファイルをそこに上書きしても問題ない）。
プログラム "*_gif" に GIF のファイル名を指定しなかった場合、以下の３個の値をタブコード区切りで並べた
投影画像ごとの⾏だけを標準出⼒に書き出します。
[1] 投影画像の番号（０〜）[2,3] その投影画像に含まれる XP、XT もしくは DPC の最⼩値と最⼤値
また、プログラム "*_[B,W,F,D]" も RAW 形式画像ファイルの書き込みと同時に上記のものと同じ内容・構成の投影画像ごとの⾏を標準出⼒に書き出します。
(2) サンプルの回転中⼼の位置の推定⽤プログラム
回転⾓が０と 180 度の状態のサンプルを撮影した RI もしくは RR の投影画像のペアを⽤いてサンプルの回転
中⼼（rotation center；いわゆる「センター値」）を推定する新しいプログラムが ri2rc もしくは rr2rc です。
ri2rc RI/ nameFile VLR_file {y1 y2} Rx Ry {RMSD.tif}
rr2rc RR/ nameFile VLR_file {y1 y2} Rx Ry {RMSD.tif}
これらはまず、起動パラメータ nameFile と VLR_file の記述に従ってディレクトリ RI/ や RR/ の下にある画像ファイルの選択や順序付けなどを⾏います。その後、回転⾓が０と 180 度の画像だと⾒なしたそれらのうちの最初と最後の画像だけを使ってサンプルの回転中⼼の位置を推定します。

121 / 194

ri2rc と rr2rc が実⾏する推定処理の原理は昨年６⽉の⼀連の E-mails で紹介した C-shell script "xp2rc.csh"と "xp2rc_dpc.csh"（および、それらと完全に互換な C ⾔語プログラム xp2rc と xp2rc_dpc）のそれぞれのものとまったく同じです。また、ri2rc と rr2rc の起動パラメータ y1、y2、Rx、Ry の意味と、それらが標準出⼒に書き出す⾏の構成・内容も以前に紹介したものと同じです。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/SIXM_mails.pdf#page=34
On Sat, 27 Jun 2015 20:27:00 +0900 Tsukasa NAKANO wrote:> xp2rc.csh はまず 180 度の画像を左右反転し、それと０度の画像の位置関係を> 平⾏移動によって変えながら両者が重なり合っている部分の「投影値の RMSD
> （root mean square differences）」が最⼩になっている配置を探し出します。
> また、xp2rc_dpc.csh では 180 度の画像に対して左右反転と同時に値の正負の> 反転を⾏った後に RMSD を計算します。こうして得た RMSD が最⼩になっている> ２画像の位置ズレ（０度の画像に付随した座標系における 180 度の画像を反転> した画像の原点の座標値）を (dx, dy) とすると、２画像の横画素数が同じなら、>センター値、x0 = ( 横画素数 - １ + dx ) / 2> となっているはずです。そして、「縦ズレ」の値 dy は SIXM の測定の間にサン> プルが「動いた」かどうかを評価するために使えます。
-------> ただし、これらの起動パラメータの意味は以下の通りです。
> ...
>y1 と y2>

RMSD の計算に⽤いる投影画像の縦（再構成画像のスライス）の範囲。

>

指定を省略するとスライスの範囲すべてが対象となる。撮影した物体像>の「影が濃い」部分だけを指定した⽅が推定の精度が向上するはず。

>

Rx と Ry>RMSD 計算を⾏う２画像の x および y ⽅向の位置ズレの相対的な範囲>を指定するためのパラメータ。例えば Rx = 0.5 を指定すると、０度の>画像に対して 180 度の画像を画像の横幅の半分だけ左に移動した状態>

から右に半分移動した状態までの配置すべてに対する RMSD を計算する。

>

なお、xp2rc.csh と等価な処理を⾏う（HASPET ⽤の画像再構成プログ>

ラム群のひとつである）C-shell script "center.csh" は Rx = 0.5、>

Ry = 0.25 を採⽤している。

-------> 最終的には、xp2rc.csh と xp2rc_dpc.csh のどちらも以下の２⾏・６個の値を> 標準出⼒に書き出します。
>

122 / 194>

１⾏⽬：センター値の探索範囲 x1 〜 x2 とセンター値の推定値 x0>

２⾏⽬：縦ズレの探索範囲 dy1 〜 dy2 と縦ズレの推定値 dy>> なお、dy の推定値の精度（？）は１画素幅ですが、前記の dx との関係式から> わかるようにセンター値は半画素幅まで意味があります。そして、x0 = x1 or> x0 = x2 や dy = dy1 or dy = dy2 の場合には RMSD が最⼩の配置が探索範囲の> 端なので、センター値や縦ズレの推定に失敗している可能性が⾼いです。
ri2rc と rr2rc ではサンプルの回転中⼼の推定に⽤いた「RMSD のマップ」を画像として出⼒できるようにしました。起動パラメータとしてファイル名（RMSD.tif）を指定すると横座標値が x1〜x2、縦座標値が dy1〜dy2に相当する範囲の RMSD のマップを RAW_B 形式の画像ファイルとして出⼒できます。xv なら以下の⼊⼒によって RMSD.tif を擬似カラー表⽰して眺めると良いと思います。
xv -preset 3 RMSD.tif# ⻘→緑→⾚の擬似カラー表⽰

xv -preset 4 RMSD.tif# ⿊→⻘→緑→⻩→茶の擬似カラー表⽰

すみません。⻑い E-mail になったので残りの説明は次便に回します。とり急ぎ、

Date:Sat, 19 Mar 2016 15:43:43 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-9

みなさま、
GSJ/AIST のなかのです。またもや間が空いてすみません。3/15 の E-mail で書き残した SIXM ⽤の新しいプ
ログラムの説明の続きです。
(3) sinogram（SG）作成⽤のプログラム
以下のプログラムを使えば SIXM の XP、DPC と位相回復した DPC（もしくは、VLR_file の指定に応じた RIと RR）のそれぞれの sinogram を作成できます。
ri2sg_[B,W,F,D]

RI/

nameFile VLR_file {layer1 layer2} SG_format

rr2sg_[B,W,F,D] RR/ nameFile VLR_file {layer1 layer2} SDD {-}Dp {Dr}

SG_format

123 / 194
これらはいずれも、ディレクトリ RI/ や RR/ の下の nameFile と VLR_file で指定された RAW 形式の投影画
像から様々な sinograms（後述）を作成し、それらをプログラム名の後半部分が指している４種類の RAW 形式の画像ファイルのそれぞれに書き込みます。
2/24 の E-mail で説明したように、VLR_file で投影画像の左右端の余⽩領域の幅 L と R の両⽅に値０を指定
すると "ri2sg_*" と "rr2sg_*" は RI と RR のそれぞれの値そのものを保持した sinograms を作成します。これらは投影画像の左右端の余⽩領域の決定やチェックの処理に使うと便利です。
VLR_file で０でない L と R を指定した場合、プログラム "ri2sg_*" は XP の値を保持した sinograms を作成するだけです。それに対して "rr2sg_*" は後述する起動パラメータ Dr の指定の有無に応じて DPC（Dr を指定しなかった場合）と「位相回復した DPC」
（Dr を指定した場合）のそれぞれの sinograms を作成できます。
前者の DPC の sinogram の使途は今の所は特になしですが、後者は CUDA GPU の上で⾛るものを含む通常の吸収 CT ⽤のプログラムで処理することにより位相 CT の画像を再構成できるので有⽤です。
XP および位相回復した DPC の sinogram を作成すればサンプルの回転中⼼の位置を様々に変えた画像
再構成のテストを⾼速に実⾏できます。その処理⼿順については別便で説明します。
プログラム "ri2sg_*" と "rr2sg_*" の起動パラメータの意味は以下の通りです。
RI/ もしくは RR/ と namFile
RI もしくは RR の投影画像が⼊っているディレクトリの名前とそれらの下の画像ファイルの選択や順序付けを⾏うための name file の名前
VLR_file
投影画像ごとの左右端の余⽩領域を指定するための VLR_file の名前。ハイフン "-" を指定するとその内容を標準⼊⼒から読む。
注
画像再構成⽤の VLR_file では "$" だけの⾏を指定するなどしてサンプルの回転⾓が 180 度の投影画像を処理の対象から外して下さい。
layer1 と layer2
sinogram を作るスライスの範囲。layer1 < layer2 でなければならない。これらの値は２個⼀緒に指定を省略でき、その場合には可能なスライスすべての sinograms を作成する。
SDD および Dp（"rr2sg_*" のみ）
SIXM のサンプルと検出器の距離および RP（refraction profile）の画像上の画素の横幅。微分位相の符号を変える必要がある場合は負の Dp を、また、単位が 1e-6（10 のマイナス６乗）の RID の値を再構成したいのなら単位が m の SDD とμm（= 1e-6 m）の Dp の値を指定すれば良い。

124 / 194
Dr（"rr2sg_*" のみ）
位相回復した DPC の投影画像の画素の横幅（= RR の画像の画素の横幅）。その sinogram を通常の吸収 CT ⽤のプログラム（例えば、sg2tgs）で画像再構成する場合は "rr2sg_*" と sg2tgs の両⽅の起動パラメータ Dr に同じ値（例えば、１）を指定すれば良い。"rr2sg_*" の Dr の値の指定を省略す
ると DPC の sinogram を作成する。
SG_format
再構成した位置（0〜；投影画像の縦座標値）のスライスの sinogram を格納する RAW 形式の画像フ
ァイルのパス名を決定するための C ⾔語の標準関数 sprintf() にそのまま引き渡す format 記述⽤の⽂字列。以下のような⽂字列を指定すれば良い（ただし、以下の例で⽤いているディレクトリ SG は
事前に⾃分で作成しておく必要がある）。
SG/%d
ディレクトリ SG の下のスライスの位置（スライス番号）そのものを名前とするファイル（SG/0 など）に書き込む。
SG/%03d
SG の下に左０埋めした３桁で表現した 000 のようなスライス番号を名前とするファイに書き込む。
SG/%03d.tif
拡張⼦として ".tif" を付けた名前のファイルに書き込む。
注
Windows のバッチファイルでは "%" は特殊記号なので、そう解釈されないように "%%" として下さい。なお、Windows のコマンドプロンプトでは "%" をそのまま使っても問題ありません。
"ri2sg_*" と "rr2sg_*" はどちらも sinogram をファイルに出⼒すると同時に以下の３個の数値をタブコード
区切りの⾏構成で標準出⼒に書き出します。
[1] スライス番号[2,3] その sinogram に含まれる値の最⼩値と最⼤値(4) 画像再構成⽤のプログラム
以下のプログラムを使えば SIXM の吸収と位相のそれぞれの CT 画像（tomogram、TG）を再構成できます。
ri2tg_[W,F,D]

RI/

rr2tg_[W,F,D] RR/

nameFile VLR_file {layer1 layer2} Dr
nameFile

Or RA0 TG_format

VLR_file {layer1 layer2} SDD{-}Dp Or

RA0 TG_format

これらはいずれも、ディレクトリ RI/ や RR/ の下の nameFile と VLR_file で指定された RAW 形式の投影画像を⽤いて SIXM の３次元 CT 画像を再構成し、そのスライス画像のそれぞれをプログラム名の後半部分が指125 / 194
している３種類の RAW 形式（RAW_B 形式がないことに注意）の画像ファイルに書き込みます。
以前のものと同様に SIXM ⽤の新しいプログラムも再構成画像の浮動⼩数点数の画素値のデータ全部を計算
機のメモリに保持して処理を⾏います。そのデータの型を４バイト⻑の単精度浮動⼩数点数（float）に設定してあるので、この処理には「再構成画像の画素数×４」バイトの計算機メモリが最⼩限必要です。特に、利⽤可能なメモリ量の上限が２ギガバイト（= 2^31 バイト）の 32 bit OS 機を使う場合、各辺沿いの画素数が(2^31 /４)^(1/3) ≒ 812.75 の⽴⽅体画像までしか再構成できません（同じ理由で、搭載メモリ量が少ない
CUDA GPU 上で⾛る SIXM ⽤の画像再構成プログラムも作成しませんでした）。
これまた以前のものと同様に "ri2tg_*" と "rr2tg_*" も環境変数 "THREADS に設定されている個数のマルチスレッドを使って画像再構成を並列に処理します。これらのプログラムの起動前に以下のように⼊⼒して使⽤するスレッド数を設定して下さい（これを省略すると THREADS の設定値が１であると⾒なされます）。
log-in shell が sh の場合：THREADS=スレッド数 ; export THREADS
bash：export THREADS=スレッド数
csh もしくは tcsh：setenv THREADS スレッド数
Windows のコマンドプロンプト：set THREADS=スレッド数
新しいプログラムはこの画像再構成のマルチスレッド処理と並列に投影画像のファイルの読み込みを⾏います（つまり、正確には、新しいプログラムは THREADS の値に１を加えた個数のマルチスレッド処理を⾏います）。そのため、"ri2tg_*" と "rr2tg_*" の全体的な処理速度は以前のものに⽐べてかなり向上しました。
さて、"ri2tg_*" と "rr2tg_*" の起動パラメータの意味は以下の通りです。
RI/ もしくは RR/ と namFile
RI もしくは RR の投影画像が⼊っているディレクトリの名前とそれらの下の画像ファイルの選択や順序付けを⾏うための name file の名前
VLR_file
投影画像ごとの左右端の余⽩領域を指定するための VLR_file の名前。ハイフン "-" を指定するとその内容を標準⼊⼒から読む。
注
画像再構成⽤の VLR_file では "$" だけの⾏を指定するなどしてサンプルの回転⾓が 180 度の投影画像を処理の対象から外して下さい。
layer1 と layer2
再構成を⾏うスライスの範囲。layer1 < layer2 でなければならない。これらの値は２個⼀緒に指定を省略でき、その場合には可能なスライス画像すべてを再構成する。

126 / 194
Dr（"ri2tg_*" のみ）
投影画像の画素の横幅。吸収 CT のスライス画像の正⽅形画素の辺⻑もこの値になる。単位が 1/cmの LAC の値を再構成するためには単位が cm の Dr の値を指定する必要がある。
SDD および Dp（"rr2tg_*" のみ）
SIXM のサンプルと検出器の距離、および、RP（refraction profile）の画像上の画素の横幅。微分位相の符号を変える必要がある場合は負の Dp を、また、単位が 1e-6（10 のマイナス６乗）の RID の値を再構成したいのなら単位が m の SDD とμm（= 1e-6 m）の Dp の値を指定すれば良い。
Or
サンプルの回転中⼼の位置（いわゆる「センター値」）。単位は画素幅。
RA0
サンプルの回転⾓のバイアス値（単位は度）。０以外の値を指定すると物体像がその⾓度だけ反時計回りの⽅向に回転したスライス画像になる。なお、この回転に伴う CT 画像の画質の低下はない。
TG_format
再構成した位置（0〜；投影画像の縦座標値）のスライスの画像を格納する RAW 形式のファイルのパス名を決定するための C ⾔語の標準関数 sprintf() にそのまま引き渡す format 記述⽤の⽂字列。
以下のような⽂字列を指定すれば良い（ただし、以下の例で⽤いているディレクトリ TG は事前に⾃分で作成しておく必要がある）。
TG/%d
ディレクトリ TG の下のスライスの位置（スライス番号）そのものを名前とするファイル（TG/0 など）に書き込む。
TG/%03d
TG の下に左０埋めした３桁で表現した 000 のようなスライス番号を名前とするファイに書き込む。
TG/%03d.tif
拡張⼦として ".tif" を付けた名前のファイルに書き込む。
注
Windows のバッチファイルでは "%" は特殊記号なので、そう解釈されないように "%%" として下さい。なお、Windows のコマンドプロンプトでは "%" をそのまま使っても問題ありません。
"ri2tg_*" と "rr2tg_*" はどちらも再構成画像をファイルに出⼒すると同時に以下の３個の数値をタブコード
区切りの⾏構成で標準出⼒に書き出します。
[1] スライス番号[2,3] そのスライス画像に含まれる CT 値の最⼩値と最⼤値
2/2 の E-mail で紹介した SIXM ⽤の新しいプログラムの説明はとりあえずこれで終わりです。次便では最近書いた SIXM ⽤の C-shell scripts を紹介します。とり急ぎ、

127 / 194
Date:Sat, 19 Mar 2016 16:04:22 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-10

みなさま、
GSJ/AIST のなかのです。先の E-mail に添付し忘れていました。SIXM ⽤の新しいプログラムの起動法を記載したテキストファイル sixm_usage.txt を送ります。2/2 と 2/18 の E-mail に書いたものに加えて、先の Email で触れた C-shell scripts の起動法も記してあります。これらはすべて以前に紹介した SIXM ⽤の新しい書庫ファイルに⼊れてあります：
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zip
とり急ぎ、
添付ファイル sixm_usage.txt
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_usage.txt

Date:Thu, 24 Mar 2016 11:56:33 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-11

みなさま、
GSJ/AIST のなかのです。SIXM の新しいプログラム⽤の書庫ファイルに追加した以下の４種類（合計７個）の C-shell scripts の使い⽅を説明します。
[1] his2rp.csh HIS_file scans view darks x_RAW {x_RAW ...} RP_format
HIS 形式のファイルから暗電流補正済みの refraction profile（RP）の画像を取り出す。
[2] test_a.csh RI/ nameFile

VLR_file layer Dr Or1 Or2 Test_A/

test_p.csh RR/ nameFile VLR_file layer SDD

Dp Or1

Or2

Test_P/

128 / 194
SIXM の吸収もしくは位相の CT 画像の指定したスライスに対して回転中⼼の位置を 0.5（画素幅）刻みで変えた画像再構成のテストを⾏う。
[3] pile_h.csh test/|word/|byte/
pile_v.csh

test/|word/|byte/base step

images rows cols

pile.tifbase step

images rows cols

pile.tif

３次元 CT 画像の指定した範囲・間隔のスライスの画像を横もしくは縦⽅向優先の順でマトリックス
状に並べた画像を作成する。
注
これらは SIXM のものに限らず TIFF のスライスから構成される３次元 CT 画像の⼤多数を処理可能な汎⽤な C-shell scripts です（画像上の CT 値の値域を image description tag として記録していな
い TIFF に対しては警告が発せられますが、それに伴う実質的な問題はありません）。
[4] draw_a.csh word|byte x y z Dr/Dz
draw_p.csh word|byte x y z Dr/Dz
SIXM の吸収と位相のそれぞれの３次元 CT 画像上の指定した点を通る xy、xz および zx 断⾯の３枚のスライス画像と、画素値ヒストグラムの合計４個の図を縦横に並べた PostScript（PS）データを出⼒する。
注
HASPET ⽤の C-shell script "word.csh" や "byte.csh" で作成した word 画像や byte 画像もdraw_a.csh で処理することが可能です。
この E-mail に添付した PDF ファイル 151120n_test.pdf が上記の [2] と [3] の、また、151120n_draw.pdf
が [4] の C-shell script の実⾏例です。これらの上部に記した端末⼊⼒を⾏えば下部に⽰した画像や図を作成できるはずです。
(0) SIXM ⽤の C-shell scripts を⾛らせるための準備
SIXM ⽤に書いた C-shell scripts の処理では SIXM ⽤のプログラム以外のものも使⽤します。それらのうちでぼくが書いたものは SIXM ⽤の書庫ファイル
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zipに⼊れてある C-shell script "install.4csh" を使えばインストールできます。インターネットにつながっている（UNIX）計算機の端末を開いて実⾏パスに登録済みのディレクトリに移動した後、以下を⼊⼒して下さい。
csh 書庫ファイルを展開したディレクトリ/sixm/install.4csh
これによって得たもの以外にも pile_[h,v] の実⾏には gs（ghost-script）が、また、draw_[a,p].csh には
gnuplot（GNU plot）が必要です。これらを⾃分の計算機で使えるかどうかは "gs -h" もしくは "gnuplot -h"と端末⼊⼒すればわかります（これらがない場合には⾃分でインストールして下さい）。

129 / 194(1) his2rp.csh
2/12 の E-mail で説明したようにプログラム his2tiff を使えば SIXM で得た HIS 形式ファイルから RP の画像を取り出すことができます。ただし、それをファイル上の格納の順番に相当する番号で指定するのは不便です。
また、RP の画像を実⽤に供するには暗電流補正を⾏う必要があります。これらのことを補うために his2rp.csh
を書きました。その起動法は以下の通りです。
his2rp.csh HIS_file scans view darks x_RAW {x_RAW ...} RP_format
his2rp.csh の起動パラメータの意味は以下の通りです。
HIS_file
HIS 形式ファイルのパス名（これまでに得たファイル名はすべて a.HIS）
scans
SIXM のサンプル回転⾓ごとのスキャンの数。HIS 形式ファイルと⼀緒に作成されたログファイル（常に a.log だった）の１⾏⽬のコンマ区切りの値のうちの最初のものを指定すれば良い。
view
ここで取り出そうとしている RP の画像から算出した画素値を格納する投影画像の番号。０以上かつ「ログファイルの１⾏⽬のコンマ区切りの２番⽬の値」未満の整数値でなければならない。
darks
HIS 形式ファイルに格納されている暗電流画像の枚数。ログファイルのの１⾏⽬のコンマ区切りの３番⽬の値を指定すれば良い。
x_RAW
ここで取り出そうとしている RP の画像から算出した画素値を格納する投影画像の上の x 座標値。
０以上 scans -1 未満の整数値でなければならない。複数個の x_RAW の値を指定すると暗電流補正済みの複数個の RP の画像を⼀度の his2rp.csh の起動で取り出すことができる。
RP_format
暗電流補正済みの RP の画像を書き込む RAW_W 形式画像のファイルのパス名を決める C ⾔語の標準関数 sprintf() にそのまま渡す format の⽂字列。起動パラメータの値から darks + view × scans+ 1 + x_RAW によって計算される HIS 形式ファイルの上の格納順に相当する⾃然数がファイル名の⼀部になるように、以下のような⽂字列を指定すれば良い。
RP/%d
ディレクトリ RP（事前に⾃分で作成しておく必要がある）の下の格納順そのもの（101 など）を名前とするファイル
RP/%06d
RP の下の「左０埋めした６桁表⽰の格納順（000101 など）」を名前とするファイル
RP/%06d.tif
拡張⼦として ".tif" を付けたファイル名

130 / 194
起動パラメータとして指定した x_RAW の値ごとの暗電流補正済みの RP の画像の RAW_W 形式のファイルを出⼒すると同時に、hi2rp.csh は以下の５個の値をタブコード区切りで並べた⾏を標準出⼒に書き出します（これらのうちの４番⽬と５番⽬の値は冗⻑なオマケの情報です）。
[1] その RP 画像の HI 形式ファイル上の格納の順番を表す⾃然数[2,3] その画像に含まれる暗電流補正済みの RP の値の最⼩値と最⼤値[4] 暗電流補正済みの RP の最⼩値（上記の２番⽬とまったく同じ値）[5] 暗電流補正済みの RP の最⼤値と最⼩値の差を 65535 で割った値(2) test_[a,p].csh
SIXM ⽤のプログラムには指定した１枚のスライス画像だけを回転中⼼の位置を変えて再構成するテスト⽤のものがありません。プログラム "r[i,r]2tg_*" でこの処理を⾏うことができますが、それでは時間がかかりすぎます（SIXM ⽤の画像再構成プログラムのコードは多数のスライス画像を⼀度に⾼速に処理できる設計になっています）。そこで、この画像再構成のテストを以下の３ステップの処理で⾼速に実⾏する C-shell scripts"test_[a,p].csh" を書きました。
[1] SIXM ⽤のプログラム "r[i,r]2sg_W" を使って RI もしくは RR の画像から吸収もしくは位相画像の再構成⽤の sinogram の画像を作成する。
[2] SIXM ⽤のプログラム raw2bin を使って sinogram の（RAW_W 形式の）画像ファイルをバイナリ形
式の画像ファイルに変換する。
[3] 通常の吸収 CT の画像再構成のテスト⽤のプログラム sg2tgs を使って sinogram のファイルから回転中⼼の位置を変えた複数の画像を再構成する。
test_a.csh と test_p.csh が SIXM の位相と吸収 CT のそれぞれの画像再構成のテスト⽤の C-shell script です。
それぞれの起動法は以下の通りです。
test_a.csh RI/ nameFile

VLR_file layer Dr Or1 Or2 Test_A/

test_p.csh RR/ nameFile VLR_file layer SDD

Dp Or1

Or2

Test_P/

また、これらの起動パラメータの意味は以下の通りです。
RI/ もしくは RR/ と namFile
RI もしくは RR の投影画像が⼊っているディレクトリの名前とそれらの下の画像ファイルの選択や順序付けを⾏うための name file の名前
VLR_file
投影画像ごとの左右端の余⽩領域を指定するための VLR_file の名前。ハイフン "-" を指定するとその内容を標準⼊⼒から読む。なお、ここで指定する VLR_file では "$" だけの⾏を指定するなどして131 / 194
サンプルの回転⾓が 180 度の投影画像を処理の対象から外す必要がある。
layer
画像再構成の対象とするスライスの番号（= 投影画像の縦座標値）。
Dr（test_a.csh のみ）
投影画像の画素の横幅。吸収（および位相）CT のスライス画像の正⽅形画素の辺⻑もこの値になる。
単位が 1/cm の LAC の値を再構成するためには単位が cm の Dr の値を指定する必要がある。
SDD および Dp（test_p.csh のみ）
SIXM のサンプルと検出器の距離、および、RP の画像上の画素の横幅。微分位相値の符号を変える
場合は負の Dp の値を、また、単位が 1e-6（10 のマイナス６乗）の RID の値を再構成したいのなら単位が m の SDD とμm（= 1e-6 m）の Dp の値を指定すれば良い。
Or1 と Or2
サンプル回転中⼼の位置（いわゆる「センター値」）の下限と上限の値。test_[a,p].csh は
Or = Or1 + 0.5 × i、 i = 0、1、...、floor(( Or2 - Or1 ) /0.5)として計算した 0.5 刻みの回転中⼼の位置 Or のそれぞれを使った画像再構成（のテスト）を⾏う。
Test_A/ と Test_P/
画像再構成のテストに⽤いたスライス位置 layer の sinogram の画像ファイル「layer.tif」と、回転中⼼として上記の値 Or のそれぞれを指定して再構成した画像のファイル「layer_Or.tif」（Or に⼩数点が含まれている場合はそれを "_" に置換した⽂字列をファイル名に使う）を格納するディレクトリ
の名前。ただし、このディレクトリは事前に各⾃で作成しておく必要がある。
上記の sinogram の画像と再構成画像はどちらも RAW_W 形式の画像ファイルに書き込まれます。そして、それと同時に、test_[a,p].csh は以下の４個の値をタブコード区切りで並べた⾏を標準出⼒に書き出します。
[1] スライス位置 layer[2] 回転中⼼の位置 Or[3,4] その再構成画像に含まれる CT 値の最⼩値と最⼤値(3) pile_[h,v].csh
pile_[h,v].csh は以下の⼀連の処理を⾏う汎⽤の C-shell scripts です。
[1] 指定されたディレクトリの下に TIFF 形式の画像ファイルだけがあると仮定して、それらの名前の辞
書式（英数字）順のリストから指定された順番のものだけを処理対象として選び出す。
[2] ghostscript を利⽤するプログラム add_label を使ってそれぞれの画像の左上隅に「ファイル名から
拡張⼦ ".tif" を取り除いた⽂字列」を、また、右下隅に「TIFF の image description tag として記録されている画像上の CT 値の値域」を「ラベル」として埋め込む。

132 / 194[3] プログラム pile_gray を⽤いて、それらの画像を指定された個数づつ横および縦にマトリックス状に並べた画像を作成する。
ただし、処理対象の画像の横と縦それぞれの画素数の最⼤値を Nx と Ny として、それぞれの画像に埋め込む
ラベルの英数字（Helvetica）フォントのサイズと、それらの画像の間の「余⽩」の幅を以下の値（単位は画素幅）にしています。
左上隅のラベルのフォントのサイズ = 0.075 × Ny
右下隅のラベルのフォントのサイズ = 0.0625 × Nx
画像間の余⽩の幅 = 0.0125 × ( Nx + Ny )pile_h.csh と pile_v.csh はそれぞれ複数個の画像を横⽅向優先（左から右）もしくは縦⽅向優先（上から下）の順でマトリックス状に並べます。これらの C-shell scripts の起動法は以下の通りです。
pile_h.csh test/|word/|byte/base step

images rows cols

pile.tif

pile_v.csh

base step

images rows cols

pile.tif

test/|word/|byte/

また、これらの起動パラメータの意味は以下の通りです。
test/|word/|byte/
３次元（CT）画像を構成するスライス画像の TIFF 形式ファイルだけが格納されているディレクトリ
の名前
base、step および images
そのディレクトリの下のファイルのうち名前の辞書式順 n（=０〜）がn = base + step × i、i = 0、1、...、images - 1になっているものだけをここでの処理の対象とする。
rows と cols
マトリックス状に並べる画像の横と縦それぞれの個数
注
rows×cols < images なら pile_[h,v].csh は i ≧ rows×cols の画像を処理の対象から除外します。
pile.tif
マトリックス状に並べた画像を書き込む TIFF 形式画像ファイルの名前。
pile.tif の出⼒に先⽴ち、pile_[h,v].csh は処理対象の画像それぞれに関する以下の３個の値をタブコード区切りで並べた⾏を標準出⼒に書き出します。

133 / 194[1] その画像のファイル名[2,3] その画像上の CT 値の最⼩値と最⼤値
なお、この E-mail に添付した PDF ファイル 151120n_test.pdf に⽰されているように、test_[a,p].csh で再構成した画像だけを並べたい場合は sinogram の画像を除外するために pile_[h,v].csh の起動パラメータのbase として値１を指定してやる必要があります。
(4) draw_[a,p].csh
draw_[a,p].csh は以下の⼀連の処理を⾏う C-shell script です。
[1] 指定されたディレクトリの下の３次元（CT）画像の上の指定された点を通る相互に直交する３断⾯の画像を取り出す。ただし、これらのうちの xy 断⾯は３次元画像のスライス画像そのものであり、それ以外の xz と zy 断⾯の画像をプログラム si_rar を使って新たに切り出す。
[2] 指定されたディレクトリ名に拡張⼦ ".csv" を付けた名前の CSV ファイルに格納されているデータをもとにして gnuplot で３次元画像全域の画素値ヒストグラムの図を描く。
[3] これらの３個の画像とヒストグラムの図を縦横に並べた PS 出⼒を⾏う。
draw_a.csh と draw_p.csh の違いは画素値ヒストグラムの横軸に付した CT 値の「種類」（"LAC" or "RID"）とそれらの単位（"1/cm" or "1e-6"）だけです。これらの C-shell scripts の起動法は以下の通りです。
draw_a.csh word|byte x y z Dr/Dz
draw_p.csh word|byte x y z Dr/Dz
また、起動パラメータの意味は以下の通りです。
word|byte
３次元（CT）画像が格納されているディレクトリの名前およびその３次元画像全域の画素値ヒスト
グラムが格納されている CSV ファイルの名前から拡張⼦ ".csv" を取り除いた⽂字列。
x、y および z
３次元画像の上の点の（整数値の）座標値
Dr/Dz
３次元画像の画素の x および y ⽅向の辺⻑（CT 画像なのでこれらが同じ値だと仮定した）の値 Drと z ⽅向の辺⻑ Dz の⽐の値。なお、この E-mail に添付した PDF ファイル 151120n_draw.pdf に⽰されているように、値 Dr/Dz を単純な数式として与えても良い。
draw_[a,p].csh は３断⾯の画像とヒストグラムの図（合計４図）を縦横２×２のレイアウトで並べた PS のASCII text のデータを標準出⼒に書き出すので、各⾃でそれをファイルにリダイレクトするなどして下さい。

134 / 194
⻑い E-mail になりました。とりあえず以上です。
添付ファイル 151120n_test.pdf

添付ファイル 151120n_draw.pdf

135 / 194
Date:Thu, 24 Mar 2016 12:41:59 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-12

みなさま、
GSJ/AIST のなかのです。すみません。先程お送りした E-mail の SIXM ⽤の C-shell scripts の説明で書き忘れていたことがありました。
まず、draw_[a,p].csh が出⼒する PostScript（PS）のデータのヒストグラムの図のサイズは３インチ×３インチです。それに合わせて断⾯の画像の z ⽅向の⻑さも３インチになっています。そして、断⾯の画像の x とy ⽅向の⻑さは起動パラメータ Dr/Dz の値から計算した⻑さになっています（⽐の値 Dr/Dz として正しい値を指定すれば、これらの画像はサンプルの実⼨に即したアスペクト⽐になるはずです）。
また、これと関連して、pile_[h,v].csh でマトリックス状に並べた画像はもとのスライス画像そのものです（拡⼤・縮⼩や画素値の置換を⾏っていません）。
とり急ぎ、

Date:

Thu, 24 Mar 2016 18:52:38 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:MIYAKE, Aki Takigawa, MATSUNO Junya, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, Akihisa TAKEUCHI

Subject: SIXM_1511-12_クリープ？

つちやまさま、
うえすぎさま、なかのです。４⽉の SIXM 実験での再撮影をお願いしたサンプル Nano-1（測定 151130n）の「クリープ」に関する話です。結論を先に⾔うと、2/25 の E-mail で報告した吉⽥くんの⽯英（Yoshida-2-Qtz、測定 151130l）
ほどひどくはないですが、昨年 11〜12 ⽉の SIXM 実験で撮影した複数のサンプルが測定中に鉛直（上下）⽅向にクリープしていたようです。このことはこの E-mail に添付した２個の PDF ファイル sp_nano.pdf とsp.pdf に⽰した sum of projection（SP）の画像を観察していて気づきました。

136 / 194
まず、Nano-1 に関する「そもそも」の話をします。このサンプルには SIXM のスキャンの幅（=投影画像の画
素の横幅= CT 画像の画素の辺⻑）よりも微⼩な多数の ultra-nanolite の粒⼦が含まれていると聞いています。
これらは吸収画像に対しては⾒かけの密度を変えるだけですが、物体像の界⾯の有無に敏感な位相画像では何らかの「異常」となって現れる可能性があります。それがどんな異常なのかは現時点では不明です。そして、
Nano-1 の SIXM 画像を再構成した時も吸収と位相の画像の顕著な違いに気付きませんでした。
ところで、2/13 の E-mail で上杉くんが指摘してくれたように、Nano-1 の吸収画像の「センター値」が間違っていました。ぼくは Nano-1 の画像再構成の際に SIXM ⽤の新しいプログラム r[i,r]2rc で推定したセンター
値を使いましたが、吸収と位相の画像でその推定値が違っていたので「縦ズレ」の値が⼩さかった位相画像に対するセンター値の推定値を吸収画像の再構成に流⽤しました。そして、これがダメだったということです。
rr2rc は位相回復していない微分位相の値を使って位相画像⽤のセンター値を推定するので、それと吸収画像⽤の推定値の⾷い違いは位相回復の処理ではなく「refraction profile の重⼼の位置の差を微分位相の値に対応する屈折⾓と⾒なすこと」に起因すると考えられます。
3/11 の E-mail で⽵内さんに教えてもらった後、SIXM の refraction profile の重⼼に関する考察は進んでいません。それで、とりあえずは Nano-1 の吸収と位相の SP を調べてみました（位相の SP は位相回復後のデー
タなのですが、...）。
sp_nano.pdf に Nano-1 のものとその直後にサンプル Si-1_can を撮影した測定 151130o の SP の画像などを並べてあります（151130o は対⽐⽤のつもりです）。CT が可能なためには SP の画像の各縦位置（CT 画像のスライス位置に相当）の値が横位置（サンプル回転⾓に相当）に関わらず⼀定でなければなりません。Nano1 の吸収の SP ではこれが成り⽴っていますが、位相の SP ではその値のバラツキが⼤きいです。これは
sp_nano.pdf の右端のグラフからも明らかです。
sp_nano.pdf の右端のグラフ（mean±SD）の３本の線
⻘線：回転⾓に関する SP の平均値 - 標準偏差
緑線：回転⾓に関する SP の平均値
⾚線：回転⾓に関する SP の平均値 + 標準偏差
しかし、これは 151130o でも同様なので、位相の SP のバラツキが吸収のそれに⽐べて⼤きいのは位相回復の処理が原因だと思われます。このように SP では Nano-1 の位相データの異常が⾒つからなかったのですが、それ以外の妙なことに気づきました。Nano-1 のサンプルの下端（この時の SIXM では倒⽴像を撮影しているので実空間ではサンプルの上端）における標準偏差の値が吸収と位相のどちらの SP でもかなり⼤きい。
151130o ではそうなっていないので「これは」と思ってよくよく眺めると、Nano-1 のサンプルの下端に相当する SP の値が急変する部分（線）が右上がりになっていることに気づきました。つまり、測定中にサンプルが（実空間で鉛直下向きに）クリープしていたようです。そう思って眺めてみると Nano-1 の０度と 180 度の投影画像も鏡像になっていません。

137 / 194
このように、SP の画像を使って Nano-1 の測定中のクリープを⾒つけることができました。そこで、昨年 11〜12 に SIXM で撮影したサンプルすべてについて SP の画像を作って調べてみました。その結果が sp.pdf です。これらの図から以下の測定でサンプルがクリープしていたかもしれないことがわかりました。
SP の画像上で値が急変する部分が右上がりに⾒える測定（サンプル）
151127s（AV-3）：ごくわずか
151128[k,m]（Fo-1）：ごくわずか
151130b（Ni-1）：ごくわずか
151130l（Yoshida-2-Qtz）：右上がりだとはっきりわかる
151130n（Nano-1）：ごくわずか
151201d（Si-2-house）：ごくわずか
151201[j,k]（Si-3_can）：ごくわずかオマケとして前記のプログラム r[i,r]2rc で得た
Or_[a,p]：位相もしくは吸収画像の再構成⽤のセンター値の推定値
Dz_[a,p]：０度と 180 度の投影画像の「縦ズレ」の量を記したテキストファイル rc_log.txt をこの E-mail に添付しました。縦ズレの値が⼤きい測定ではサンプルが本当にクリープしていたみたいですね。
とりあえず以上です。
添付ファイル sp_nano.pdf

138 / 194
添付ファイル sp.pdf
５ページもあるので省略します。
添付ファイル rc_log.txt

set

Or1

Or2

Or_a

Or_p

Dz1

Dz2

Dz_a

Dz_p

sample151127c

187

312

248

248

-64

64

4

4

Si-2_house

151127s

187

312

238.5

239.5

-77

77

1

-1

AV-3

151127t

187

312

240.5

241.5

-77

77

1

-1

AV-3

151128a

187

312

238.5

239.5

-77

77

2

-1

AV-3

151128b

187

312

232.5

233

-76

76

1

-2

AV-3

151128d

187

312

225.5

225.5

-62

62

4

5

Fo-1

151128g

187

312

236.5

237

-62

62

3

2

Co-1

151128i

149.5

249.5

185

186

-61

61

2

-2

Mt

151128k

149.5

249.5

179.5

180

-64

64

4

3

Fo-1

151128m

149.5

249.5

178.5

179

-62

62

6

6

Fo-1

151128o

149.5

249.5

180.5

180.5

-82

82

3

3

POM-1

151128q

149.5

249.5

178.5

179

-80

80

0

0

POM-1

151130b

149.5

249.5

187.5

188

-51

51

1

-1

Ni-1

151130f

206

343

265

264.5

-89

89

4

6

Kogiso151130h

149.5

249.5

186

186.5

-75

75

4

5

AV-4

151130j

149.5

249.5

191

191

-80

80

3

3

AV-5

151130l

187

312

245.5

247.5

-62

62

17

11

Yoshida-2-Qtz

151130n

121.5

202.5

146

146.5

-59

59

4

2

Nano-1151130o

131

218

163

164

-77

77

3

0

Si-1_can

151201b

206

343

270

270

-74

74

7

7

Kuro-11151201d

187

312

238

237.5

-62

62

4

4

Si-2_house

151201f

187

312

242

241.5

-69

69

2

2

CC-25

151201i

149.5

249.5

187

186.5

-64

64

1

1

MIL-2

151201j

149.5

249.5

180

181

-57

57

6

19

Si-3_can

151201k

149.5

249.5

179

181

-77

77

3

12

Si-3_can139 / 194
Date:Thu, 31 Mar 2016 19:55:20 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-13

みなさま、
GSJ/AIST のなかのです。前回（3/24）の E-mails で紹介した C-shell scripts "pile_[h,v].csh" を⽤いて作成した TIFF 画像や "draw_[a,p].csh" によって得た PostScript（PS）の図と並べると有⽤な⻑さのスケール（length scale）とグレースケールの「バー」の TIFF 画像作成および PS 出⼒を⾏う C-shell scripts"bar_[l,g]s.csh" を書いてみました。この E-mail に添付した PDF ファイル word+bar.pdf と byte+bar.pdf に
draw_[a,p].csh や pile_[h,v].csh と⼀緒に使う場合の bar_[l,g]s.csh の実⾏例を⽰してありますので、まずはそれらを御覧下さい。
pile_[h,v].csh や draw_[a,p].csh と同様に、bar_[l,g]s.csh も SIXM のもの以外の画像の処理に流⽤可能です。
byte+bar.pdf に⽰したように、ぼくが書いたプログラム pile_gray（これは pile_[h,v].csh が利⽤している）を使えば pile_[h,v].csh で作成した画像と２種類のスケールバーを並べた画像を作ることができます。また、
word+bar.pdf のように、C-shell script "epspile"（draw_[a,p].csh が利⽤）と "gspile"を使えば draw_[a,p].cshを使って作成した図とスケールバーを並べた図の PS のデータを出⼒できます。以下では bar_[l,g]s.csh の使⽤法など説明した後、このような複数個の画像もしくは PS の図を並べる⼿法を紹介します。
bar_[l,g]s.csh は SIXM ⽤の書庫ファイルに⼊れてあります。
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zip
また、3/19 の E-mail の添付ファイル sixm_usage.txt に bar_[l,g]s.csh の起動法を追記してこの E-mail に添付しておきました。さらに、引退した計算機のバックアップから発掘した pile_gray（および pile_RGB；このプログラムは SIXM ⽤にインストールしていません）および epspile と gspile（これらは前世紀に書いた現在も現役の C-shell scripts です）のそれぞれに関する以下の２個のテキストファイルもこの E-mail に添付しておきますので、どうぞ御覧下さい。
pile_tiff.txt：pile_gray の起動パラメータに関するメモ
pile_ps.txt：epspile と gspile の起動パラメータに関するメモ140 / 194(1) bar_[l,g]s.csh（および SIXM の測定データの処理の）実⾏前の準備
bar_[l,g]s.csh はぼくが書いたプログラム t_pvr や gs（ghost script）などを利⽤して処理を⾏います。
プログラム t_pvr などの説明書：http://www-bl20.spring8.or.jp/~sp8ct/tmp/pvr.pdf
他の C-shell scripts の場合と同様に、前記の SIXM ⽤の書庫ファイルに⼊れてある（以前のものを修正した）
C-shell script "install.4csh" を実⾏すれば bar_[l,g]s.csh の実⾏の準備（t_pvr のインストール）を⾏うことができます。さらに、画像再構成の後にいつも⾏う word 画像や byte 画像の作成の処理⽤のプログラム tg2tg もインストールするように install.4csh を改造したので、結局、SIXM ⽤の書庫ファイルだけがあれば SIXM の測定データの処理に最⼩限必要なプログラムや C-shell scripts を使⽤できるようになりました。
それゆえ、3/24 の E-mail では「実⾏パスに登録済みの任意のディレクトリに移動して install.4csh を実⾏すれば良い」と書きましたが、今後はそれを SIXM ⽤の書庫ファイルを展開したディレクトリ sixm/の中で実⾏して下さい。また、そこでコンパイルした実⾏ファイルも他所へコピーする必要はありません。ディレクトリ
sixm/を実⾏パスに登録するようにして下さい。
念のため、このような SIXM ⽤の新しいプログラムのインストールと C-shell scripts の実⾏の準備などの具体的な⼿順を以下に記しておきます。
[1] 書庫ファイルのダウンロードと展開
wget http://www-bl20.spring8.or.jp/\~sp8ct/tmp/sixm.taz→ ...
tar xzf sixm.taz# ディレクトリ sixm が展開される。

rm sixm.taz# 書庫ファイルは最新のものを使って下さい。

[2] プログラムのインストールと C-shell scripts の実⾏の準備
cd sixm
make# SIXM ⽤のプログラムのコンパイル→ ...
csh install.4csh# SIXM ⽤の C-shell scripts のための準備

→ ...
pwd

# ディレクトリ sixm のフルパス名を調べておく→ 絶対パス名/sixm# このフルパス名を SIXM_FULL_PATH と書く

cd ..
[3] ディレクトリ sixm のフルパス名を log-in shell の設定ファイルに登録
log-in shell が csh もしくは tcsh の場合
以下の１⾏を設定ファイル ~/.login に追加する：
set path=(SIXM_FULL_PATH $path)141 / 194
log-in shell が bash の場合
以下の１⾏を ~/.bash_profile もしくは ~/.profile に追加する：
PATH=SIXM_FULL_PATH:$PATH
なお、これらの実⾏パスの設定は log-in し直さないと有効にならない。
(2) bar_[l,g]s.csh の使⽤法
bar_ls.csh と bar_gs.csh はそれぞれ ASCII ⽂字からなる⽂字列（ラベル）を左右両端に貼り付けた lengthscale bar（LS-bar）と gray scale bar（GS-bar）の PS データの出⼒や、その内容を指定したビット数の画素値に変換した画像の作成を⾏う C-shell script です。これらは指定された起動パラメータの個数に応じて PS
出⼒と画像作成の処理を切り替えます。そして、作成する LS-bar と GS-bar の「デザイン」はバーの内部の「塗り⽅」以外はまったく同じです。
LS-barPS では⿊塗り、画像では画素値０で塗りつぶしたバーになる。
GS-barPS では 256 諧調のグラデーション、画像ではそれらを指定したビット数に応じた画素値に線形変換したグラデーションで塗ったバーになる。
bar_[l,g]s.csh の起動法は以下の通りです。
bar_ls.csh width height

size left right {BPS

bar.tif}bar_gs.csh width height

size left right {BPS

bar.tif}

また、これらの起動パラメータの意味は以下の通りです。
width
バーの横幅。その値の単位は PS の場合は pt.（ポイント；1/72 inch）、画像の場合は画素幅（⾃然数
でなくても良い）。width として UNIX の標準コマンド bc（正確には、”bc ‒l”）が受け付ける数式を指定しても良い。ただし、log-in shell による「解釈」を避けるため、"*" などの特殊記号と括弧お
よび空⽩を含む数式は引⽤符号「'」もしくは「"」で前後を囲むこと。
height と size
バーの縦幅とラベル印字⽤⽂字フォント（Helvetica）のサイズ（⾼さ）。単位や数式の使⽤に関して
は width の場合と同じ。また、これらに負の値を指定するとその絶対値に width を乗じた値が実際のバーの縦幅やフォントの⾼さになる（つまり、width に関する相対値を指定できる）。
left と right
バーの左と右に印字するラベルの⽂字列。特殊⽂字、括弧や空⽩を含むラベルは引⽤符で囲むこと。
ラベルなしは連続した２個の引⽤符で指定。

142 / 194
BPS と bar.tif
作成する画像の画素値のビット数とその画像を格納する TIFF 形式画像ファイルのパス名。これらの指定を省略すると PS 出⼒を⾏う。
やや複雑な指定を⾏っている word+bar.pdf と byte+bar.pdf の bar_ls.csh の起動パラメータ width の値の算
出法を解説しておきます。まず word+bar.pdf ですが、3/24 の E-mail に書いたように、PS の図の縦断⾯の画
像の z ⽅向の幅は 3 inch = 3*72 pt.です。また、それらの画像の画素の z ⽅向の辺⻑の実⼨は 109.3 nm、z ⽅
向の画素数が 500 なので、word+bar.pdf の図の拡⼤率は 3*72/(109.3*500) です（ただし、単位は pt./nm）。
それゆえ、実⼨が 10 μm = 10000 nm の⻑さのスケールバーの width の値は 10000*3*72/(109.3*500) pt.となります。次に byte+bar.pdf で指定した⻑さのスケールバーの width の値ですが、その値の算出は容易です。
SIXM のスライス画像の正⽅形画素の辺⻑は 100 nm なので、実⼨が 20 μm = 20000 nm の⻑さのスケール
バーの画像上での⻑さ（width の値）は 20000/100 = 200 となります。
なお、word+bar.pdf や bye+bar.pdf でもそうしているように、bar_[l,g]s.csh の起動パラメータ height の値
として width に対する相対値（バーの縦横⽐）を指定するのが良いでしょう。また、起動パラメータ size についても同様ですが、...。
⾔うのを忘れていました。draw_[a,p].csh が出⼒する PS の図のそれぞれの断⾯画像の右上隅に記した位置を⽰すラベル（[x,y,z] = 座標値）のフォントの⾼さは９pt です。word+bar.pdf では bar_[l,g]s.csh の起動パラメータ size にその値を指定しています。
今⽇の所はここまで。明⽇は休むので、残りの話は来週になります。すみません。
とり急ぎ、(3) pile_gray の使⽤法
(4) epspile と gspile の使⽤法

143 / 194
添付ファイル word+bar.pdf

添付ファイル byte+bar.pdf

144 / 194
添付ファイル sixm_usage.txt
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_usage.txt
添付ファイル pile_tiff.txt
pile_gray Nx

Ny Sx Sy PV parent

pile_RGB Nx

Ny Sx Sy R G B

childenparent childen

N[x,y] is basically number of child-images along [x,y]-direction.
sign of it controls the layout of images as the following example.
layout for child-images of I1, I2, I3 and I4
Nx

Nylayout on parent-image---------------------------------2

2

I1

I3

I2

I4

----------------------------------2

2

I1

I2

I3

I4

---------------------------------2

-2

I2

I4

I1

I3

----------------------------------2

-2

I3

I4

I1

I2

S[x,y] is size of spaces around child-images along [x,y]-direction.
if it is negative integer, the outer-most spaces are omitted.
PV is pixel value of 0 ~ 65535 for spaces around child-images.
[R,G,B] is color component of 0 ~ 255 for spaces around child-images.
添付ファイル pile.ps.txt
epspile {options} {EPS_files}
gspile {options} {PS_files}
options (default values)145 / 194-m Rx Ryset page magnification ratio along x- and y-direction (1, 1).
-n Nx Ny
set number of pages along x- and y-direction (1, 1).
N[x,y] is basically positive integer, and minus sign of it controls the layout of pages as
the following example.
layout for pages of P1, P2, P3 and P4
Nx

Nylayout-------------------------2

2

P1

P3

P2

P4

--------------------------2

2

P1

P2

P3

P4

-------------------------2

-2

P2

P4

P1

P3

--------------------------2

-2

P3

P4

P1

P2

-o Sx Syset space between pages in point along x- and y-direction (0, 0).
S[x,y] is basically non-negative number, and, when sizes of the pages are not the same,"+" or "-" prefixed to S[x,y] controls the alignment of each page as follows.
+Sx : each page is placed at right-justified position-Sx : each page is placed at left-justified positionSx : each page is placed at horizontally centered position+Sy : each page is placed at bottom-justfied position-Sy : each page is placed at top-justified position
Sy : each page is placed at vertically centered position-f Fx Fy
set frame size in point along x- and y-direction (596, 842).
-lswitch to place piled pages on landscape frame.
EPS_files must possess the EPS description of "%%PageBoundingBox:".
with no file, or when the file is "-", epspile and gspile read from standard input.

146 / 194
Date:Tue, 05 Apr 2016 13:20:07 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama,
kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama, MIYAKE

Subject: new_programs_for_SIXM-14

みなさま、
GSJ/AIST のなかのです。3/31 の E-mail の続きです。
(3) pile_gray の使⽤法
pile_gray は複数個の「⼦画像（children）」をマトリックス状に配置した「親画像（parent）」を作成するプロ
グラムで、その起動法は以下の通りです。
起動法（usage）：pile_gray Nx Ny Sx Sy PV parent childen
起動パラメータ Nx と Ny
⼦画像のマトリックスの横と縦それぞれの個数（⾃然数）、もしくは、それらに負の符号 "-" を付けた値。これらの負の符号の指定の有無によって⼦画像の「起動パラメータとして指定した順番（I1、I2、...）」と「マトリックスの上での配置」の対応関係を下記の | N[x,y] | = ２の場合の例のような４通りのいずれかに設定することができる：
Nx Ny

⼦画像の配置-------------------------------２

２

I1

I3

I2

I4

--------------------------------2

2

I1

I2

I3

I4

-------------------------------2

-2

I2

I4

I1

I3

--------------------------------2

-2

I3

I4

I1

I2

147 / 194
Sx と Sy⼦画像の左右と上下のそれぞれに置く「余⽩」の幅（単位は画素幅）。負の値を指定すると左右もし
くは上下両端の外側に余⽩を付けない。
PV
余⽩の画素の画素値。
parent親画像を書き込む TIFF 形式画像ファイルのパス名。
children
複数の⼦画像それぞれの TIFF 形式画像ファイルのパス名。
3/31 の E-mail に添付した PDF ファイル byte+bar.pdf の２個の例では「マトリックス状に並べたスライス画
像（byte.tif；これも pile_gray で作った画像）」と「⻑さ（ls.tif）およびグレースケールバー（gs.tif）の２個の画像」の貼り合わせのために pile_gray を２度づつ実⾏しています。その処理ではまず、ls.tif と gs.tif を間に 150 画素幅の余⽩を置いて横に並べた画像（bar.tif）を作成しました。
pile_gray 2 1-150 0255

bar.tif ls.tif

gs.tif

ただし、これらのスケールバーの画像の左右外側には余⽩は不要なので、余⽩の幅に負の符号 "-" を付けた値を指定しました。その後、bar.tif と byte.tif を 75 画素幅の余⽩を置いて縦に並べた画像（byte+bar.tif）を作りました。
pile_gray 1 2

0 -75 255 byte+bar.tif byte.tif bar.tif

なお、pile_gray は⼊⼒した画像のファイルに出⼒する画像を上書きできるので、byte+bar.pdf の例では２個のスケールバーを横に並べた作業⽤の画像 bar.tif と最終的な結果の画像 bar+byte.tif を同じファイルにしています。
(4) epspile と gspile の使⽤法
epspile と gspile はどちらも⼊⼒した PostScript（PS）のデータに含まれている各ページの図の描画領域を調査し、それらをマトリックス状に配置した PS のデータを出⼒する C-shell scripts です。ただし、epspile は
⼊⼒データにコメントとして埋め込まれている Encapsulated PostScript（EPS）の記述⾏%%PageBoundingBox: ...
の情報を各ページの描画領域とします（つまり、epspile は EPS の記述⾏ "%%PageBoundingBox: ..." が埋め込まれていない PS のデータを処理できません）。また、gspile は ghostscript（gs）を⽤いて各ページの描画領域を調べます（そのため、gspile は epspile よりも⻑い処理時間を要します）。それ以外の epspile と gspileの処理内容はまったく同じで、起動法は以下の通りです。

148 / 194
epspile {options} {PS_files}
gspile{options} {PS_files}

このように、epspile と gspile が処理に⽤いるパラメータと⼊⼒する PS ファイルのパス名の指定はすべてオプション扱いにしてあります。起動時に指定することが可能なパラメータとそれらのデフォルトの値は以下の
通りです。
-n

Nx Ny
マトリックス状に並べる [x,y] ⽅向のページの個数を N[x,y] とする。デフォルトの値は N[x,y] =1。これらの個数に負の符号 "-" を付けた整数値を指定することにより、ページの「⼊⼒の順番（I1、I2、...）」と「マトリックスの上での配置」の対応関係を pile_gray の起動パラメータ N[x,y] の場合の例とまったく同じ４通りのいずれかに設定することができる。

-o Sx Sy
マトリックス状に配置するページそれぞれの間の余⽩の [x,y] ⽅向の幅を S[x,y] とする（単位は pt.
= 1/72 inch）。これらのデフォルトの値は S[x,y] = ０。ページの描画領域の広がりが異なっている
場合、以下のように正負の符号を付けるなどした余⽩の幅の値を指定すれば、各ページの描画位置（justfication）を設定できる。
符号

Sx

Sy

なし

左右中央揃え上下中央揃え"+" 付き

右端を揃える

下端を揃える"-" 付き

左端を揃える

上端を揃える-m Rx Ry
⼊⼒した PS データの図を [x,y] ⽅向に R[x,y] 倍づつ拡⼤した後にマトリックス状に並べる。R[x,y]のデフォルト値はどちらも１。
-f Fx Fy
マトリックス状に並べた図を上下と左右の両⽅向に中央揃えで出⼒する PS のページの [x,y] ⽅向の幅（単位は pt.）。これらのデフォルトの値は A4 紙のサイズに相当する Fx = 596 と Fy = 842。
-lマトリックス状に並べた図を横倒し（landscape）のページに配置した PS のデータを出⼒するための「スイッチ」。
epspile と gspile に⼊⼒ファイルのパス名（PS_files）を指定しなかった場合、標準⼊⼒から PS データを読み込みます。また、処理結果の PS データを標準出⼒に書き出すので、各⾃でそれをファイルにリダイレクトするなどして下さい。

149 / 194
3/31 の E-mail に添付した PDF ファイル word+bar.pdf に⽰した２個の例ではまず、bar_[l,g]s.csh が標準出
⼒に書き出した "%%PageBoundingBox: ..." が埋め込まれている２ページ分の PS の図を epspile をで 27 pt.
の余⽩を挟んで左右に並べています。
( bar_ls.csh 起動パラメータ ; bar_gs.csh 起動パラメータ )| epspile -n 2

1 -o 27 0

その後、上の結果と draw_[a,p].csh が出⼒した図（これらの PS データには EPS の記述⾏は埋め込まれていません）を gspile で 18 pt. の余⽩を挟んで上下に配置しました（ここでは draw_a.csh を使った場合の例だ
けを⽰します）。
( (bar_ls.csh 起動パラメータ ; \bar_gs.csh 起動パラメータ ) | epspile -n 2 1 -o 27 0

draw_a.csh

起動パラメータ ) |gspile -n 1

2 -o 0;\18 > word_a+bar.ps

以上のようにすると、pile_gray を⽤いた処理の場合に必要だったスケールバーのデータなどを書き込む作業⽤のファイルが不要になります。
⻑い E-mail になりました。とりあえず以上です。

Date:

Wed, 06 Apr 2016 13:40:27 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE, Akiko TAKAYAMA, Aiko NAKATO, 中村隆太,

Subject: new_programs_for_SIXM-15

みなさま、
GSJ/AIST のなかのです。SIXM ⽤の新しいプログラムを使った画像再構成などの⼿順書を書きました。このE-mail に添付した（SHIFT-JIS コードを使⽤した）テキストファイル sixm_recipe.txt です。念のためにその内容を変換した PDF ファイル sixm_recipe.pdf も添付しました。4/18〜22 の SIXM 実験でこの⼿順書に従った画像再構成処理などを⾏うのであれば、事前に⼀読して下さい。なお、この⼿順書に記した SIXM ⽤の新しいプログラム（+C-shell scripts）に関する質問は、これまでに送付した件名が「new_programs_for_SIXM*」の 15 通の E-mails を読んでからにしていただけると助かります。とり急ぎ、
P.S.
SIXM の再構成画像のうちで８ビット画素値の「byte 画像」については画素値１階調ごとの CT 値の増分の値（df）の決め⽅が case by case なので、今回の⼿順書では下記の「タイトル」を記しただ

150 / 194
けでそれらの具体的な処理内容を書いていません（ただし、下記の (18) 以外はその前に記した⼿順(15)、(16)、(17) のものと概ね同じ処理内容ですが）。
(18) byte 画像作成のための８ビット画素値１階調ごとの CT 値の増分の決定(19) byte 画像とその画素値ヒストグラムの作成(20) byte 画像のスライス画像をマトリックス状に配置した画像の作成(21) byte 画像の代表的な点を通る３断⾯と画素値ヒストグラムを並べた図の作成
添付書類 sixm_recipe.txt
削除しました。
添付書類 sixm_recipe.pdf
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_recipe.pdf

Date:Wed, 06 Apr 2016 17:38:09 +0900

From:

Tsukasa NAKANOTo:MIYAKECc:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI, MATSUNO Junya,
Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki, Akira Kitayama, Sugimoto Miyama,
Akiko TAKAYAMA, Aiko NAKATO, 中村隆太

Subject: Re: new_programs_for_SIXM-15

みやけさま、
なかのです。応答ありがとうございます。RI や RR の投影画像と再構成画像の画素値のビット数は違っていても問題ありません（それが新しいプログラムの「売り」のひとつです）。また、2/12 の E-mail（件名：new_programs_for_SIXM-2）で紹介したように、RAW_B 形式（８ビット⻑の整数画素値）の投影画像から
RAW_F 形式（32 ビット⻑の単精度浮動⼩数点数画素値）の画像を再構成することも可能です。その再構成画
像と「⼿順書に⽰した RAW_F 形式の投影画像から再構成した RAW_W 形式の画像」の画質の違いは⾁眼で⾒たくらいではわからないと思います。とり急ぎ、On Wed, 6 Apr 2016 16:55:16 +0900 MIYAKE wrote:> 中野様> 三宅です。お世話になっております。
>> １点。この例では、> （６）投影画像の作成 では、_F を、> （１４）の本番の画像再構成は、_W を、> ⽤いています。

151 / 194>> この例では、raw data は 32bit ⻑で、再構成像は 16bit ⻑だと思うのですが、> これは、必ずしも同じでなくてもよいということでよろしいでしょうか？
> つまり、（６）と（１４）で必ずしも同じ _W でなくてもよいのでしょうか？
> 極端な話、（６）は _B にして、
（１４）_F でも、動くのですか？
>
> 三宅

Date:

Thu, 07 Apr 2016 13:35:06 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE, Akiko TAKAYAMA, Aiko NAKATO, 中村隆太

Subject: new_programs_for_SIXM-16

みなさま、
GSJ/AIST のなかのです。
(1)
昨⽇の E-mail で紹介した SIXM の画像再構成などの⼿順書を書き換えました。そのテキストファイルと PDF
ファイルをこの E-mail に添付します。
(2)
この⼿順書に「浮動⼩数点数の画素値を保持している TIFF を処理できるように改造したプログラム xv」のインストールに関することを書き忘れていました。
2/10 の E-mail で紹介したように、改造版の xv は
http://www-bl20.spring8.or.jp/~sp8ct/tmp/xv-hipic.pdfに記した⼿順でインストールできます。SIXM ⽤の書庫ファイル
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.taz
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm.zipに⼊れた C-shell script "install.4csh" を書き換えて、その本来の処理の後に改造版の xv のインストールの⼿順を表⽰するようにしました。
実は、xv のインストールには OS が提供しているプログラム開発⽤の複数個のソフトウェアパッケージが必要です。RedHat 系の Linux の場合、少なくとも以下の５個のパッケージを事前にインストールしておく必要がありました（プログラム yum を使ってその処理を⾏ったので、実際には以下の５個のパッケージが必要と152 / 194
するパッケージすべてがインストールされました）。
X11-window を使うプログラムの開発⽤パッケージ（２個）
libX11-devel
libXt-devel
画像ファイルの処理プログラムの開発⽤パッケージ（３個）
libjpeg-devel
libtiff-devel
libpng-devel
このような OS に依存したパッケージのインストールに関することまで⾔及するのは不可能なので、結局、
SIXM の⼿順書には xv のインストールに関することを陽に書かないことにしました。すみません。
とり急ぎ、添付書類 sixm_recipe.txt
削除しました。
添付書類 sixm_recipe.pdf
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_recipe.pdf

153 / 194
Date:Fri, 08 Apr 2016 18:24:09 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE, Akiko TAKAYAMA, Aiko NAKATO, 中村隆太

Subject: SP8-BL47XU-SIXM_15/11-12

みなさま、
GSJ/AIST のなかのです。今頃になって何ですが、昨年 11〜12 ⽉に SPring-8 BL47XU の SIXM で測定したデータに対してこちらで⾏った処理の報告をします。こちらでは SIXM ⽤の新しいプログラムを使って、先に紹介した「SIXM の画像再構成などの⼿順」に準拠した処理を⾏いました。ただし、測定ごとに⼀連の⼿順を通しで実⾏したのではなく、その各ステップの処理を測定すべてに対して実⾏する C-shell scripts を⾛らせました。それらの scripts とそれらで得たファイルの⼤部分を Spring-8 の計算機 vrm のディレクトリ
/media/disk/bl47xu/1511/ の下にリンクしておきましたので、必要ならダウンロードして下さい。
今現在、vrm の /media/disk/ にマウントされている RAID HDD がほぼ満杯の状態なので、その下のbl47xu/1511/ の内容を消去するかもしれません。そこにあるファイルをダウンロードするならお早めに。
vrm の /media/disk/bl47xu/1511/ にリンクしたファイルの内訳はこの E-mail に添付したテキストファイル
vrm.txt に記した通りです。こちらで⾏った処理内容の報告として、以下ではそれに記したファイルの詳細を説明します。なお、括弧付きの番号のままだと紛らわしいので、「⼿順書」の (0)〜(21) のそれぞれの処理を
以下では「⼿順０〜21」と書くことにします。
(1) ⼿順３〜７に関連したファイル
sample.xlsx と log.pdf
昨年 12/4 の松野くんからの E-mail に添付されていたサンプルリストとログノートの最終版。
sixm.csv と sixm.ods
こちらで処理を⾏った SIXM の測定に関するリスト。２個のファイルは同内容。サンプル名や SIXMの装置パラメータの値（ただし、U = Dp、L = SDD）が記されている。
run.raw
⼿順４、５と７の処理を実⾏する C-shell script。
raw.log
run.raw のログのファイル。各⾏に⼿順４と５の処理で得た測定ごとの以下の９個の値がタブコード
区切りで書き込まれている。
[1] 測定番号

154 / 194[2-4] ⼿順４で得た scans、views と darks[5-9] ⼿順５の "check_his ... | uniq -c" で出⼒した５個の値
上記の値の⾏と⼀緒に⽰されているように、測定 151128a で RP 画像の読み込みエラーが発⽣した。
そのため、サンプル回転⾓が 180 度の RI と RR の投影画像を作成できなかったが、それらを１ステップ前の回転⾓の投影画像のそれぞれで代⽤した（具体的には、180 度の画像としてその１ステップ
前の画像をコピーして使った）。
「測定番号/ri/*.tif」と「測定番号/rr/*.tif」
run.raw で作成した測定ごとの RI と RR の RAW_F 形式の投影画像。
「測定番号/raw.log」
プログラム his2raw_F が出⼒したログのファイル。
(2) ⼿順 8〜10
run.ri+rr_gif
⼿順８〜10 の処理（RI と RR の画像の観察）では個別の TIFF 画像ではなくこの C-shell script によって作成した GIF の動画を⽤いた。つまり、測定それぞれに対して RI ⽤には投影画像の動画 ri.gif
を、また、RR ⽤には sinogram の動画 rr.gif を作成した。
「測定番号/ri.gif」と「測定番号/rr.gif」
run.ri+rr_gif で作成した RI の投影画像と RR の sinogram の動画。ただし、画像再構成をしなかった（できなかった）４測定 151130m と 151201[m-o] のもの以外の r[i,r].gif のファイルは後述する GIFの動画 xt.gif と dpc.gif を作成したので最終的には消去した。
area.txt
RI と RR の画像の観察によって得たそれらの上の領域に関する測定ごとの以下の情報を各⾏にタブ
コード区切りで書き込んだテキストファイル。
[1] 測定番号[2-3] 投影画像の上のサンプル像の y 座標値の最⼩値と最⼤値[4] 投影番号の範囲（view range list）と「それに対応した投影画像の左および右端にある空気の部分の幅（L および R）」の合計３個の値が空⽩区切りで並んでいる。
これらの記述に従って SIXM の画像再構成などの処理を⾏った。なお、上記の [2] 以降の記載がな
い測定は画像再構成を⾏わない（⾏えない）。また、[4] の値の「トリオ」は「VLR_file」の各⾏に記載すべき情報で、複数の投影画像の範囲に対する複数のトリオを記録した測定もある。
151130f/rr+vlr.obj.gz と 151201b/rr+vlr.obj.gz
測定 151130f と 151201b ではサンプル像が視野からはみ出ていた投影画像があったので、測定番号ごとに L と R の値を決める必要があった。その作業⽤に投影画像上でサンプル像の左右の振れ幅が⼤きかった縦の位置（= 画像再構成する場合のスライス位置；レイヤー）における１枚だけの RR のsinogram を取り出し、図形編集⽤のソフトウェア tgif ⽤のファイル rr+vlr.obj に変換した（最終的155 / 194にはそれらを gzip 圧縮した）。tgif を使ってこの sinogram の図の上に投影番号ごとの L と R の位置を⽰す複数の線を描き、それらの情報を area.txt に記録した。
test.rr+vlr
測定 151130f と 151201b に対して rr+vlr.obj.gz の図に描いた線を RR の sinogram の画像（先のrr.gif と同じもの）と投影画像（radio-gram？）の個別の画像にプロットし、それらの GIF の動画を作成する C-shell script。
151130f/[s,r]g_rr+vlr.mpg と 151201b/[s,r]g_rr+vlr.mpg
test.rr+vlr で作成した L と R の線をプロットした RR の sinogram もしくは radiogram の GIF の動画を変換した MPEG の動画
test.area
area.txt に記録されているサンプル像の上下端の位置を⽰す横線を描いた RI の radiogram と、その像の左右の L と R の位置を⽰す縦線を描いた RR の sinogram の画像の動画を作成する C-shell script。
「測定番号/ri+l12.gif」と「測定番号/rr+vlr.gif」
test.area で作成した GIF の動画。
run.xt+dpc_gif
area.txt に記録されている VLR_file の情報をプログラム ri2xt_gif と rr2dpc_gif に指定して X 線透過率（XT）と微分位相（DPC）の投影画像のそれぞれの GIF の動画を作成する C-shell script。
xt+dpc.log
run.xt+dpc_gif のログファイル。測定ごとの XT と DPC のそれぞれの最⼩値と最⼤値が書き込まれている。
「測定番号/xt.gif」と「測定番号/dpc.gif」
run.xt+dpc_gif で作成した GIF の動画。XT と DPC のそれぞれの値を測定ごとの最⼩値と最⼤値で正規化した画素値になっている。
(3) ⼿順 11 と 12
run.spプログラム r[i,r]2sp を使って測定ごとの X 線投影値（XP）と位相値の SP の画像を作成する C-shell
script。
「測定番号/r[i,r]2sp.tif」と「測定番号/r[i,r]2sp.log」
測定ごとの X 線投影値と位相値の SP の画像、および、それらの縦の位置（= 画像再構成する場合のスライスの位置）ごとの横⼀列の SP の平均値と標準偏差の値を書き込んだファイル。
print.sp と sp.pdf
3/24 の E-mail に添付した測定すべての X 線投影値および位相値の SP の図を作成する C-shell
script とその図の PDF ファイル。ただし、ここで作成した sp.pdf に擬似カラーの情報を付加したものを 3/24 の E-mail に添付した。

156 / 194
run.rcプログラム r[i,r]2rc によって測定ごとにサンプルの回転⾓が０度と 180 度の XP と DPC の投影画像のそれぞれからセンター値を推定する C-shell script。ただし、r[i,r]2rc の起動パラメータ R[x,y] の
両⽅に 0.25 を指定した。
「測定番号/r[i,r]2rc.tif」
０度と 180 度の投影画像の相対位置を変えて計算した、両者の画像の同じ位置の画素の XP と DPCの値のそれぞれの RMSD（root mean square difference；差の⾃乗の平均の平⽅根）の「マップ」の画像。
rc.log
各⾏に以下の９個の値がタブコード区切りで並んでいる run.rc のログのファイル（3/24 の E-mail に添付したものと概ね同内容のファイル）。
[1] 測定番号[2,3] 調査したセンター値の範囲（最⼩値と最⼤値；0.5 刻み）[4,5] XP と DPC のそれぞれの RMSD が最⼩のセンター値[6,7] 調査した２画像の縦ズレ量の範囲（最⼩値と最⼤値；１刻み）[8,9] XP と DPC のそれぞれの RMSD が最⼩の縦ズレ量
rc.txtrc.log の値をもとにして決めた、測定ごとの吸収と位相の両⽅の画像再構成で指定するセンター値を書き込んだテキストファイル。
(4) ⼿順 13（センター値を変えた画像再構成のテスト）は⾏いませんでした。
(5) ⼿順 14 に関連したファイル
run.tg_[a,p]スレッド数４のマルチスレッド処理で 25 測定それぞれの測定の吸収と位相の CT 画像を再構成する
C-shell script。
tg_[a,p].log
run.tg_[a,p] のログファイル。計算機 vrm で実⾏したそれぞれの測定の吸収と位相の画像再構成の処理時間（単位は秒）が書き込まれている。25 測定の吸収と位相の画像再構成の処理時間は合計 35分程度だった。
「測定番号/tg_[a,p]/*.tif」
25 測定それぞれの吸収と位相の CT 画像の RAW_W 形式ファイル。
「測定番号/tg_[a,p].log」
25 測定それぞれの吸収と位相画像のスライス画像ごとの CT 値の最⼩値と最⼤値が書き込まれているテキストファイル。

157 / 194(6) ⼿順 15、18 と 19
run.word_[a,p] と run.byte_[a,p]測定それぞれの吸収と位相画像の word と byte 画像、および、それらそれぞれの画素値ヒストグラ
ムのデータを作成する C-shell script。
word_[a,p].log
測定それぞれの吸収と位相の再構成画像上の CT 値の最⼩値と最⼤値が書き込まれているテキスト
ファイル。
byte_[a,p].log
測定それぞれの吸収と位相の再構成画像のサンプル像があるスライスの範囲（⼿順８で決めた y 座
標値の範囲）における CT 値の最⼤値と、その値を 255 で割った byte 画像の８ビット画素値１階調ごとの CT 値の増分として指定した値が書き込まれている。
「測定番号/word_[a,p]/*.tif」と「測定番号/byte_[a,p]/*.tif」
各測定の word と byte 画像「測定番号/word_[a,p].csv」と「測定番号/byte_[a,p].csv」
各測定の word と byte 画像の画素値ヒストグラムのデータファイル。
(7) ⼿順 16 と 20（スライス画像を並べた画像の作成）は⾏いませんでした。
(8) ⼿順 17 と 21 に関連したファイル
run.coa
プログラム si_ofwd を使って測定それぞれの吸収と位相の byte 画像のサンプル像があるスライスの範囲（⼿順８で決めた y 座標値の範囲）における CT 値の重⼼の位置（center of absorption、COA；
位相画像に対しては不適切な名称ですが）を計算する C-shell script。さらに、この script は COA を⽰す吸収と位相のスライス画像を出⼒する。
「coa/測定番号.tif」
run.coa で作成した測定ごとの COA を通る吸収と位相の byte 画像のスライス画像を並べて表⽰した
画像。COA を⾚線で⽰している。
coa.log
run.coa で計算した測定ごとの吸収と位相 byte 画像のそれぞれの COA の座標値を各⾏に書き込んだ
テキストファイル。
xyz.txt「coa/測定番号.tif」と coa.log をもとにして決めた、各測定の再構成画像の上の「代表的な点」の座標値を書き込んだテキストファイル。
draw.word_[a,p] と draw.byte_[a,p]SIXM ⽤の C-shell scripts "draw_[a,p].csh" が出⼒するものと概ね同じ図（word もしくは byte 画

158 / 194
像の上の代表的な点を通る３断⾯と画素値ヒストグラムの図を並べた図）の PS 出⼒を⾏う C-shell
scripts。ただし、これらは xyz.txt に記録されている座標値の点を代表的な点とし、起動パラメータとして指定した複数の測定の図を作成できる。
print.xyz
draw.word_[a,p] と draw.byte_[a,p] で得た 25 測定それぞれの図を各ページにまとめた、合計 25
ページの PS 出⼒を⾏う C-shell script。
1511.pdf
print.xyz の出⼒と同内容の 1/27 の E-mail に添付した PDF ファイル。
---------------------------------------------------------------以上で「⼿順書」に準じた SIXM の画像再構成などの基本的な処理は終わりです。それ以外に以下の２種類の処理を⾏いました。
(9) 再構成した CT 値と LAC や RID の理論値の⽐較に⽤いたファイル
画像再構成を⾏った 25 測定のうち 21 測定で撮影したサンプルは密度と化学組成が既知でした。これらを「標準サンプル」と呼ぶことにします（また、それら以外の 25-21 =４測定で撮影したものを「その他のサンプル」と呼びます）。1/27、1/29、1/30、2/1 と 2/3 の E-mails でも紹介したように、標準サンプルの吸収と位相の再構成画像上の CT 値を「標準サンプルの密度と組成から計算した、測定に⽤いた８keV の X 線エネルギーにおける LAC と RID の理論値」で正規化した８ビット画素値の lac 画像と rid 画像を作成し、それらの画素値
ヒストグラムのサンプル像に対応するピーク位置を調べました。以下がこの処理に関連したファイルです。
lac+rid.txt
標準サンプルの密度および組成（化学式）と、それらからプログラム lac_cm や rid_cm で計算した
X 線エネルギー 8 keV における LAC や RID の理論値などが書き込まれているテキストファイル。
run.lac と run.rid
吸収と位相の再構成画像「測定番号/tg_[a,p]/*.tif」から CT 値と８ビット画素値の対応関係がCT 値 = ８ビット画素値 × LAC や RID の理論値 / 100となっている lac 画像と rid 画像を作成する C-shell script。
「測定番号/lac/*.tif」と「測定番号/rid/*.tif」
run.lac と run.rid のそれぞれで作成した lac 画像と rid 画像。
「測定番号/lac.csv」と「測定番号/rid.csv」
lac 画像と rid 画像の画素値ヒストグラムのデータファイル
draw.lac と draw.rid
起動パラメータとして指定した測定の lac 画像と rid 画像のそれぞれの画素値ヒストグラムの図のPS 出⼒を⾏う C-shell scripts。

159 / 194
print.lac+rid
すべての標準サンプルの lac 画像と rid 画像の画素値ヒストグラムの図を並べた PS 出⼒を⾏う Cshell script。
lac+rid.pdf
print.lac+rid の出⼒と同内容の PDF ファイル。その１〜３ページは 1/29 の E-mail に添付した PDF
ファイルと、また、最後のページは 1/30 の E-mail に添付した PDF ファイルと同内容。
check.lac と check.rid
各測定の lac 画像と rid 画像のそれぞれの画素値ヒストグラムから画素値が 100 前後のピーク位置を探し出す C-shell scripts。
list.lac と list.rid
check.lac や check.rid で調べた情報にサンプル名やその密度と組成、および LAC や RID の理論値を付加する C-shell scripts。
lac_log.txt と rid_log.txt
上記の list.lac と list.rid の出⼒を書き込んだテキストファイル。1/30 の E-mail に添付した
lac+rid_log.txt はこれら２個のファイルをまとめたもの。
list.ratiolac 画像と rid 画像のそれぞれの画素値ヒストグラムのピーク位置の⽐などを計算する C-shell script。
ratio_log.txt
list.ratio の出⼒を書き込んだテキストファイル。2/1 の E-mail に添付した CSV ファイル ratio_log.csvと同内容。
print.others
前述の PDF ファイル 1511.pdf に⽰した図のうち「その他のサンプル」のものだけの PS 出⼒を⾏う
C-shell scripts。2/3 の E-mail に添付した PDF ファイル others.pdf はこの出⼒と同内容。
(10) 残りのファイル
vrm.txt に 記 し た も の の う ち で こ こ ま で に 説 明 し な か っ た フ ァ イ ル は 2/12 の E-mail （ 件 名 ：new_programs_for_SIXM-2）で紹介した「RI と RR の投影画像の RAW 形式画像の画素値のビット数を⼩さくすると、それを⽤いて再構成した画像の画質はどうなるか？」に関連したものです。2/12 の E-mail でその処理内容をやや詳しく説明したので、ここでは下記の残りのファイルの説明を省略します。
others.pdf
print.standards, standards.pdf

160 / 194
raw_W/, raw_B/, raw_8/, raw_7/, raw_6/, raw_5/, raw_4/
run.all, rc.log
151????/ (25 directories)
tg_a.log, tg_p.log
lac/*.tif, lac.csv
rid/*.tif, rid.csv
print.others
print.lac+rid, lac+rid.pdf
list.lac, lac_log.txt
list.rid, rid_log.txt
list.ratio, ratio_log.txt
⻑い E-mail になりました。とりあえず以上です。
添付ファイル vrm.txt
削除しました。

161 / 194
Date:Wed, 20 Apr 2016 17:59:54 +0900

From:

Tsukasa NAKANO

To:

三宅, Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Miyama Sugimoto, 北⼭晃, 中村隆太, Aiko Nakato, Akiko TAKAYAMA

Subject: 標準サンプルの SIXM 画像のヒストグラム

みなさま、なかのです。SIXM でこれまでに撮影した標準サンプルの吸収と位相の CT 画像の画素値ヒストグラムの図を並べた PDF を作ってみました。
hg_Qz.pdf：吉⽥君の⽯英
hg_Si.pdf：silicon
hg_Fo.pdf：forsterite
hg_Ni.pdf：nickel
各ページの左側に吸収画像の、また右側に位相画像のヒストグラムの図を並べました。そして、各図の中央付
近の縦太線が LAC や RID の理論値で、これらはヒストグラムのピーク位置と概ね⼀致しています。とり急ぎ、
添付ファイル hg_Qz.pdf
添付ファイル hg_Si.pdf
添付ファイル hg_Fo.pdf
添付ファイル hg_Ni.pdf
これらは 2016/5/3 の E-mail の添付ファイル Qz+Si+Fo+Ni.pdf にまとめました。

162 / 194
Date:Tue, 03 May 2016 14:06:38 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA

Cc:

北⼭, 三宅, 中藤, ⾼⼭, 中村, 杉本, MATSUNO Junya, Kentaro UESUGI, Akihisa TAKEUCHI

Subject: 2016/04/18-22_SIXM

つちやまさま、
GSJ/AIST のなかのです。4/18〜22 の SIXM 実験の測定データに対する⼀通りの処理を済ませました。それに関するファイルはすべて SPring-8 の計算機 vrm のディレクトリ /media/disk/tsukasa/1406/ の下に置いてあります。また、この E-mail に添付したテキストファイル vrm.txt がそれらのリストです。ここではそのリストに沿ってぼくが⾏った処理の概要を説明します。
計算機 vrm のディレクトリ/media/disk/tsukasa/1406/の下にある bzip2 圧縮した測定データファイル
a.HIS.bz2 はシンボリックリンクなので、Filezilla を使う場合にはダウンロードの対象になりません。
vrm.txt のリストの最後に a.HIS.bz2 を除いたファイルの総量も追記しておきました。
後で引⽤する 4/[6,7] の E-mails で紹介した SIXM の画像再構成処理などの「⼿順書」の最新版を以下の場所に置いておきました：http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_recipe.pdf(0) サンプルリストなど
sample.xlsx
4/22 のつちやまさんからの E-mail に添付されていたサンプルリスト
log.pdf
4/22 の北⼭くんからの E-mail に添付されていたログノート
sample.txt
ぼくが作ったサンプルリスト(1) SIXM ⽤の標準サンプルの測定データの処理に関するファイル
標準サンプルを撮影した測定 160418[a,b]と 160419[a-d]の６個については、SIXM の「⼿順書」に準拠した処理を実験の場で⼿⼊⼒で実⾏しました。
160418[a,b].txt と 160419[a-d].txt
⼿⼊⼒の記録。⾏頭に "#" がない⾏はコマンド⼊⼒、１個の "#" で始まる⾏はコマンドの出⼒、２個の "#" の⾏は後で付加したコメント。

163 / 194
160418[a,b]/* および 160419[a-d]/*
標準サンプルの CT 画像に関するファイル。ただし、byte_[a,p] 画像ではプログラム lac_cm や rid_cm
を使って標準サンプルの密度と組成から計算した X 線エネルギー８keV における LAC や RID の理論値を８ビット画素値 100 に割り当てた。
print.hg
標準サンプルの吸収および位相画像の画素値ヒストグラムの図の PostScript 出⼒を⾏う C-shell
script。計算機 vrm のぼくの計算機環境なら今回のものだけでなく以前の SIXM 実験（1406、150602と 1511）で得た画素値ヒストグラムを描くことができる。
print.hg_Qz、print.hg_Si、print.hg_Fo と print.hg_Ni
print.hg を使って quartz（Qz）、silicon（Si）、forsterite（Fo）と nickel（Ni）のそれぞれの標準サン
プルの CT 画像のヒストグラムを並べた図の PostScript 出⼒を⾏う C-shell scripts。
上記の C-shell scripts で描いた４個の標準サンプルの画素値ヒストグラムの図をこの E-mail に添付した PDF
ファイル Qz+Si+Fo+Ni.pdf にまとめました。これらは 4/20 の E-mail に添付した４個の PDF ファイル
"hg_*.pdf" の図と概ね同じものですが、各ページの右上隅に LAC や RID の理論値を計算する際に仮定した標準サンプルの密度（単位は g/cc）と「化学式」が記されています。
(2) 標準サンプル以外の画像の処理に⽤いたファイル
標準サンプル以外のものを撮影した 17 測定に対しては「⼿順書」の各ステップの処理を⾏う C-shell scripts
を順次実⾏しました。
check.his と his.log
指定した測定に対して⼿順 (5) の処理を実⾏する C-shell script とそのログファイル。
make.raw と raw.log
⼿順 (4) と (7) を実⾏する C-shell script とそのログファイル。
area.txt
⼿順 (8) で得た各測定の投影画像の上のサンプル像の影が濃いスライスの範囲（layer1〜layer2）と⼿順 (9) で得たサンプルの左右の画像両端の空気の部分の幅の値（L と R）を書き込んだテキストファイル。
make.sp
指定した測定に対して⼿順 (11) を実⾏する C-shell script。
check.rc と rc.log
⼿順 (12) を実⾏する C-shell script とそのログファイル。
make.test
指定した測定に対して⼿順 (13) を実⾏する C-shell script。

164 / 194
rc.txt
画像再構成に使うサンプル回転中⼼の値を書き込んだテキストファイル。
make.tg
指定した測定に対して⼿順 (14) を実⾏する C-shell script。
make.word と word.log
⼿順 (15) を実⾏する C-shell script とそのログファイル。
160421g.txt
測定 160421g の処理の⼀連の⼿⼊⼒の記録。この測定では SIXM のスキャン間隔 Dr が他の測定の値（100 nm）とは異なる 200 nm だった。そのため、Dr = 100 nm が埋め込まれている make.testと make.tg を使わずに⼿⼊⼒で⼿順 (13) と (14) の処理を実⾏した。なお、これら以外の処理は前記の C-shell scripts を使って⾏ったが、そのための⼿⼊⼒も備忘録⽤に 160421g.txt に記録した。
160419[e-h]/* と 16042[0,1][a-g]/*
上記の C-shell scripts や⼿⼊⼒による⼀連の処理に関するファイル。ただし、byte_[a,p] 画像関連のファイルは後で作成した（後述）。
(3) 標準サンプル以外の CT 画像の byte 画像の作成処理に関するファイル
標準サンプル以外の測定の byte 画像を作成するため、まず word 画像の画素値ヒストグラムを観察して空気とサンプル像の間のボトムの位置（CTB）を調べ、それよりも⼤きい CT 値を持つピークの位置（CTP）を探し出しました。
bottom.txt
word_[a,p] 画像の画素値ヒストグラムの観察によって決めた CTB の値。
run.peak と peak.log
word_[a,p] 画像のそれぞれの CTB よりも⼤きい CT 値の範囲におけるヒストグラムのピークを探し出す C-shell script と、その結果の CTB と CTP の値を書き込んだファイル。
print.word_[a,p]word_[a,p] 画像のそれぞれの正の CT 値の範囲の画素値ヒストグラムの図の PostScript 出⼒を⾏う
C-shell scripts。これらの図には CTB、CTP と「byte 画像に保持できる上限の CT 値（= 255/100
×CTP）」の位置を⽰す３本の縦太線を描いた。
この E-mail に添付した PDF ファイル word_[a,p].pdf が print.word_[a,p] の出⼒です。これらの図からわかるように CTP の値が不適切な場合や、それがサンプルリストに記されていた鉱物の LAC や RID の理論値と概ね⼀致している場合がありました。前者については CT 値の範囲を限定した local peak search を⾏なうことにより byte 画像の作成に適切な CTP の値を得ました。また、後者に対しては（標準サンプルの場合と同様に）LAC や RID の理論値を⽤いて byte 画像を作成しました。

165 / 194
lps.txt
word_[a,p] 画像のヒストグラムの local peak search 処理の記録。
byte.txt
byte_[a,p] 画像に⽤いた CTP の値もしくは LAC や RID の理論値。ただし、local peak search で得た CTP の値もしくは LAC や RID の理論値には正の符号 "+" を付けてある。
run.byte
byte.txt に記されている CT 値を画素値 100 に割り当てた byte_[a,p] 画像を作成する C-shell script。
print.byte_[a,p]byte_[a,p] 画像の画素値ヒストグラムの図とそれらの画像の代表的なスライス（= 画像再構成のテ
ストに⽤いたスライス）の画像を並べた PostScript 出⼒を⾏う C-shell script。
この E-mail に添付した byte_[a,p].pdf が print.byte_[a,p] の出⼒です。
(4) こちらで⾏った処理のまとめのファイル
list.*
前記のログファイルなどを整形して出⼒する C-shell scripts
run.sixm と sixm.csv
こちらで⾏った処理に関連するパラメータなどをまとめて出⼒する C-shell scripts とその出⼒結果を書き込んだ CSV ファイル。
sixm.csv をこの E-mail に添付しました。その最後の欄の "DCC" は「LAC や RID の理論値の計算で仮定した"density and chemical composition"」です。
(5) オマケオマケとして「⼿順書」の⼿順 (21) の処理を⾏ってみました。
run.xyzbyte_[a,p] 画像それぞれの代表的なスライス（= 画像再構成のテストに⽤いたスライス）の画像の画素値の重⼼を計算する C-shell script。
xyz.txt
run.xyz で得た値をもとにして決めた各測定の CT 画像の上の「代表的な点」の座標値などを書き込んだテキストファイル。
print.xyz_[a,p]byte_[a,p] 画像の「代表的な点」を通る３断⾯と byte_[a,p] 画像の画素値ヒストグラムを並べた
PostScript 出⼒を⾏う C-shell script。

166 / 194
この E-mail に添付した xyz_[a,p].pdf が print.xyz_[a,p] の出⼒です。
とりあえず以上です。
添付ファイル vrm.txt
削除しました。
添付ファイル sixm.csv
削除しました。

167 / 194
添付ファイル Qz+Si+Fo+Ni.pdf（１ページ⽬）

168 / 194
添付ファイル Qz+Si+Fo+Ni.pdf（２ページ⽬）

169 / 194
添付ファイル Qz+Si+Fo+Ni.pdf（３ページ⽬）

170 / 194
添付ファイル Qz+Si+Fo+Ni.pdf（４ページ⽬）

171 / 194
添付ファイル word_a.pdf

172 / 194
添付ファイル word_p.pdf

173 / 194
添付ファイル byte_a.pdf

174 / 194
添付ファイル byte_p.pdf

175 / 194
添付ファイル xyz_a.pdf（１ページ⽬）

176 / 194
添付ファイル xyz_a.pdf（２ページ⽬）

177 / 194
添付ファイル xyz_p.pdf（１ページ⽬）

178 / 194
添付ファイル xyz_p.pdf（２ページ⽬）

179 / 194
Date:Sat, 14 May 2016 14:17:22 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGI, Akihisa TAKEUCHI

Cc:

MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE, Akiko TAKAYAMA, Aiko NAKATO, 中村隆太

Subject: new_programs_for_SIXM-17

みなさま、
GSJ/AIST のなかのです。今頃になって何ですが、先⽉までに紹介した SIXM ⽤の新しいプログラムに関する
補⾜です。
(1)
C-shell scripts "draw_[a,p].csh" を改造しました。
On Thu, 24 Mar 2016 11:56:33 +0900 Tsukasa NAKANO wrote:>

draw_a.csh word|byte x y z

Dr/Dz

>

draw_p.csh word|byte x y z

Dr/Dz

>

SIXM の吸収と位相のそれぞれの３次元 CT 画像上の指定した点を通る>

xy、xz および zx 断⾯の３枚のスライス画像と、画素値ヒストグラム>の合計４個の図を縦横に並べた PostScript（PS）データを出⼒する。

画素値ヒストグラムの正⽅形の図の辺⻑を指定できるようにしました。その指定を省略すると図の辺⻑は従来通りの３インチになります（HG_size_inch = 3）。
draw_a.csh word|byte x y z Dr/Dz {HG_size_inch}
draw_p.csh word|byte x y z Dr/Dz {HG_size_inch}(2)"draw_[a,p].csh" が⾏う画素値ヒストグラムの作図処理（PS データの出⼒処理）だけを実⾏する２個の Cshell scripts "plot_[a,p].csh" を追加しました。
plot_a.csh HG.csv {CTV1 CTV2} {HG_size_inch}
plot_p.csh HG.csv {CTV1 CTV2} {HG_size_inch}
SIXM の吸収もしくは位相画像の画素値ヒストグラムの図の PS データを出⼒する。２個の scriptsの処理内容の違いは横軸の説明⽤に図中に埋め込む「ラベル」だけである。
plot_a.csh：「CT-value (estimated LAC, 1/cm)」
plot_p.csh：「CT-value (estimated RID, 1e-6)」

180 / 194
これらの起動パラメータの意味は以下の通りです。
HG.csv
画素値ヒストグラムの CSV 形式データファイルのパス名。
CTV1 と CTV2
ヒストグラムの横軸の最⼩値と最⼤値。これらの値の指定を省略すると HG.csv に記録されている
CT 値の最⼩値と最⼤値を横軸の範囲とする。
HG_size_inch
ヒストグラムの正⽅形の図のインチ単位の辺⻑。この指定を省略すると図の辺⻑は３インチになる。
なお、"plot_[a,p].csh" はヒストグラムの図の中にパス名 HG.csv から拡張⼦ ".csv" を取り除いた⽂字列を埋め込みます。その際に、"//"（連続した２個の "/"）を「改⾏」と⾒なして、その⽂字列を複数⾏にして図の中に埋め込みます。
(3)
以前に紹介した SIXM ⽤の新しいプログラムのリスト sixm_usage.txt の最新版を SPring-8 の WEB サイトにアップロードしておきました：http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_usage.txt
とりあえず以上です。

181 / 194
Date:Fri, 03 Jun 2016 16:13:44 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE, Akiko TAKAYAMA, Aiko NAKATO, 中村隆太

Subject: for_SIXM

みなさま、
GSJ/AIST のなかのです。今頃になって何ですが、プログラム lac_cm と rid_cm を使って SIXM で使っている
X 線エネルギー８keV における 92 元素それぞれのMAC（X-ray mass absorption coefficients）
Compton 散乱の寄与を含む質量吸収係数
MPAC（X-ray mass photo-absorption coefficients）
光電効果（と Rayleigh 散乱）の寄与だけを考えた質量吸収係数
MRID（X-ray mass refractive index decrement）
元素ごとの単位質量あたりの屈折率減率の理論値を計算し、この E-mail に添付したテキストファイル 8keV.txt に書き込みました。また、それを⽤いて、⽔素（原⼦番号１）から鉄（26）までの元素の MAC と MRID の理論値を⽰す図の PDF ファイル 8keV.pdf
を作ってみました。
これらのファイル（特に、8keV.txt）をどうぞ御利⽤下さい。92 元素それぞれの原⼦量も記してあるので、
8keV.txt だけで「密度と化学組成が既知の SIXM の撮影試料」の LAC や RID の理論値を計算できるはずです：
試料の LAC や RID の理論値 = 試料の密度 ×「{ 構成元素の MAC や MRID×元素の重量率 } の総和」
それから、これは余談ですが、8keV.pdf の図より下記の「鉄の特異性（？）」に気づきました：
鉄の MAC：8kev.pdf に⽰した元素の中で最⼤鉄の MRID：8kev.pdf に⽰した元素の中で最⼩
このため、鉄を含む固溶体鉱物では組成変化に伴う MAC と MRID の値の増減の様相が違っているものがあるかもしれない。olivine と orthopyroxene（および plagioclase；これは鉄を含んでいませんが）についてその是⾮を調べた結果をテキストファイル ol+opx+pl_8keV.txt に⽰しました。残念なことに、これらの固溶体鉱物では組成変化に伴う MAC と MRID の増減の様相は同じでした。
とりあえず以上です。

182 / 194
添付ファイル 8keV.txt

numbersymbolweight (g/mol)

MAC (cm^2/g)

MPAC (cm^2/g)

MRID (cm^3/Mg)

element name01H

1.007943

0.391400

0.005883

6.437122

Hydrogen02

He

4.002562

0.293300

0.053574

3.242334

Helium03

Li

6.941070

0.505400

0.256468

2.805434

Lithium

04

Be

9.012257

1.124000

0.909396

2.882782

Beryllium

05

B

10.811980

2.346001

2.009920

3.006378

Boron

06

C

12.011050

4.5759994.260719

3.251669

Carbon07

N

14.006723

7.562002

6.985099

3.257848

Nitrogen08O

15.999360

11.630000

11.224400

3.265745

Oxygen09

F

18.998565

16.020001

15.410430

3.099623

Fluorine

10Ne

20.179598

23.280009

22.440680

3.249260

Neon

11

Na

22.989947

30.179986

28.310460

3.143735

Sodium12Mg

24.304782

40.609986

39.676540

3.251946

Magnesium

13Al

26.981590

50.329984

47.642800

3.177650

Aluminum

14Si

28.085380

64.679998

61.559070

3.293890

Silicon15P

30.973817

76.599994

74.947260

3.206130

Phosphorus

16S

32.066056

94.650012

91.320170

3.305668

Sulfur17Cl

35.452858

107.500016

104.765800

3.178893

Chlorine

18Ar

39.947624

118.000044

119.996200

2.989763

Argon

19

K

39.098673

146.899988

150.216000

3.222023

Potassium

20Ca

40.077751

172.600038

174.112700

3.299399

Calcium

21Sc

44.956328

182.800062

189.870800

3.082658

Scandium22

Ti47.880212

202.300052

207.331700

3.012809

Titanium23V

50.941307

221.699974

228.772400

2.937696

Vanadium24Cr

51.996447

251.299888

249.206900

2.972503

Chromium25

Mn54.937810

273.400021

273.792700

2.884763

Manganese

26Fe

55.846722

305.599982

305.035700

2.880300

Iron

27

Co

58.932664

324.800127

320.806100

2.687532

Cobalt28

Ni

58.69036649.520018

47.506790

2.779224

Nickel29

Cu

63.546323

52.549995

50.858950

2.763830

Copper30

Zn65.389394

58.749991

57.215040

2.824569

Zinc

31

Ga

69.722460

63.019991

61.168000

2.766771

Gallium

32

Ge

72.610106

68.899988

67.335940

2.762639

Germanium

33

As

74.921673

75.729971

74.232950

2.777073

Arsenic

34Se

78.959591

81.160039

79.527870

2.729634

Selenium35Br

79.903203

90.259964

88.360910

2.788133

Bromine183 / 19436

Kr

83.800833

96.510036

90.543840

2.746693

Krypton37

Rb

85.468111

105.800051

99.495700

2.776454

Rubidium38

Sr87.620190

114.999985

111.937100

2.788059

Strontium

39

Y

88.905100

125.799957

126.024500

2.826335

Yttrium

40

Zr

91.224229

135.599949

132.809900

2.832497

Zirconium

41

Nb

92.907319

146.899988

143.349400

2.857309

Niobium42

Mo

95.940791

156.499998

152.061500

2.839109

Molybdenum

43

Tc

97.907512

168.299983

162.357900

2.851387

Technetium

44

Ru

101.070428

178.500071

171.590400

2.829369

Ruthenium

45Rh

102.906538

191.500037

187.927700

2.845122

Rhodium46

Pd

106.419896

201.699910

199.016700

2.815352

Palladium47Ag

107.867438

216.400098

210.140000

2.837713

Silver48

Cd

112.412178

225.400090

223.527500

2.779523

Cadmium49

In

114.818633

239.100030

229.411600

2.776521

Indium50

Sn118.708452

250.000021

247.071800

2.737230

Tin

51

Sb

121.750340

263.099951

247.220500

2.716551

Antimony52

Te

127.601099

270.199885

281.583500

2.640242

Tellurium

53

I

126.903553

292.199854

290.325600

2.699032

Iodine54

Xe131.291028

303.200105

312.309300

2.649563

Xenon

55

Cs

132.904816

321.399854

329.315400

2.650472

Cesium56

Ba

137.325584

333.400010

349.071000

2.597848

Barium57

La

138.905812

352.900095

373.465900

2.597744

Lanthanum

58

Ce

140.113540

373.199825

381.989800

2.597941

Cerium59

Pr

140.908982

395.000093

397.958300

2.598057

Praseodymium

60

Nd144.241171

409.400134

417.580200

2.549963

Neodymium

61

Pm

144.913764

431.400115

437.537700

2.548220

Promethium

62Sm

150.361352

440.100012

464.367300

2.424541

Samarium63Eu

151.964686

398.900096

405.662000

2.329319

Europium64

Gd157.252021

406.800137

448.191200

2.193281

Gadolinium

65

Tb

158.924205

313.299938

307.387700

2.278474

Terbium66

Dy

162.501539

326.899897

324.835900

2.224571

Dysprosium

67

Ho164.931197

127.099977

129.051500

2.079915

Holmium

68Er

167.261099

132.999983

130.187800

2.281706

Erbium69

Tm

168.935462

139.699963

139.463300

2.343544

Thulium

70Yb

173.040318

144.399967

144.770500

2.354834

Ytterbium

71Lu

174.967348

151.300057

152.568800

2.385236

Lutetium72

Hf178.491745

157.100071

157.072900

2.396681

Hafnium73

Ta

180.948368

163.899920

160.690100

2.422718

Tantalum184 / 19474W

183.850932

170.499949

166.634800

2.435712

Tungsten

75

Re

186.205869

177.799943

173.467200

2.449593

Rhenium

76

Os

190.199710

183.599912

179.487500

2.435614

Osmium77

Ir

192.221279

191.399908

188.050800

2.451691

Iridium

78

Pt

195.078031

198.699970

196.980300

2.451074

Platinum79

Au

196.968186

207.200101

208.146300

2.470965

Gold

80

Hg

200.591746

213.999997

213.460200

2.462452

Mercury81Tl

204.385456

220.799931

219.433400

2.451275

Thallium82

Pb207.201516

228.699977

228.954100

2.451554

Lead

83

Bi

208.978523

237.800004

236.287400

2.463028

Bismuth84

Po

208.981217

249.399992

246.491200

2.491795

Polonium85

At209.985425

260.099955

263.006600

2.514110

Astatine

86

Rn222.015696

257.699970

263.269000

2.415146

Radon

87

Fr

223.019739

268.399891

273.573200

2.437553

Francium88Ra

226.023527

276.899881

281.961000

2.430562

Radium89

Ac

227.029233

287.800059

289.710900

2.447732

Actinium90Th

232.036507

293.900125

301.347900

2.422310

Thorium

91Pa

231.034833

307.400052

322.868300

2.451454

Protactinium

92U

238.027477

310.800119

313.103800

2.364970

Uranium

添付ファイル 8keV.pdf
2016/6/10 の E-mail の添付ファイルを御覧下さい。
添付ファイル ol+opx+pl_8keV.txt
olivineFo# = 100

forsterite

3.2260 g/cc

Mg:2 Si:1 O:4

Fo# = 0fayalite

4.4048 g/cc

Fe:2 Si:1 O:4

Fo#

density

LAC

RID

LAC / RID

04.404800

793.180449

13.471440

58.878668

104.290835

727.461982

13.186560

55.166926

20

4.176000

661.102832

12.899700

51.249473

30

4.060295

594.082815

12.610880

47.108752

40

3.943720

526.378890

12.320150

42.725039

503.826275

457.964645

12.027540

38.076335

60

3.707960

388.809646

11.733090

33.137873

70

3.588775

318.878654

11.436850

27.881685

185 / 19480

3.468720

248.130625

11.138880

22.276084

90

3.347795

176.517471

10.839250

16.285026

100

3.226000

103.982481

10.538040

9.867345

orthopyroxene
En# = 100

enstatite

3.21 g/cc

Mg:1 Si:1 O:3

En# = 0ferrosilite

3.96 g/cc

Fe:1 Si:1 O:3

En#

density

LAC

RID

LAC / RID

0

3.960000

583.554776

12.309960

47.405091

10

3.885000

538.014846

12.125790

44.369468

20

3.810000

492.108041

11.942140

41.207693

30

3.735000

445.806015

11.759050

37.911737

40

3.660000

399.077423

11.576570

34.472855

50

3.585000

351.887516

11.394740

30.881575

60

3.510000

304.197665

11.213630

27.127493

70

3.435000

255.964805

11.033280

23.199339

80

3.360000

207.140779

10.853770

19.084685

90

3.285000

157.671560

10.675180

14.769921

100

3.210000

107.496333

10.497590

10.240096

plagioclase
An# = 100anorthite

2.76 g/cc

Ca:1 Al:2 Si:2 O:8

An# = 0albite2.62 g/cc

Na:1 Al:1 Si:3 O:8

An#

density

LAC

RID

LAC / RID

02.620000

89.824565

8.52817110.532688

102.634000

95.513226

8.574897

11.138702

202.648000

101.194188

8.621622

11.737256

30

2.662000

106.867589

8.668345

12.328488

40

2.676000

112.533564

8.715066

12.912531

50

2.690000

118.192245

8.761785

13.489517

60

2.704000

123.843760

8.808503

14.059569

70

2.718000

129.488236

8.855220

14.622814

80

2.732000

135.125794

8.901935

15.179373

902.746000

140.756556

8.948648

15.729366

100

2.760000

146.380637

8.995360

16.272905

186 / 194
Date:Fri, 10 Jun 2016 14:46:47 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMA, Kentaro UESUGICc:

Akihisa TAKEUCHI, MATSUNO Junya, Aki Takigawa, Takashi Sakurama, kadokawa tokiyuki,
Akira Kitayama, Sugimoto Miyama, MIYAKE, Akiko TAKAYAMA, Aiko NAKATO, 中村隆太

Subject: Fw: for_SIXM

みなさま、なかのです。先⽇の E-mail の訂正と補⾜です。
(1)
⽔素から鉄までの元素の８keV での MAC と MRID の値の図を微修正しました。新しい 8 keV.pdf をこの Email に添付します。
(2)
先⽇の E-mail に書いた以下の部分は間違いでした。
>

鉄の MRID：8kev.pdf に⽰した元素の中で最⼩

鉄の MRID は 8keV.pdf に⽰した元素の中で Li の次に⼩さいだけでした。
(3)
これが今⽇の E-mail の本題です。8 keV における塩⽔（NaCl + H2O）の LAC と RID の理論値を計算してみました。この E-mail に添付した brine_8keV.txt を御覧下さい。吉⽥くんの⽯英の包有物がそうだったかどうか忘れましたが、何となく、NaCl 濃度に対する RID の変化の仕⽅は LAC の場合とは違うと思っていました。
しかし、brine_8keV.txt を⾒る限り、それは LAC の場合と同様です。さらに、０〜26 wt.% の濃度の範囲でRID の変動幅（3.6〜4.2 e-6）は LAC のそれ（10〜29 cm^-1）よりもずっと⼩さい。つまり、NaCl 濃度を精度良く決めるには RID ではなく LAC を使う⽅が良いような気がする。あえて⾔うなら、塩⽔とそれを封じている鉱物の LAC や RID の差（もしくは⽐）が NaCl 濃度の推定では重要かもしれぬ。塩⽔を封じている鉱物が⽯英なら、brine_8keV.txt の最後に記したように、それと塩⽔の RID の違いは LAC の違いより⼩さいので、LAC ではなく RID を使う⽅が NaCl 濃度を精度良く決めることができる？
とり急ぎ、

187 / 194
添付ファイル 8keV.pdf

188 / 194
添付ファイル brine_8keV.txt
NaCldensity

LAC

RID

ratio

wt%

g/cc

1/cm

1e-6

LAC / RID

00.99984

10.370754

3.620040

2.864818

0.51.001810.725244

3.624854

2.958807

11.005311.098042

3.635228

3.052915

2

1.012511.852984

3.656652

3.241485

3

1.0196

12.616295

3.677648

3.430534

4

1.026813.390383

3.698941

3.620059

5

1.034

14.174077

3.720168

3.810064

6

1.041314.968816

3.741688

4.000552

7

1.048615.773295

3.763142

4.191523

8

1.055916.587513

3.784530

4.38297891.063317.413109

3.806209

4.574922

10

1.070718.248579

3.827820

4.767356

12

1.085719.952813

3.871554

5.153696

14

1.100821.699046

3.915371

5.542015

16

1.116223.491887

3.959976

5.93233118

1.131925.332536

4.005363

6.324654

20

1.147827.219823

4.051169

6.719005

22

1.164

29.157054

4.097742

7.115395

SiO2

2.4

87.425755

7.869363

11.10964

189 / 194
Date:Sun, 18 Sep 2016 10:55:12 +0900

From:

Tsukasa NAKANO

To:

Kentaro UESUGICc:Akira TSUCHIYAMA, MIYAKE, Akihisa TAKEUCHI, MATSUNO Junya,
Aiko Nakato, Akira Kitayama, Sugimoto Miyama

Subject: SIXM ⽤計算機プログラム

うえすぎさま、なかのです。４⽉の実験から使っている SIXM ⽤の新しい計算機プログラムに関する⽂書ファイルを再度紹介します（２番⽬のものはオマケです）：
SIXM の画像再構成の⼿順書
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_recipe.pdf
RID の理論値の計算プログラムに関する E-mail
http://www-bl20.spring8.or.jp/~sp8ct/tmp/h_m.pdf
とり急ぎ、

190 / 194
Date:Thu, 13 Oct 2016 19:17:49 +0900

From:

Tsukasa NAKANO

To:

Akira TSUCHIYAMACc:

MIYAKE, MATSUNO Junya, Aiko Nakato, Akira Kitayama, Sugimoto Miyama,
Kentaro UESUGI, Akihisa TAKEUCHI

Subject: SP8-BL47XU-SIXM_1609

みなさま、
GSJ/AIST のなかのです。９⽉に SPring-8 BL47XU の SIXM で撮影した画像に対する⼀通りの処理を済ませました。それに関するファイルはすべて SPring-8 の計算機 vrm のディレクトリ/media/disk/tsukasa/1609/の下に置いてあります。また、それらのうちでみなさんに有⽤そうなものだけをこの E-mail に添付したテキ
ストファイル vrm.txt に記しました。以下ではその記述に沿ってこちらで⾏った処理の内容を説明します。
今回も以前に紹介した SIXM の画像再構成などの「⼿順書」
http://www-bl20.spring8.or.jp/~sp8ct/tmp/sixm_recipe.pdf
に従って処理を⾏いました。ただし、多くの測定でぼくが独⾃に決めたサンプルの回転軸の位置（RC）
を指定して画像再構成を⾏ったので、実験の場で再構成したものと異なる画素数の CT 画像になっています。また、それらの byte 画像の８ビット画素値と CT 値（estimated LAC or RID）の対応関係についても同様です。
(1) 実験や処理のログファイルとサンプルリスト
log.pdf
9/23 の E-mail で北⼭くんが送ってくれた実験のログノート
sample.xlsx
9/20 11:00:14 の E-mail で⼟'⼭さんが送ってくれたサンプルリスト
sample.csv
sample.xlsx をもとにしてぼくが作ったサンプルリスト。ただし、その１⾏⽬の４個の記号の意味は以下の通り。
[1] set：測定番号[2] keV：SIXM 実験で使った X 線エネルギー。すべて 8 keV。
[3] sample ID：sample.xlsx に記されていたサンプル番号[4] specification：サンプルの所有者、鉱物・組織・隕⽯名など
sixm.csv
こちらで⾏った処理で⽤いたパラメータ値を記録したログのファイル。その１⾏⽬の 21 個の記号の意味は以下の通り。
[1] set：測定番号191 / 194[2] SDD (mm)：サンプルと検出器の距離。すべて 6240 mm。
[3] Dp (um)：測定した refraction profile（RP）の画像の画素の横辺⻑。すべて 104μm。
[4] Dz (nm)RP 画像の画素の縦辺⻑ == 再構成した画像のスライス間隔。すべて 105.8 nm。
[5] Dr (nm)
SIXM のスキャンのステップ幅 == 再構成画像のスライス⾯内の画素（正⽅形）の辺⻑
[6] Np：RP 画像の横画素数。すべて 128。
[7] Nz：RP 画像の縦画素数 == 再構成画像のスライス数[8,9,10] scans、views と darks
SIXM のスキャンの回数、投影画像と暗電流画像の枚数。RP から raw intensity（RI）とraw refraction（RR）の投影画像を作成する際にプログラム his2raw_[B,W,F,D] に指定。
[11,12] layer1 と layer2：RI の投影画像から得た物体像の影が濃いスライス番号の値域[13,14] left と right：RR の投影画像（sinogram）から得た物体像の左右の余⽩の幅[15] RC：吸収と位相 CT 画像の両⽅の再構成に指定したサンプルの回転中⼼の位置[16] Nxy：再構成したスライス画像（正⽅形）の各辺沿いの画素数[17,18] LAC/PV (1/cm) と RID/PV (1e-6)
吸収と位相 CT のそれぞれの byte 画像の上の８ビット画素値１階調あたりの CT 値
（estimated LAC or RID）の増分。
[19,20,21] x、y と z：再構成画像の上の「代表的な点」の座標値
この E-mail に添付した 1609_csv.pdf に sample.csv と sixm.csv の記載内容をまとめて表⽰しました。
(2) それぞれの測定の処理に関するファイル「測定番号/a.log」と「測定番号/a.HIS」
SIXM の各測定のログファイルと測定した RP 画像の巨⼤なファイル「測定番号/ri/*.tif」と「測定番号/rr/*.tif」
RI と RR の投影画像群。今回も RAW_W 形式の画像ファイルにした。
「測定番号/raw.log」：RI と RR の画像のそれぞれに含まれる投影値の最⼩値と最⼤値「測定番号/rr_sg.gif」
RR 画像から作成したスライスすべての sinogram をまとめた GIF 画像。ImageJ の「⻑⽅形領域選択」の機能を使ってこの sinogram 画像から投影画像の上の物体像の左右の余⽩の幅（sixm.csv に記した left と right の値）を決めた。
raw.log
それぞれの測定に対する RP 画像から R[I,R] 画像を作成する際に得た RP 画像の諸元（sixm.csv に192 / 194
記した scans、views、darks や Nz などの値）と、その処理に使⽤したプログラム his2raw_W が出⼒したエラーメッセージを書き込んだログファイル。
raw.log に記されているように、測定 160916[c,d] と 160919h で RP の画像の枚数が（raw.log の⾏末の負の数値の分だけ）不⾜していました。sinogram を観察すると 160916d ではサンプルが動いていました。また
160919h の RI、RI と sinogram の画像はすべて「ゴミ」でした。それゆえ、測定 160916d と 160916h の画像再構成は⾏いませんでした。⼀⽅、測定 160916c では RI と RR の投影画像が１枚づつ⾜りないだけなので、それらの最後の投影番号 749 の画像を 750 として（シンボリック）リンクして以降の処理を⾏うことにしました。
「測定番号/sp_[a,p].tif」と「測定番号/sp_[a,p].log」
吸収と位相 CT 画像の sum of projection（SP）の画像（横軸が投影の、また、縦軸がスライスの番号に対応）、および、スライスごとの SP の総和を書き込んだログファイル。
上記の SP の画像は横⽅向に⼀様でなければダメ（厳密には CT に不適）ですが、多くの測定で sp_[a,p].tifの⽚⽅もしくは両⽅がそうなっていません。また、サンプルと空気の境界が⽔平から傾いているものは測定
中にサンプルがクリープしていた可能性があります（測定 160917b は怪しい）。
rc.logプログラム r[i,r]2rc でサンプル回転⾓が０度と 180 度の RI と RR の投影画像から推定した RC の値が書き込まれているログファイル「測定番号/test_[a,p]_sg.tif」
吸収もしくは位相画像の再構成のテストをしたスライスの sinogram「測定番号/test_[a,p]_tg.tif」
rc.log に記されている推定値の前後の 0.5 刻み、15 通りの RC の値を指定して再構成した吸収もし
くは位相画像のスライス画像を５×３のマトリックス状に並べた画像。ただし、それぞれの再構成
画像の左上隅に記されている⽂字列は「スライス番号_RC の値」。
「測定番号/test_[a,p].log」：上記の画像再構成のログファイル「測定番号/tg_[a,p]/*.tif」と「測定番号/tg_[a,p].log」
吸収もしくは位相 CT 画像のスライス画像とその処理のログファイル。なお、今回もプログラム
r[i,r]2tg_W を使って画像再構成を⾏った。
word.log：各測定の吸収および位相 CT 画像に含まれる CT 値の最⼩値と最⼤値「測定番号/word_[a,p].csv」
スライスすべてで 16 ビット画素値と CT 値の対応関係を揃えた word 画像の画素値ヒストグラム。
なお、これらは吸収もしくは位相の再構成画像 tg_[a,p]/ から直接作成した。

193 / 194「測定番号/byte_[a,p]/*.tif」と「測定番号/byte_[a,p].csv」
吸収もしくは位相 CT 画像の byte 画像とそれらの画素値ヒストグラム(3) CT 画像の browse 画像に関するファイル
co[a,p].log
各測定の byte 画像から物体像の楕円体近似⽤プログラム si_ofwd
http://www-bl20.spring8.or.jp/~sp8ct/tmp/of.pdf#page=6を使って計算した吸収もしくは位相画像の重⼼の座標値。ただし、coa == center of absorption
cop == center of phase shift
co[a,p]/*_*.tif
上述の重⼼の位置に印を付けた各測定の吸収もしくは位相画像のスライス画像。ただし、それらのファイル名は「測定番号_スライス番号.tif」。
SIXM ⽤の C-shell scripts "draw_[a,p].csh" を⽤いて sample.csv に⽰したもののうちの画像再構成を⾏った
15 測定について「代表的な点（sixm.csv に⽰した x、y、z の値の点）」を通る（相互に直交している）３断
⾯画像と画素値ヒストグラムを並べた「browse 画像」を作成しました。ただし、重⼼が予想外の位置にあった測定 160919f では画像を観察して代表的な点を決めました。また、それ以外の測定では “co[a,p].log” に記されている吸収と位相画像の２個の重⼼の中央を代表的な点としました。
1609_xyz_[a,p].pdf
A4 の各ページに測定ごとの吸収もしくは位相画像の browse 画像を載せた PDF ファイル。測定の掲載の順は sample.csv の上の順番と同じ。それぞれ 15 ページで、総量は 3.5 MB（吸収）と 1.4MB（位相）。
1609_xyz_a+p.pdf
1609_xyz_[a,p].pdf を縦横とも 1/2 に縮⼩し、吸収と位相の３測定分づつを A4 の各ページに左右に並べた PDF ファイル。5 ページ、4.1MB。
これらの PDF ファイルは E-mail に添付するには⼤き過ぎなので、SPring-8 の計算機 vrm の上に置いてあるものを御覧下さい。
⻑い E-mail になりました。とりあえず以上です。
添付ファイル vrm.txt
削除しました。

194 / 194
添付ファイル 1609_csv.pdf