PlastimatchのFDKのフィルター

PlastimatchのFDKコマンドで再構成フィルタとしてrampフィルターが指定できる. ただし, rampフィルターのみ. そのため, どこでフィルタされているか,また別なフィルタを使いたい場合にどこを修正すればいいかコードを確認した.

まず, plastimatchはCUDAが使えるので, CUDA用コードとCUDAなし用コードがある. CUDA用コードは関数名の頭にCUDA_  が付くいて後は同じ名前になっている.

Githubなどからソースは取得済みである前提で.

FDKのソース: plastimatch/reconstruct/fdk.cxx

この中の reconstruct_conebeam(…) でFDK再構成をしている.  また更にこの中で,

proj_image_filter(…) を呼びここで投影像にフィルターを掛けている.

proj_image_filter()は proj_image_filter.cxxで記述されている.

 

Proj_imaeg_filterのソース: plastimatch/util/proj_image_filter.cxx

proj_image_filter()は単にramp_filter()へデータを渡すだけのラッパー.

将来的にここでフィルターの切り替えを考えているのかも.

 

ramp_filterのソース: plastimatch/util/ramp_filter.cxx

ここでramp_filterを実装している. とりあえず, このコードをいじってComplieすれば /ramp指定で書いたフィルタになる.