
＜前処理プログラム起動方法＞

1.VBMEGのトップディレクトリに移動して、
   matlabプロンプトで、vbmeg.mを実行してパスを通します。
   >>vbmeg
2.GUIのproject_mgrを実行します。
   >>project_mgr
3.project_root(ワークディレクトリ)を指定します。
4.Menuから起動する前処理プログラムを選択します。


＜吉岡(利)さん作成プログラム起動方法＞

1. vbmeg.mと visual_tool/visualize.mの中で呼び出している
vb_set_prog_dir()の引数にプログラムのホームディレクトリを指定する。

2. matlabプロンプトで
>> visualize
で起動。



＜ToDo＞

- コンテナ関数(add_fmriなど)で、データ登録時に整合性をチェックする
  (例えば頂点数のチェック)。
- select_areaにピークのキャンセルを行うGUIを実装する。
- select_areaで複数(3つ以上)のピークを選択できるようにする。
- select_areaのupdate_listboxをチェックする(コードが変？)。
- sphere_search.mに、プロットを表示しないオプションを追加する。
- plot_parm.fmri_cmapとplot_parm.current_cmapを廃止し、
  plot_parm.cmapのみを用いる。
- Y/Nダイアログを表示する関数(add_fmri.mなど)に制御フラグを用意する。
- 脳モデルに法線情報を重ねて表示できるようにする。
- シミュレーション用MEGデータ作成関数gen_megdata.mは名前が良くないので変える。
- 脳モデル表示用の低レベル関数を作成する。ファイル名を直接渡すのは避ける。
- 個々のfMRIデータおよびAreaデータ(ファイルではない)に、コメントを付けられる
  ようにする。
- sphere_search.mにGUIを表示しないためのフラグをつける。
- job_extract_current.mでflag=3とした場合に、固有値の90%以上に対応する
  最小の部分空間を選択し、元の信号を部分空間に射影してその平均をとるように
  する。



＜ファイル＞

README.txt: このファイル。
define_set.m: プログラム中で使用される定数を定義する関数。
set_plot_parm.m: プロットパラメータ構造体のデフォルト値を設定する関数。
set_prog_dir.m: サブディレクトリにパスを通す関数。



＜ディレクトリ＞

(標準関数)
ToolBrain: 脳モデル情報の操作に関する基本的な関数を含む。
accessSBI: SBIデータにアクセスするための関数を含む。
bayes: VB推定に関する関数を含む。
bem: BEM計算に関する関数を含む。
container: fMRIデータ、Areaデータを扱う関数を含む。
job: GUIから呼び出される関数。
meg: MEGデータを扱うための関数を含む。
plotfunc: 表示用の関数を含む。
select3d: 3次元空間上の平面の点を選択するための関数。MATLABスクリプトの
レポジトリからコピーしてきたもの。
script_template: ユーザが書き換えて使用するスクリプトのテンプレート。
test: テスト用スクリプトから呼び出される関数。

(拡張関数)
bayes2: bayesディレクトリの関数を分かりやすく書き換えたものを含む。参照用。
boundary: 境界面平滑化などのプログラムを含む。
exec: 
morfology: モルフォロジ演算に関する関数を含む。
spm: SPM内部で使用される関数。

** アップロード履歴

*** 2005-05-02
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.11.tar.gzに最新版をアップロード。

*** 2005-04-04
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1b.tar.gzに最新版をアップロード(上書き更新)。

*** 2005-04-03
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1b.tar.gzに最新版をアップロード(上書き更新)。

*** 2005-04-02
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1b.tar.gzに最新版をアップロード(上書き更新)。

*** 2005-03-27
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1b.tar.gzに最新版をアップロード(上書き更新)。

*** 2005-03-24
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1b.tar.gzに最新版をアップロード。

*** 2005-02-25
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1a.tar.gzに最新版をアップロード(上書き更新)。

*** 2005-02-23
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg-0.1a.tar.gzに最新版をアップロード。

*** 2004-12-22
- /home/vbmeg2/taku-y/pub/software/vbmeg/vbmeg.tarに最新版をアップロード。

** 基本データ構造変更履歴

2005-05-17: .curr.matファイルの仕様を変更(L,Lbackを追加)
2005-05-16: .basis.matファイルの仕様を変更。
2005-04-01: .curr.matファイルの仕様を変更。
2005-03-06: データ構造'MRI image'を追加。

** デバッグ履歴

2005-07-27:smooth_time_weight.mで、単一時間窓に対応するようにバグを修正。
2005-06-15:vbmeg_multi_win.mで、ダイポール三成分が分散パラメータを共有する場合に、プログラムが正常に動作するように修正。
2005-06-09: job_plot_currentmap.mのバグを修正。
2005-04-11: job_plot_currentmap.mのバグを修正。
2005-04-08: job_plot_cmap_print_spatialpattern.mのバグを修正。
2005-04-05: job_plot_cmap_update_filteradiusのバグを修正。
2005-04-04: job_plot_cmap_gauss_filter.mのフィルタ計算バグ(？)を修正。
2005-04-03: get_noisecov_all.mで、ノイズ共分散推定モードに関わらず、等方等分散行列を出力するバグを修正。
2005-04-01: job_convert_spm2.mで領域指定時のバグを修正。
2005-03-29: job_edit_area.mでキャンセルボタンを押したときのバグを修正。
2005-03-15: bayes/vb_estimate.mのsparse推定のバグを修正。
2005-03-08: plotfunc/plot_brain.mでの活動強度マップ点表示のバグを修正。
2005-03-08: vbmeg.mでWindowsのファイルセパレータに対応。
2005-03-08: job/job_current.mで、複数セッション推定結果に対する電流復元のバグを修正。
2005-03-08: bayes/vb_estimate.mで、v_mode=1が実行できなかったバグを修正。
2005-02-24: job/job_current.mのバグを修正。
2005-02-24: job/job_movie.mのバグを修正。

** VBMEGプログラム履歴

2005-07-26:修正:可変長時間窓に対応するように、calc_meg_cov.mとsmooth_time_weight.mを修正。ただし、まだパラメータの与え方が完全でない。
2005-07-26:新規:plotfunc/plot_meg_2D.mを作成。MEG空間パターンの表示。
2005-07-20:修正:get_megdata_all.mで、パラメータmeg_averageがなくても動作するように修正(互換性のため)。
2005-07-19:修正:job_plot_meg.mでセンサ位置の空間マップ表示を逆にする。
2005-07-14:修正:ANALYZEフォーマットを対象とするように、plotfunc/plot_mri_image.mを修正。
2005-07-12:修正:bayes/vb_estimate.mで、パラメータ'bayes_parm.meg_average'を追加。1にすると加算平均MEGデータを用いて分散推定を実行する。この修正に伴い、以下の関数を修正。
 - get_noisecov_all.m
 - get_noisevar.m
 - get_megdata_all.m
 - calc_meg_cov.m
2005-07-07:追加:job/saobディレクトリを追加(脳モデル表示プログラム、竹村さん作成)。
2005-07-05:修正:以下のプログラムを変更／追加(佐藤さん作成)。
 - job_brain関連
 -- ToolBrain/vb_make_brain_data.m
 -- ToolBrain/vb_bvoyger_to_vox.m
 -- ToolBrain/vox_to_analize_right.m
 -- ToolBrain/fild_match_point.m
 -- ToolBrain/vb_vox_to_spm_right.m
 -- ToolBrain/vb_next_distance.m
 -- ToolBrain/vb_make_inflate_data.m
 - job_fmri関連
 -- ToolBrain/vb_make_fmri_data.m
 - job_meg関連
 -- meg/make_meg_data.m
 -- ToolBrain/inv_DICOM.m
 - job_curry2vbmeg関連
 -- bem/vb_read_curry_surface.m
2005-07-05:追加:ディレクトリ'mri_toolbox'
2005-07-04:修正:job/job_preprocess_meg.mで、除去するトライアルを明示的に指定できるようにする。
2005-06-23:修正:bayes/vb_estimate.mで、パラメータ'bayes_parm.confidence_mode'を追加。1の場合、信頼度パラメータをデータ数に比例させるのを止める。(vbmeg_multi_win.m, vbmeg_new.m, vbmeg_new_sparce.mを修正)。デフォルト値は0。
2005-06-23:修正:bayes/vb_estimate.mで、'sparse-old'を追加。旧VB推定プログラム(vbmeg_new_sparce.m)を実行。
2005-06-19:修正:bayes/vb_estimate.mで、'iso+sparse-old'を追加。旧VB推定プログラム(vbmeg_new.m)を実行。
2005-06-14:修正:job/job_morph_cortex.mで、近傍頂点インデックス情報を、平滑化後の.brain.matファイルに保存するように変更。
2005-06-10:修正:bayes/vbmeg_multi_win.mで、Ta0の値が負の場合には、データ数によるスケーリングを行わずに信頼度を直接与えることができるように修正。
2005-06-09:修正:boundaryディレクトリを佐藤さんの最新版に更新。
2005-06-09:新規:job_morph_cortex.mを追加。
2005-06-09:修正:morfologyディレクトリを佐藤さんの最新版に更新。皮質を平滑化するプログラム等を含む。
2005-06-02:修正:vbmeg_multi_win.mで自由エネルギー計算の定数部分を加える(山下さん修正)。
2005-05-25:修正:bayes/vb_estimate.mで、推定モードが'sparse'の場合に、GGall=[]としてvbmeg_multi_win.mを呼び出す。
2005-05-25:修正:bayes/vbmeg_multi_win.mをスパース推定に対応(山下さん作成)。
2005-05-18:修正:bayes/vb_estimate.mにパラメータTa0_actを追加。
2005-05-17:修正:job/job_current2.mを新ファイルフォーマット(.curr.mat)に対応。間数名をjob_current.mに変更。古いjob_current.mはbackupディレクトリに移動。
2005-05-17:修正:job/job_plot_currentmap.mを新ファイルフォーマット(.curr.mat)に対応。
2005-05-17:移動:calc_current_mean.mをbackupディレクトリに移動。
2005-05-16:修正:meg/make_lead_field.mでBasis_modeとLdipoleを保存するのを止めて、代わりにLを保存する(ファイル形式変更)。

これより上の変更は、すべてvbmeg_new上で行っている。

2005-05-13:修正:vb_estimate.mのパラメータ名を変更。
2005-05-13:修正:vb_estimate.mの内部でvbmeg_multi_win.mを呼び出すように修正。他にも、いくつか細かい修正を加えている。
2005-05-13:追加:vbmeg_multi_win.mを追加(山下さん作成)。
2005-05-12:追加:job_smooth_head.mを追加。(Curryサーフェイスファイルを変換した)境界モデルの頂点数を削減し平滑化を実行するスクリプト。
2005-05-12:追加:job_curry2vbmeg.mを追加。CurryサーフェイスモデルをVBMEGで使用する形式に変換するスクリプト。
2005-05-10:修正:get_noisecov_all.mで、等方等分散ノイズモデルが指定された場合でもCOVの中身を正しく初期化する(空のままにしない)。vbmeg_multi_windows.mに対応するため。
2005-05-09:修正:job_preprocess_meg.mで、除去したセンサとトライアルを[MEGファイル名.meg.mat]に保存する。
2005-04-05:修正:job_current.mで、領域データが行ベクトルとして与えられる場合に対応。
2005-04-04:修正:job_edit_area.mで、領域反転機能を追加。
2005-04-04:修正:job_plot_currentmap.mで頂点を直接指定できるように修正。
2005-04-04:移動:script_template/job_calc_scalo.mをjobディレクトリに移動。
2005-04-02:修正:job_plot_currentmap.mおよびjob_plot_meg.mを修正。

*** 2005-03-31

- 修正：job_plot_currentmap.m、新旧両バージョンの.curr.matファイルに対応。
- 新規：job_current2.mを作成。focal currentとbroad currentを別々に出力。
- 新規：佐藤さん山下さんによる関数bayes/spatial_gauss_filter.mの導入。これに伴い、以下の関数を修正。
-- bayes/get_leadfield_back.m
-- bayes/get_leadfield_all.m
-- bayes/get_leadfield_cov.m
-- script_template/vb_job_vb.m
- 移動：bayes/reduce_filter.mをbackupディレクトリに移動。

*** 2005-03-30

- 移動：script_templateディレクトリ内で、使用頻度が極めて低い、あるいは再新盤に対応していない関数をbackupディレクトリに移動。
- 修正：readDICOMimages.mで、.tbl.matファイルを保存しないように変更。
- 修正：job_preprocess_meg.mで、挙動がおかしいセンサのトライアル数ではなく、全トライアルに対する比率によってセンサを除去するかどうか決める。
- 修正：job_plot_meg.mで、全時系列上の信号の最大最小値で、空間マップをスケーリングするように変更。
- 

*** 2005-03-29

- 更新：job_plot_currentmap.mに対する機能拡張。

*** 2005-03-26

- 修正：define_set.mにEDITAREA_MAXを追加。
- 新規：job/job_edit_area/job_edit_area.mを作成。

*** 2005-03-23

- 新規：gui/get_child_handle.mを作成。
- 新規：job/job_plot_currentmap/job_plot_currentmap.mを作成。

*** 2005-03-20

- 変更：プログラムディレクトリを指す環境変数名をSBI_HOMEからVBMEG_HOMEに変更。
- 削除：job/job_plot_megavr.mをbackupディレクトリに移動。
- 移動：ScriptLoadSRF.mをaccessSBIからToolBrainディレクトリに移動。
- 修正：defineをvbmeg_inst.constとする(以下の関数を修正)。
-- vbmeg.m
-- set_parm.m
-- ToolBrain/vb_make_brain_data.m
-- ToolBrain/vb_make_fmri_data.m
-- accessSBI/readDICOMimages.m
-- accessSBI/readSBI_yosio.m
-- bem/vb_read_curry_surface.m
-- exec/exec_brain.m
-- exec/exec_fmri.m
-- exec/exec_leadfield.m
-- exec/vb_load_brain_proj.m
-- exec/vb_load_fmri_proj.m
-- exec/vb_save_brain_proj.m
-- exec/vb_save_fmri_proj.m
-- exec/vb_save_basis_proj.m
-- gui/callback_edit.m
-- gui/change_current_mode.m
-- gui/create_gui.m
-- gui/set_pointer.m
-- gui/bayes_mode/change_noise_model.m
-- gui/bayes_mode/create_bayes_files_gui.m
-- gui/bayes_mode/create_bayes_parms_gui.m
-- gui/bayes_mode/load_bayes_files_gui.m
-- gui/bayes_mode/reset_bayes_files_gui.m
-- gui/bayes_mode/reset_bayes_parms_gui.m
-- gui/bayes_mode/set_active_bayes_files_gui.m
-- gui/bayes_mode/set_active_bayes_parms_gui.m
-- gui/bayes_mode/set_session.m
-- gui/pre_analysis_mode/create_brain_gui.m
-- gui/pre_analysis_mode/create_fmri_gui.m
-- gui/pre_analysis_mode/create_minor_para_pre_analysis.m
-- gui/pre_analysis_mode/pre_analysis_edit.m
-- gui/pre_analysis_mode/pre_analysis_popup.m
-- gui/pre_analysis_mode/pre_analysis_slider.m
-- gui/pre_analysis_mode/reset_brain_gui.m
-- gui/pre_analysis_mode/reset_fmri_gui.m
-- gui/pre_analysis_mode/reset_leadfield_gui.m
-- gui/pre_analysis_mode/set_active_brain_gui.m
-- gui/pre_analysis_mode/set_active_fmri_gui.m
-- gui/pre_analysis_mode/set_active_leadfield_gui.m
-- gui/pre_analysis_mode/visible_pre_analysis_minor.m
-- gui/sel_file/create_sel_file.m
-- gui/sel_file/dir_list.m
-- gui/sel_file/dir_popup.m
-- gui/sel_file/fname_list.m
-- gui/sel_file/sel_file_gui_active_set.m
-- gui/sel_file/select_fname.m
-- gui/sel_file/visible_sel_file.m
-- gui/time_window/change_target_window.m
-- gui/time_window/draw_time_window_gui.m
-- gui/time_window/set_active_time_window_gui.m
-- gui/time_window/time_window_edit.m
-- gui/time_window/time_window_mouse.m
-- gui/time_window/time_window_ok_cancel.m
-- gui/time_window/time_window_slider.m
-- job/vb_job_brain.m
-- job/vb_job_fmri.m
-- job/vb_job_leadfield.m
-- job/job_mri.m
-- meg/make_lead_field.m
-- meg/make_meg_data.m

*** 2005-03-19

- 新規：guiにselect_xrange.mを追加。時系列データの範囲選択機能を提供。

*** 2005-03-18

- 更新：job/job_movie.mで脳の外側を同時に表示する。
- 削除：plotfunc/plot_meg_slice.mをbackupディレクトリに移動。
- 削除：plotfunc/plot_peak_timecourse.mをbackupディレクトリに移動。
- 削除：plotfunc/select_time_window.mをbackupディレクトリに移動。
- 更新：job/job_plot_meg.mでMEGスライス表示の画質を向上。

*** 2005-03-16

- 新規：bayes/extract_peak_timecourse.mを作成。時系列データのピーク頂点を探索する。

*** 2005-03-08

- 新規：job/job_act_current.mを作成。推定電流時系列の絶対値の時間積分を活動マップとして登録する。

*** 2005-03-06

- 新規：job/job_mri.mを作成。
- 新規：accessSBI/back_DICOM.mを作成。

*** 2005-02-25

- 新規：ディレクトリspmtoolsを追加。

*** 2005-02-23

- 修正：bayes/vb_estimate.mのバグを修正(megnoise->meg_noise)。
- 移動：job/job_make_movie_simple.mをbackupディレクトリに移動。
- 新規：job/job_movie.mを作成。
- 移動：plotfunc/gen_movie.mをbackupディレクトリに移動。

*** 2005-02-21

- 修正：vbmeg.mを修正。実行時の自分自身のパスをプログラムディレクトリとする。
- 新規：job/job_current.mを作成。推定結果ファイルのデータに基づいて推定電流時系列を計算する。

*** 2005-02-18

- 移動：bayesディレクトリに含まれる以下の関数をbackupディレクトリに移動。
-- vb_estimate1.m
-- vb_estimate2.m
-- vb_estimate_new.m
-- vbmeg_sparce.m 
-- vbmeg_sparce_all.m
-- vbmeg_sparce_allpos.m
-- vbmeg_wiener.m
-- vb_wiener_estimate.m
-- calc_current_mean_back.m
-- reduce_filter_old.m
-- sphere_search.m
-- job_rm_senros.m
-- normalize_current.m
-- vb_calc_GoF (使われていないかどうか確認)
-- calculate_covariance.m (使われていないかどうか確認)
-- get_timecourse.m (使われていないかどうか確認)
-- inverse_filter.m (使われていないかどうか確認)
-- jestimate.m (使われていないかどうか確認)
-- meg_filter_old.m (使われていないかどうか確認)
-- prepare_meg_data.m (使われていないかどうか確認)
- 修正：bayesディレクトリに含まれる以下の関数を修正。
-- set_learning_parameters.m
-- vbmeg_new.m
-- vbmeg_new_iso.m
-- vbmeg_new_sparce.m

*** 2005-02-14

- 修正：bayes/get_megdata_all.mのメッセージを変更。
- 修正：bayes/get_noisecov_all.mのメッセージを変更。
- 修正：ToolBrain/make_inflate_data.mでMRI_IDのチェックを外す。
- 新規：ToolBrain/make_flat_data.mを作成。BrainVoyagerフラットマップSRFファイルをVBMEGに取り込む。

*** 2005-02-13

- 修正：bayes/vbmeg_new.mを修正。sxおよびvを更新しないようにパラメータで設定できるようにした。
- 修正：bayes/vbmeg_new_iso.mを修正。sxを更新しないようにパラメータで設定できるようにした。
- 移動：bayes/vbmeg_new.mの修正前のバージョンをbackupディレクトリにコピー。
- 移動：bayes/vbmeg_new_iso.mの修正前のバージョンをbackupディレクトリにコピー。
- 修正：bayes/set_learning_parameters.mを修正。

*** 2005-02-05

- 削除：meg/make_sphare_point.mを削除。

*** 2005-02-02

- 修正：plotfunc/make_movie.mを修正。

*** 2005-02-01

- 修正：plotfunc/select_area.mを修正。印刷時にplot_parm.lightの値を反映。

*** 2005-01-31

- 修正：plotfunc/plot_slice.mを修正。マーカの色を直接指定できるようにする。

*** 2005-01-28

- 修正：ディレクトリutilをdipoleに変更。

*** 2005-01-27

- 修正：bayes/calc_current_all.mを修正。bsnormをact/bckで共通にする。
- 修正：bayes/calc_current_mean.mを修正。bsnormをact/bckで共通にする。
- 修正：bayes/calc_current_mean.mを修正。bsnormをact/bckで共通にする。
- 修正：bayes/get_leadfield_all.mを修正。bsnormをact/bckで共通にする。
- 修正：bayes/get_leadfield_cov.mを修正。bsnormをact/bckで共通にする。
- 移動：bayes/estimate_current.mをbayes/backupディレクトリに移動。
- 移動：bayes/get_current_space.mをbayes/backupディレクトリに移動。


*** 2005-01-26

- 削除：ToolBrain/vb_dipole_estimate(_cov).mを削除。
- 修正：job/job_plot_meg.mを修正。パワー時系列のプロットに対応。
- 移動：bem/*.mをbem/backupディレクトリに移動。
- 追加：bem/solid_angle_grk.mを追加。
- 追加：bem/solid_other.mを追加。
- 追加：bem/bem_meg.mを追加。
- 追加：bem/solid_auto_grk.mを追加。
- 追加：bem/bem_inverse_meg.mを追加。
- 追加：bem/bem_meg_linear_grk.mを追加。
- 追加：bem/sensor_mag.mを追加。
- 追加：bem/dipole_pot.mを追加。
- 追加：bem/dipole_mag.mを追加。
- 移動：meg/make_lead_field[/2/3].mをmeg/backupに移動。
- 修正：meg/make_lead_field.mを佐藤さんの最新版に更新。
- 修正：meg/make_lead_field.mを修正。MEGinfo.mrisysによるMRI IDチェックを外す。

*** 2005-01-25

- 新規：boundary/solid_angle_check.mを追加。
- 新規：ディレクトリ'util'を作成。それに伴い、set_prog_dir.mを修正。
- 新規：util/vb_dipole_estimate(_cov).mを追加(佐藤さん作成)。

*** 2005-01-24

- bayes/get_leadfield_all.mとbayes/get_leadfield_cov.mを修正。リードフィールドの各成分に対する正規化に対応。それぞれの関数内部でリードフィールドの正規化を行う。修正前のファイルはbayes/backupディレクトリに保存。
- リードフィールドの各成分に対する正規化に対応するために以下のファイルを修正。
-- bayes/get_leadfield_all.m
-- bayes/get_leadfield_cov.m
-- bayes/get_current_mean.m

*** 2005-01-23

- bayes/reduce_filter.mを、佐藤さんの最新版に更新。

*** 2005-01-21

- job/job_meg.mおよびmeg/make_meg_data.mを修正。parm.chgdcm=0とすると、MRI情報を持たないMEGデータも.meg.mat形式に変換することができる。
- calc_current_mean.mを修正。生データに対する電流時間積分値の推定に対応。

*** 2005-01-20

- calc_current_mean_back.mを作成。背景脳活動のみ推定する。

*** 2005-01-18

- ファイル更新：以下のファイルを、佐藤さんの最新版に置き換える。
-- bayes/calc_current_all.m
--- GGnormをロードしないようにcalc_current_all.mを変更(GGnormは不要)。
-- bayes/calc_current_mean.m (新規)
-- bayes/calc_meg_cov.m
-- bayes/get_leadfield_all.m
-- bayes/get_leadfield_back.m
-- bayes/get_leadfield_cov.m (新規)
-- bayes/get_megdata_all.m (出力メッセージを修正)
-- bayes/get_model_index.m
-- bayes/get_noisecov_all.m
-- bayes/reduce_filter.m
-- bayes/set_learning_parameters.m
-- bayes/smooth_time_weight.m (新規)
-- bayes/vb_temporal_smooth.m
-- bayes/vbmeg_new.m
-- bayes/vbmeg_new_iso.m
-- bayes/vbmeg_new_sparce.m
-- ToolBrain/vb_reduce_cortex.m

*** 2005-01-12

- デバッグ: bayes/meg_filter.m L116
- bayes/meg_filter.mの旧バージョンをbayes/meg_filter_old.mとして復活。テスト用。
- bayes/inverse_filter.mを更新。
-- 内部でmeg_filter_old.mを呼び出す。
-- 保存されている変数basisがセル形式の場合、basis{1}を使用(複数セッションには未対応)。
-- 注: inverse_filter.mは、佐藤さんの最新版プログラムでは使用されていない。
- bayes/estimate_current.mを更新。複数トライアルへの対応。
- デバッグ: job/job_plot_meg.m、パラメータが空の場合の処理を修正。

*** 2005-01-07

- デバッグ: container/add_area.m,add_act.m,rm_area.m,rm_act.mを修正。
-- exist(MRI_ID,1) -> exist('MRI_ID')
- デバッグ: meg/make_lead_field.mを修正。
-- MEGinfo.mrisysによるMRI IDチェックを外す。

*** 2005-01-06

- ファイル更新: VBMEG推定プログラム、山下さんと佐藤さんによりデバッグされたもの(分散パラメータの自由度を背景電流と活動電流で別々に扱うことと、リードフィールドの正規化係数を背景電流用と活動電流用で揃えることの二点を修正)。
-- bayes/calc_current_all.m (更新)
-- bayes/calc_meg_cov.m (更新、実質的には同じかも？)
-- bayes/get_leadfield_all.m (更新)
-- bayes/get_leadfield_back.m (更新)
-- bayes/get_megdata_all.m (更新)
-- bayes/get_noisecov_all.m (更新)
-- bayes/meg_filter.m (更新)
-- ToolBrain/vb_reduce_cortex.m (更新、実質的には同じかも？)
-- bayes/set_learning_parameters.m (更新)
-- bayes/vb_estimate_new.m (新規)
-- bayes/vbmeg_new.m (更新)
-- bayes/vbmeg_new_iso.m (更新)
-- bayes/vbmeg_new_sparce.m (更新)

*** 2005-01-05
- ファイル更新および追加: VBMEG推定プログラムの最新バージョン(佐藤さん作成)を導入。以下のファイルを追加／更新。
-- bayes/calc_current_all.m (追加): 背景脳活動推定モデルによる電流分散推定結果を用いた電流時系列推定を行う。meg_filter.mを使用せず、内部で逆フィルタを計算している。
-- bayes/calc_meg_cov.m (追加): 電流分散推定に必要な、観測磁場の共分散行列を計算する。
-- bayes/get_leadfield_back.m (追加): 脳内電流分散推定に必要な、リードフィールド行列の積を計算する。ただし関数内部でリードフィールド行列には平滑化フィルタが適用された後、正規化される。正規化係数は戻り値として得られるが、平滑化フィルタ行列は返さないことに注意。
-- bayes/get_megdata_all.m (更新): リードフィールド行列に対する平滑化フィルタの適用、正規化を行う。フィルタ行列と正規化係数を戻り値として返す。
-- bayes/get_model_index.m (追加): 全脳モデルインデックスを部分脳モデルインデックスに変換する。部分脳は全脳モデルインデックスの集合として表現される。
-- bayes/get_noisecov_all.m (追加): MEG観測ノイズ共分散行列を計算する。
-- bayes/meg_filter.m (更新): 背景脳活動推定モデルに対応したMEG逆フィルタを計算する。ただし、電流分散推定に用いられたMEGデータに対応するリードフィールド行列が自動的に用いられるため、電流分散推定に用いていないMEGデータに対する逆フィルタを計算することはできない。
-- bayes/reduce_filter.m (更新): 平滑化フィルタ(分布電流フィルタ)を計算する。
-- bayes/vb_temporal_smooth.m (更新): 移動平均を適用する。
-- bayes/vbmeg_new[_iso/_sparce].m (追加): 条件つき電流事前分散を計算する。vbmeg_new.mが活動電流分散推定、*_iso.mが背景脳活動推定、*_sparce.mが(背景脳活動と観測ノイズを区別しない)旧モデルによる推定をそれぞれ実行する。

*** 2005-01-04
- ファイル名変更: スクリプトscript_template/job_vb_estimate.mの名前をjob_vb_estimate_old.mに変更。このバージョンは背景脳活動によるノイズとセンサノイズを一緒に扱う。

*** 2004-12-28
- スクリプトjob/job_preprocess_meg.mを作成。

- 以下のスクリプトをjob/backupに移動(必要ないと思われるため)
-- job/job_check_meg.m
-- job/job_rmbase_meg.m
-- job/job_screen_meg.m

*** 2004-12-27
- ファイルフォーマット仕様変更(互換性保持): Activity map fileおよびArea fileに変数'MRI_ID'を追加。この変更に伴い、以下の関数を修正。
-- container/vb_job_brain.m
-- container/vb_add_act.m
-- container/vb_add_area.m
-- container/vb_rm_act.m
-- container/vb_rm_area.m
注: 以下の関数は変更する必要は無い。ただし、コメントの形式が古かったものは新しいものに修正した。
-- container/vb_get_act.m
-- container/vb_get_area.m
-- container/vb_get_keyset_act.m
-- container/vb_get_keyset_area.m

- ファイルフォーマット仕様変更(互換性保持？): Lead field fileに含まれていた以下の変数を削除。一方、変数megfileを追加。これらの変更に伴い、関数make_lead_field.mを修正。
-- Basis_mode
-- MEGinfo
-- o (ポテンシャルファイル(BEM使用時のみ作成される)に保存するように変更)
-- pick
-- V
-- xx

- 計算速度向上: calc_basis_exp.mを最新版(佐藤さん作成)のものと置き換える。calc_bbasis_exp.mの旧バージョンはbackupディレクトリに移動。

- ファイルフォーマット仕様変更(互換性保持): .meg.matファイルにEOGデータを保存するように変更。この仕様変更に伴い、make_meg_data.mを修正。

*** 2004-12-17
- job_convert_spm2.mを修正。郷田さんの座標変換プログラムを用いた、標準脳解析結果への対応。

*** 2004-12-12
- job_convert_spm2.mを修正。左右反転。

*** 2004-12-11
- spmディレクトリをbackupディレクトリに移動(おそらく使用されていない)。
- set_prog_dir.mでspmディレクトリにパスを通す部分をコメントアウト。
- make_fmri_data.mを変更。.spm.matファイルのVOL(ボクセルサイズを表す変数)を完全に使用しないようにする。
- job_convert_spm2.mを作成。

*** 2004-12-09
- job/job_brain.mの中で、inflate_to_flat.mを呼び出すのを止める。
  この変更により、.inflate.matファイルの中に変数XYsphなどの
  自動フラットマップ(佐藤さん作成)に関する変数が書き込まれなくなったが、
  自動フラットマップを使用しない限り問題は無い。
- job/job_BV.mを作成。job_brain.mの中で、インフレートマップを取り込む
  部分のみを取り出したものに過ぎない。
- ToolBrain/make_inflate_data.mにコメントを追加。

2004-12-01
- 以下のプログラムを修正。
  exec/vb_save_brain_proj.m
  exec/vb_load_brain_proj.m
  exec/vb_save_fmri_proj.m
  exec/vb_load_fmri_proj.m
  exec/exec_fmri.m
  ToolBrain/vb_make_fmri_data.m
  job/vb_job_fmri.m
- job_fmri.mで、終了後にfMRIデータを表示するのを中止。
  plot_func/plot_fmri.mを更新する必要があるため。

2004-11-26
- job_plot_meg.mを更新。コンソール上にMEGデータの概要を表示。

2004-11-23
- job_plot_meg.mを作成。MEG加算平均平均時系列のプロット、単一トライアルの
  時系列のプロット、空間分布の時系列のプロットが可能。

2004-11-22
- 以下のファイルをscript_templateからjobディレクトリに移動。
  job_check_meg.m, job_rmbase_meg.m, job_screen_meg.m, job_calc_priorvar.m, 

2004-11-18
- vb_estimate2.mを修正。
  bayes_parm.act_key_current.mを設定すると、推定電流のセッション、トライアル、
  時間の全てに関する平均値をActivity mapとして登録する。

2004-11-16
- script_template/job_check_meg.mを作成。MEGデータに含まれる全トライアルの
  時系列を表示するスクリプト。
- script_template/job_screen_meg.mを作成。MEGデータからセンサとトライアルを
  除去するためのスクリプト。
- job/job_meg.mに説明を加える。
- bayes/vb_estimate2.mを更新。複数セッションの推定(仮想センサ)に対応。
  加算平均磁場を保存しないように変更。
- bayesディレクトリの以下の関数を修正。複数セッションへの対応のため。
  vbmeg_sparse_allpos.m
  get_megdata_all.m
  get_leadfield_all.m

2004-11-11
- script_template/job_calc_priorvar.mを作成。推定された事前分散をactivity 
  mapとして登録する。
- plotfunc/job_select_area.mおよびscript_template/job_select_area.mを
  更新。get_act.mなどの関数を使用。

2004-11-09
- script_template/job_vb_estimate.mを変更。fMRIファイルを
  Activity mapファイルに置き換える(.fmri.mat->.act.matなど)。
- bayes/vb_estimate2.mの中のfMRIファイルをActivity mapファイルに置き換える。
- container/get_keyset_act.mのバグを修正。
- container/get_act.mのバグを修正。

2004-11-08
- define_set.mのfMRIファイル拡張子を'.act.mat'に変更。ただしdefine構造体の
  中でのフィールドの名称はFMRI_EXTENSIONのまま。プロジェクトファイルの
  拡張子(FMRI_PROJECT_EXTENSION)も同様に変更。
- job/job_brain.mを変更。
  add_fmri()をadd_act()に変更
  parm.[dir/file].fmriをparm.[dir/file].actに変更。
- exec/exec_brain.mのparm.[dir/file].fmriをparm.[dir/file].actに変更。

2004-11-02
- make_movie.mを更新。MEGデータのプロットに対応。

2004-10-18
- job_extract_current.mのflag=4に対してparm.weight_equalオプションを追加。
  各周波数成分毎に強度を比較し、その累計に基づいて代表頂点を決める。

2004-10-15
- 以下のスクリプトにExampleがあることを確認(無い場合は追加)。
  * job_calc_tstat_scalo.m
  * vb_job_calc_scalo.m
  * job_extract_current.m
  * job_calc_freq_brain.m
  * job_calc_tstat_freq.m
- job_extract_current.mを更新。周波数帯域と時間窓を限定してパワーを計算し、
  それが最大となる頂点上の電流時系列を代表電流時系列とする。

2004-10-14
- job_extract_current.mを更新。

2004-10-12
- 現時点でBRAIN_ID等のIDを各ファイルに保存するのを止める。
  これに伴い、Container関数群を修正。
- script_template/job_extract_current.mを作成。
- job_vb_estimate1.mを廃止。job_vb_estimate2.mをjob_vb_estimate.mとする。

2004-10-09
- 現在のプログラムを開発初段階のものと位置付け、プログラムのバージョンを
  vbmeg-ver0.1aとする。
- bayes2ディレクトリを廃止。
- .fmri.matファイルを廃止。代わりにActivity map file(.act.mat)を定義。
- .area.matファイルにBRAIN_IDを追加。
- 上記変更に伴い、以下のプログラムを変更。
    add_fmri.m        -> vb_add_act.m
    get_fmri.m        -> vb_get_act.m
    rm_fmri.m         -> vb_rm_act.m
    get_keyset_fmri.m -> vb_get_keyset_act.m



＜Ver4.0履歴＞

2004-10-09
- プログラムをVer4.0a-7.tar.gzとして
  /home/vbmeg2/taku-y/pub/software/vbmegに置く。

2004-10-06
- TperiodおよびTnextの値は観測磁場の長さを越えてはいけない。
- estimate_current.mを修正。上記の場合に対応するようにした。
  しかし上記の条件は満たされるべきである。

2004-10-05
- job_calc_tstat_freq.mを作成。
- estimate_current.mを、推定時間窓(Tperiod)が長すぎる場合にも
  対応するように修正した。

2004-10-04
- time_freq/hann_win.mを作成。
- script_template/job_calc_freq_brain.mを作成。

2004-10-03
- job_calc_scalo.mを、関数inverse_filter.mが返す変数を用いて
  シンプルに書き換えた。
- script_template/job_make_current_fmri.mを作成。ある時間窓に
  対する推定電流空間分布をfMRI情報として登録する。

2004-10-02
- job_calc_tstat.mのバグを修正。scl_frqをscl_freqと間違えていた。

2004-09-30
- Callanさんのメールのとおりにjob_calc_scalo.mでPCAを実行する部分を修正。

2004-09-29
- job_calc_scalo.mでSVDを適用できるように修正。

2004-09-24
- plot_func/make_movie.mのバグを修正。
- gen_movie.m(旧プログラム)をbackupディレクトリに移動

2004-09-23
- inverse_filter.mが返すTperiodおよびTnextの値を、加算平均推定結果ファイルの
  場合にも対応するように修正。
- estimate_current.mを修正。推定時間窓よりも解析時間窓の方が小さい場合にも
  対応。念のため、以前のバージョンはbackupディレクトリに保存。
- plot_brain_inflate.mとmake_movie.mを更新。

2004-09-22
- select_area2.mを開発。分割推定時間窓に対応。

2004-09-20
- estimate_current.mのデバッグ。MEGデータの一部分に対する推定が
  正常に行えるようになる。
- make_movie.mを山岸さんのディレクトリからコピー。

2004-09-19
- Tperiod、Tnextとmeg_filtを戻り値とするようにinverse_filter.mを変更。
- estimate_current.mを、適切な逆フィルタを自動的に選択するように変更。

2004-09-16
・script_templateディレクトリを作成。GUIから直接実行されないスクリプトは
全てこのディレクトリに入れる。

2004-09-15
・job/job_rm_sensor.mを追加。
・job/job_merge_area.mを追加。
・job/job_calc_scalo.m動作確認。
・吉岡(利)さんの新プログラムを組み込む。ファイル選択が使いやすくなっている。
以下のファイル、およびディレクトリを更新。
	set_parm.m
	vb_define_set.m
	exec/exec_brain.m
	exec/exec_leadfield.m
	gui/
	visual_tool/

2004-09-14
・job_morph_open.mおよびjob_morph_close.mのバグを修正。
job_morph_close_open.mを作成。
・jobディレクトリにjob_calc_scalo.mを追加。時間窓分割推定結果に対応。
・time_freqディレクトリを追加。Danniel Callanさんが作成した
時間周波数解析プログラムを含む。
・set_prog_dir.mを、time_freqディレクトリにパスが通るように修正。

2004-09-09
・job_morph_open.mおよびjob_morph_close.mを作成。

2004-09-07
・GUIメニューのpreAnalysisで、.meg.matファイルをSBIシステムの
ディレクトリに書き込む仕様を修正。.meg.matファイルを.basis.matファイルと
同じディレクトリに書き込むようにする。
・Ver4.0a-6.tar.gzとして/home/vbmeg2/taku-y/pub/softwareに置く。

2004-09-06
・job/job_vb_estimate1.mを、bayes/vb_estimate.mの関数名変更に
対応するように修正。

2004-09-05

--- ベイズ推定関数名およびパラメータ名の整理
・bayes/vb_estimate2.mとbayes/vb_estimate3.mをbayes/backupディレクトリに移動。
・bayes/vb_estimate4.mをbayes/vb_estimate2.mとする。
・上記変更に対応するようにjob/job_vb_estimate2.mを変更。
・job_vb_estimate2.mに、bayes_parm.cont_prとbayes_parm.common_sxを追加。
・上記変更に対応するように、bayes/set_learning_parameters.mおよび
vbmeg_sparce_allpos.mを変更。
---

2004-09-03
・jobディレクトリを整理。現時点で使用方法が明確なもの
以外はbackupディレクトリに移動。

2004-08-31
・(job_)gen_movie.mの関数名を(job_)make_movie.mに変更。

2004-08-30
・gen_movie.mおよびjob_movie.mを作成。新バージョン。
・vbmeg_sparce_allpos.mのバグを修正(aaw=0 -> aaw=zeros(M,1))

2004-08-28
・vbmeg_sparce_allpos.mの複数トライアルをテスト(allpos_test)。

2004-08-27
・vbmeg_sparce_allpos.mのバグを修正。ただし、複数セッション、
複数トライアルのテストはまだ。

2004-08-26

--- 推定電流の復元について
・reconstruct_current.mを廃止。元のプログラムはbackupディレクトリへ。
・estimate_current.mの大幅な修正。元のプログラムはbackupディレクトリへ。
・inverse_filter.mを時間窓分割フィルタ再構築に対応。
・meg_filter.mを修正。
---

2004-08-24
・plot_brain.mおよびplot_brain_inflate.mで、領域を点表示したときに
LRフラグが無視されるバグを修正。

--- 複数セッション、複数時間窓に対応したプログラム
・佐藤さんが作成した以下のプログラムを追加。ただしテストはまだ。
job/job_vb_estimate3.m (元の名前はjob_vb_estimate2.m)
bayes/vbmeg_sparce_allpos.m
bayes/vb_estimate3.m (元の名前はvb_estimate2.m)
bayes/get_leadfield_all.m
bayes/get_megdata_all.m
bayes/set_learning_parameters.m
・job_vb_estimate3.mをjob_vb_estimate2.mと同じ形式に変更。
・get_megdata_all.mをチェック。
・get_leadfield_all.mをチェック。
---

2004-08-23
・吉岡(利)さんが作成したプログラム(visualizeディレクトリ、
yosioディレクトリ、guiディレクトリ、execディレクトリ、vbmeg.m、
define_set.m、set_parm.m)を追加。
2004/8/18版。吉岡(利)さんのメールを参照。
・分布電流推定プログラム(job_vb_estimate1.m、vb_estimate1.m、vbmeg_sparce)を、
事前分散の渡し方とモデルエントロピーに関して再確認。
・生データ解析プログラム(vbmeg_sparce_all.m)が修正されていることを確認。

2004-08-03
・bayes/vbmeg_sparse_all.mのバグを修正(佐藤さん)したものに置き換える。
・Ver4.0a-5をリリース。

2004-08-02
・bayes/get_current_time.mのバグを修正。
・plot_func/select_timewindow.mのバグを修正。

2004-07-25
・job/job_gen_movie.mを作成。

・plotfunc/gen_movie2.mを作成。
・job/job_gen_movie_diff.mを作成。
上記二つのプログラムにはバグがある。仁科さんにバグ修正版をもらう。

2004-07-24
・plotfunc/gen_movie.mを追加。

2004-07-22
・vb_estimate1/2.mを修正。逆分散パラメータを渡して、内部で
分散パラメータ(a0_inv)に変換する。vb_estimate1.mの内部で、
新しいプログラムであるvbmeg_sparce.mを呼び出すように修正。
vbmeg_time_sparce_vec.mはbackupディレクトリに移動。
・sphere_search.mの内部でも、vbmeg_sparce.mを呼び出すように修正。
・吉岡(利)さんのguiディレクトリを追加。
・以下のファイルを吉岡(利)さんのものに更新。旧版はbackupディレクトリに保存。
vb_define_set.m
vb_set_prog_dir.m
・吉岡(利)さんのvbmeg.m、set_parm.m、exec、jobディレクトリを追加。
execおよびjobディレクトリはbackupディレクトリに保存。

2004-07-20
・bayes/sphere_search.mを修正。
・job/job_plot_sph_result.mを追加。

2004-07-13
・TSG吉岡さんにコードを提供。

2004-07-12
・plot_parm構造体のカラーマップをcmapに統一。plotfunc/plotparmdlg.m、
select_area.mおよびset_plot_parm.mを修正。
・test/job_brain_test.mのバグを修正。left_brainがright_brainとなっていた。
・test/job_meg_test.mの冒頭にdefine構造体を設定するコードを追加。

2004-06-28
・球モデル中心座標系変換(中心位置のシフト)のコードに間違いがない
(ver2.1と同じ)であることを確認。

2004-06-24
・ToolBrain/find_local_peak.mの入力引数を構造体とする。
(テストはまだ)
・plot_brain[_inflate/_flat].mのカラーマップを絶対値スケールに対応。
・ToolBrain/dipole_estimate_cov.mを追加。dipole_estimate.mを修正。

2004-06-21
・plotfunc/plot_sphere.mを追加。

2004-06-17
・bayes_parm.lf_norm=2に対応するように、vb_estimate1.mを修正。
・bayes/get_current_time.mを安全なコードに修正。
・間違ってbayesに存在したselect_timewindow.mを消去。
・plotfunc/select_area.mに領域データを消去する機能を追加。

2004-06-16
・container/rm_fmri.mのバグを修正。

2004-06-15
・make_lead_field.mで、Sarvasの式を用いてL=2とすると、LFの成分を
二重に計算するバグを修正。

2004-06-14
・bayes/sphere_search.mを修正。
・bayes/calculate_covariance.mをbayes2からコピー。
・bayes/prepare_meg_data.mをbayes2からコピー。
・bayes/set_learning_parameter.mをbayes2からコピー。
・bayes/calc_GoF.mをbayes2からコピー。

2004-06-13
・ToolBrain/smooth_filter_norm.mを、Rradius==0の場合に対応するように修正。
・job/job_meg_sim.mを追加。

2004-06-12
・jobディレクトリにjob_meg_nomri.mを追加。
・ToolBrainディレクトリにmake_sphere_point.mを追加。
・球モデルL=2に対応するようにmake_lead_field.mを修正。
・jobディレクトリにjob_lf_sphere.mを追加。
・ToolBrainディレクトリにmake_triangle.mを追加。
・bayes/sphere_search.mを修正。
・jobディレクトリにjob_vb_sphere.mを追加。

2004-06-11
・vb_estimate1.mとvb_estimate2.mを、LP(期待対数尤度)を保存するように修正。

2004-06-06
・テスト用プログラムに必要なインターフェースを提供するために、
ディレクトリ'test'を作成。その中に、以下の関数を保存。
job_meg_test.m
job_brain_test.m
job_fmri_test.m
job_leadfield_test.m
job_vb_estimate1_test.m

2004-06-01
・select_area.mで'Whole brain'を用いないようにする。

2004-05-31
・inverse_filter.mのコメント行を修正。
・bayes/get_current_space.mおよびbayes/get_current_time.mを作成。
・select_area.mおよびselect_timewindow.mを、get_current_space.mおよび
get_current_time.mを用いて書き換える。

2004-05-29
・関数inverse_filter.mをbayesディレクトリに追加。推定結果ファイルに
含まれる情報に基づいて逆フィルタを計算する。

2004-05-27
・select_area.mを修正。推定電流を時系列として常に保持するようにし、
select_timewindow.mを実行する際に引数として与える。
・上記変更に伴い、select_timewindow.mを修正。
・修正前のselect_area.mおよびselect_timewindow.mはbackupディレクトリに保存。
・select_timewindow.mを、入力引数のTwinが2列の場合(vb_estimate2.mを
用いた場合など)にも対処できるように修正。ただし場当たり的な修正なので、
プログラムをちゃんと作り直した方が良い。
・vb_estimate2.mとreduce_filter.mで、ウェイトバーが確実に
クローズされるように修正(drawnow)。
・reconstruct_current.mを、Bayes-Wiener推定結果を正しく返すように修正。
・vb_estimate2.mで、全セッションに対する磁場ではなくその加算平均を
返すように修正。

2004-05-26
・Ver4.0a-4リリース
・reconstruct_current.mで、wを引数として与えた場合でもresultfileの
Model.wを使うバグを修正。

2004-05-25
・reconstruct_current.mおよびestimate_current.mを変更。Jの成分に対応する
リードフィールド行列を返す(動作確認済)。
・index_trans.mを作成。インデックス変換テーブルを作成する。

2004-05-20
・vb_estimate1/2.mにbayes_parm.reduceパラメータを実装。
・job_brain.mの実行時に、以下の領域データとfMRIデータを自動的に登録する。
	Cortex : 全皮質頂点を含む領域データ
	Uniform: 全頂点で活動強度が1の(仮想的な)fMRIデータ
	(動作未確認)
・上記変更に伴い、select_area.mで領域'Whole'を用いないようにする。
	(動作未確認)
・job_fmri.mで、領域ファイルとfMRIファイルを入力パラメータとして扱う。

2004-05-19
・bayes2ディレクトリをパスに加えるようにset_prog_dir.mを変更。
・reconstruct_currentの入力変数を元に戻す。wはestimate_currentの
内部でreconstruct_currentを呼び出すときに使用される。
・reconstruct_current.mの実装を変更。推定時のダイポール成分数が
1(L=1)の場合、推定電流の絶対値ではなく実数値をそのまま返すようにする。
・estimate_current.mの引数を変更。
・Ver4.0a-3リリース

2004-05-18
・get_fmriを変更。fMRIのIDを、fMRI.spm_keyではなくfMRI.keyに返す。

2004-05-17
・reconstruct_current.mの入力変数をresultfileとvecのみに変更。

2004-05-12
・job_vb_estimate2.m、およびbayes/vb_estimate2.mを作成。
bayes/vbmeg_sparce_all.mを使用して、生データから逆フィルタおよび
加算平均データに対する電流分布(実際には、隠れ変数の分布)を計算する。

2004-05-01
・Ver4.0a-2リリース

2004-04-30
・job_meg.mおよびmake_meg_data.mを変更。.meg.matファイルの出力先を
指定できるようにする。
・bayes/estimate_current.mを作成。これはbayes/jestimate.mを使用して、
計算済みのフィルタ情報を用いて与えられた観測磁場に対する電流を
推定する。

2004-04-27
・make_lead_field2.mを作成。センサ空間をメッシュ状に区切り、
各格子点上で磁場を計算する。
・make_lead_field3.mを作成。make_lead_field2.mで作成した
磁場に基づいて、リードフィールド行列を計算する。

2004-04-25
・inflate_to_flat_func.mがToolBrainディレクトリにあることを確認。
・job_fmri.mの結果表示部のバグを修正(ただし、動作は未確認)。
・job/job_plot_meg_slice.mを作成。

2004-04-16
・plot_mri_image.mを作成。

2004-04-15
・dipole_estimate.mのバグを修正。



＜Ver3.0b-2との違い＞

2004-03-09
個々のfMRIデータにSPMマッピング用パラメータを保存する。

2004-03-09
Cortexファイルを廃止。Areaファイルでダイポール頂点情報を与える。
分布電流フィルタはBayes推定時に計算し、推定結果に保存される。

2004-03-09
MEGファイル名とBasisファイル名をセル形式から通常の文字変数に変更。
この変更に際して、以下の関数を修正。

2004-03-09
Container関数の変更に伴い、以下の関数を修正。
vb_make_fmri_data.m

2004-03-09
以下の関数を追加。
ToolBrain/vb_extract_peak.m
plotfunc/plot_peak_timecourse.m

????-??-??
手動で実行するスクリプト(関数として実装されるものを含む)は、jobディレクトリ
ではなくscriptディレクトリに置く。

????-??-??
VB推定終了後、指定したアドレスにメールを送信できるようにする(unix)。

????-??-??
VB推定時にウェイトバーを表示。

2004-03-03
select_area.mを最新版に更新。container関数とplot_brain関数への引数を
最新版のものに対応させる。

2004-03-02
Container関数を最新版に更新。ファイル名を構造体を介さずに直接渡す。

2004-03-02
データ構造を変更。
・全脳モデルファイル(.brain.mat)から、dicom_dir(file)とMRI_IDを削除
(これらの変数を含むデータはそのまま利用できる)。
(2004-12-27:「MRI_IDを削除」の記述は誤り。現時点での.brain.matファイルにはMRI_IDが含まれる)
・VB推定結果ファイルに、推定時に使用した分布電流フィルタと、推定された
線形逆フィルタ、および頂点情報(部分脳モデルに対応)を含める。
・分布電流フィルタを推定時に計算。これに伴い、部分脳モデルを削除し、
領域情報と統合。VB推定時には、.area.matファイルに含まれる頂点情報が
使用される。

2004-02-19
plot_result.mのスナップショット表示で、デフォルトで時刻が表示
されるように変更。

2004-02-18
select_area.mで、通常脳モデルとインフレートモデルの座標点を
同時に表示した際に発生するバグを修正。

2004-02-18
select_area.mが古いバージョンだったので、最新バージョンに置き換えた。
また、表示に関して若干の修正を行った(ライティング)。

2004-02-18
make_fmri_data.mを修正。fMRI情報作成用パラメータを表示するようにする。

2004-02-16
make_fmri_data.mを変更。任意のボクセルサイズに対応
(単にチェックを外しただけ)。

2004-02-12
三角面を扱う関数の入出力引数の順序を、F,V,xxと決める。
これに伴い、以下のプログラムを変更。
・read_curry_surface.m

2004-02-03
solid_angle2.mを、線積分が計算不能になる場合に対処できるように修正。

2004-02-03
BEM計算のため、境界モデルに法線情報XXheadを含める。
三角面の向きを決定するのに用いられる。この変更に応じて、
以下のプログラムを修正。
・solid_angle.m
・solid_angle2.m
・bem_mag_linear.m
・bem_mag_linear2.m
・make_lead_field.m

2004-02-02
BEM計算のための以下のファイルを追加。
・job/job_dicom2curry.m
・job/vb_job_curry2matlab.m
・job/job_bem.m

2004-02-02
bemディレクトリ中のプログラムが最新版であることを確認。
make_lead_field.mが最新版であることを確認。

2004-01-20 
吉岡(利)さんのプログラムと統合。
・bayesディレクトリ、整合性確認
・plotfuncディレクトリ、整合性確認
・callbackディレクトリ削除
・megディレクトリ、整合性確認、およびgen_megdata.mを追加
・bemディレクトリを追加

2003-12-26
境界要素法のプログラムを含むディレクトリbemを追加。

2003-12-26
make_lead_field.mを修正、境界要素法に対応。

2003-12-16
以下のプロット関数を修正。parm関数をグローバル変数として渡すのを止めて、
引数として与える。
・plot_fmri.m
・plot_bv_image.m
・plot_fmri_slice.m
・plot_meg.m
・plot_meg_slice.m
・plot_check_model.m

2003-10-27
・plot_resultメニューにcloseボタンを追加。
・plot_fmriのMEGデータ(センサ位置)ロード部分のバグを修正
・ディレクトリwienerを追加。Wiener推定用プログラムを含む。
それに伴い、set_prog_dir.mでwienerディレクトリをパスに加えるように
変更。

2003-10-28
・Wiener推定プログラムを追加。
・キャリブレーション探索結果表示プログラムplot_wiener_calib.mを追加。
・KAJIWARAオプションを1にすると、梶原さんの近傍探索ルーチンを使用するように
変更(vb_find_neighbor_all.m)。

2003-10-30
・ムービー作成関数gen_movie.mを追加。

2003-11-03
・gen_movie.mをシミュレーション用MEGデータに対応させた。

2003-11-13
・plot_result.mに、領域重ね書きを指定するチェックボックスを追加。

2003-11-13
・VB推定で、GoFを全時刻に渡って保存するように変更。
・gen_megdata.mを平滑化フィルタに対応させる。

2003-11-17
・reconstruction_current.mおよびvb_estimate.mをBayes-Wiener推定に対応させる。
(VBパラメータ探索モードは未実装)

2003-11-18
・select_area.mで、脳モデル上に推定電流分布を表示できるようにする。
・select_area.mの入力引数を変更。また、コールバック関数を一つの関数にまとめる。

2003-11-19
・callbackディレクトリをパスに加えない(vb_set_prog_dir.m)。

2003-11-23
・頂点インデックスから脳モデルを作成するmake_cortex.mを
ToolBrainディレクトリに追加。



＜吉岡(利)さんの変更点(1)＞

From: T.Yoshioka <yosioka@atr.jp>
To: Taku Yoshioka <taku-y@atr.jp>
Subject: Re: プログラム変更点について
Date: Thu, 22 Jul 2004 20:22:27 +0900
Organization: ATR
X-Mailer: Sylpheed version 0.7.3 (GTK+ 1.2.10; i386-redhat-linux)

> お願いなのですが、ファイルを変更、あるいは追加された場合に、
> そのことに関するメモのようなものを書いて頂けませんでしょうか。
> 
> よろしくお願い致します。

了解しました。
とりあえず、今回はjob_*.mのパラメータの設定部分を削除した
(前回のミーティングで報告済)以外には、job_fmriの中で
vb_plot_fmri(plot_parm);をcallする直前にfigureを追加しました。

あと昼にメールで送って頂いた、result-vb11.bayes.matで表示する
ことができました。
# でも...これからselect_area.mの中身を読まないといけないと思うと
# げんなりしてきました。

-- 
--------------------------
ATR 脳情報研究所 認知神経科学研究室
吉岡 利福(よしおか としのり)
E-mail : yosioka@atr.jp 
2004年1月1日からメールアドレスが変更になりました!!

