[Rtk-users] rtkfdk: CudaFDKWeightProjectionFilter runs twice
Chao Wu
wuchao04 at gmail.com
Mon Jun 1 12:53:44 EDT 2015
Hi all,
When testing CUDA-based FDK I found the CudaFDKWeightProjectionFilter seems
to rerun unnecessarily. Details below:
In FDKConeBeamReconstructionFilter<TInputImage, TOutputImage,
TFFTPrecision>::GenerateData() the three sub-filters run separately for
timing:
m_PreFilterProbe.Start();
m_WeightFilter->Update();
m_PreFilterProbe.Stop();
m_FilterProbe.Start();
m_RampFilter->Update();
m_FilterProbe.Stop();
m_BackProjectionProbe.Start();
m_BackProjectionFilter->Update();
m_BackProjectionProbe.Stop();
However with some debug procedure I found when executing
m_RampFilter->Update() the m_WeightFilter is updated again. Maybe there's
something wrong with filter modified time or flags of CPU/GPU buffer?
Furthermore, if I remove m_WeightFilter->Update() then both m_WeightFilter
and m_RampFilter will rerun during update of m_BackProjectionFilter. Only
if I remove both m_WeightFilter->Update() and m_RampFilter->Update() and
let m_BackProjectionFilter execute the whole minipipeline, all filters will
run nicely only once for each projection subset.
The results are identical for all cases I tested.
I did not check whether the same issue applies to the CPU or OpenCL version.
Regards,
Chao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20150601/781d00bc/attachment-0009.html>
More information about the Rtk-users
mailing list