[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