今回はシミュレーション条件を記載したsmcファイルを編集するプログラムであるchangeの使い方について説明します。
注意:本記事はSIMIND ver.8.0に基づいています。
※SIMINDの使い方を説明している動画(YouTube)には、以下のようなものがあります。ぜひ、合わせて勉強してみてください。
1. Online Conference SIMINDの基本的な使用方法
2. Online Conference CT画像からデジタルファントムを作成する。
3. SIMIND Monte Carlo SPECT Simulator: Part 1
4. SIMIND Monte Carlo SPECT Simulator: Part 2
5. SIMIND Monte Carlo SPECT Simulator: Part 3
6. SIMIND Monte Carlo – Part 1
7. SIMIND Monte Carlo Part 2
8. SIMIND Monte Carlo – Part 3
9. SIMIND Monte Carlo – Part 4
シミュレーションに関係するファイル
SIMINDのシミュレーション条件を記載したファイルは以下の3つです。
simind\〇〇〇〇.smc
simind\smc_dir\simind.ini
simind\smc_dir\ctunits.ini
○○〇〇.smcファイルの内容は気にしているが、simind.iniは初期条件のままにしがちですので一応、中身を確認しておいてください。ctunits.iniに関してはとりあえずは初期設定のままでいいと思います。
これらのファイルはテキスト形式となっています。メモ帳などで開くことができます。
○○○○.smcファイル

設定する項目はMain、Flag、Indexに分かれます。このファイルを直接編集するのは難しいです。そのためにchange.exeを使います。
一方で、simind.iniの中身は以下となります。

chatGPT4oを使って翻訳すると

simind.iniはchange.exeを使わずに、テキストエディタでそのまま編集します。
若しくはswitch機能を使って、シミュレーション実行時にコマンドライン引数で変更します。
散乱の回数や、22番目の項目の保存するマップのピクセル単位(Pytomographyで再構成する場合など)は変更することもありますので、気にしておいてください。
change.exe
それではchange.exeを使って〇〇〇〇.smcファイルの内容を変更してみます。
コマンドプロンプトを起動して、C:\simindに移動します。
cd C:\simind と入力してください。以下のように移動できればOKです。

次に、サンプルのsmcファイルをtutorialフォルダからコピーしてきます。
今回は点線源の例題であるpoint.smcを使います。
コマンドを入力する際には、階層構造を意識してください。
最低限cd, copy, dirコマンドは覚えておきましょう。
cd:フォルダ移動
copy:ファイルのコピー
dir:現在のフォルダの中身を表示する

copy tutorial\point.smc .
の意味はtutorialのフォルダの中にあるpoint.smcを今いるフォルダ(C:\simind)にコピーするという意味です。このコマンドはC:¥simindにいる状態で入力してください。
今いるフォルダは「.」で指定します。
コピーし終わったらdirコマンドで現在のフォルダにpoint.smcがあることを確認してください。
では、change.exeでpoint.smcの中身を変更します。
point.smcがあるC:\simindフォルダにて、「change point」と入力します。
これはpointという引数を与えてchangeを実行することを意味します。

すると、最初の画面(Main)が表示されます。
Mainは1~14までがあります。
それぞれの項目の意味はここに書かれている説明、またはマニュアルを参照してください。

各項目を編集する際には、左側の数字を入力して項目を選択してから編集します。
例えばMainの1番は結果ファイルに記載するコメントを意味しますので、ここを編集してみます。

編集後にEnterを押すと以下のように、反映されます。

では、Mainの次はFlags(フラグ)を編集します。
Mainの画面にて3と入力してEnterを押します。
先ほどのMainとは違い、flag番号だけを指定して、TrueとFalseを切り替えます。

それぞれの項目の意味はここに書かれている説明、またはマニュアルを参照してください。
編集後、Enterを押すとMainのページに戻ります。
最後にIndexを変更します。
Mainのページにて2と入力してEnterを押します。
最初のIndexのページはNo.1からNo.15までが表示されています。
Enterを押すと次のページに移ります。最後のページの後はMainのページに戻ります。

Index-46以降のコリメータに関する情報は特殊な方法が用意されています。
smc_dir\collim.colに記載されたコリメータの情報を自動で反映させることができます。
このファイルの左端に書かれている〇〇ー〇〇〇〇という文字に*をつけて
*gi-hegp
などと入力します。
すると関連するIndexの値が自動で設定されます。



以上のようにsmcファイルにおいて、編集する必要があるのはMain、Flags、Indexの3種類となります。
MainのページでEnterを押すと変更を保存して、changeを終了します。
保存先はsimind.smcと(今回の場合は)point.smcです。simind.smcは常に上書きされていく一時的なファイルです。
ではsimind.iniとpoint.smcの設定が終わりましたら
simind point
と入力して計算を開始します。

計算が開始されると以下のように表示されます。

また、計算が終わるとプロンプトが帰ってきます。

計算結果の概要(ログ)はpoint.resに記録されています。消さないで取っておきましょう。どのような条件で計算したか後々確認することもあります。
計算結果の見方などは次回説明します。