[Rtk-users] sart back projection, weighting steps
Cyril Mory
cyril.mory at creatis.insa-lyon.fr
Tue Feb 24 04:55:00 EST 2015
Hi Robert,
I'm glad to know that most of the explanation text is understandable :)
You might want to check this filter:
http://www.openrtk.org/Doxygen/classrtk_1_1NormalizedJosephBackProjectionImageFilter.html
You can use the command line application "rtkbackprojections" with
argument --bp to compare "Joseph" and "NormalizedJoseph".
When performing a back projection with non-normalized Joseph, the
projection values are "splat" (splat is the adjoint operator of
interpolation) between the four nearest voxels in each volume plane the
ray intersects. Nothing guarantees that every voxel will receive a
contribution during this process. How many contributions a voxel
receives is determined by the sampling of the projections, which can be
much looser or much denser (locally and globally) than what would be
required. Dividing by the back projection of an image of ones mitigates
this effect. In theory, as long as the forward and back projection
operators are the adjoint of one another, it should not be a problem for
SART. In practice, it does make a difference.
I hope it helps. Please let me know if it is still unclear;
Cyril
On 02/24/2015 09:56 AM, "Robert Calließ" wrote:
> Hello,
> in the file rtkSARTConeBeamReconstructionFilter.h there is briefly
> written how the
> forward and back projection is performed. For the forward projection,
> every pixel is
> divided by the intersection length of the ray with the volume. That is
> clear to me.
> For the back projection applies the following text:
> "each voxel of the back projection must be divided by the value it
> would take if
> a projection filled with ones was being reprojected. This weighting
> step is not
> performed when using a voxel-based back projection, as the weights
> are all equal to one
> in this case. When using a ray-based backprojector, typically
> Joseph,it must be performed."
> That means a temporary projection image is created where all pixels
> have the value "1". So far I understand,
> if we use a voxel based back projector we do not need to apply this
> weighting step because the ray from source to voxel center
> somewhere hits the detector plane and usually there we interpolate the
> pixel value. But all of them are "1" so it's obsolete to
> interpolate inbetween.
> But if we use for instance the joseph back projector don't we
> calculate the four weightings at the current volume planes the
> ray intersects with ? So we already have weightings that range from 0
> to 1. I'm a little bit confused about the projection image
> filled with "1". So how a this back projection of "1" actually happens ?
> I hope someone can help me with that. Thank you.
> best regards,
> Robert
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> http://public.kitware.com/mailman/listinfo/rtk-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20150224/336c05d2/attachment-0009.html>
More information about the Rtk-users
mailing list