[Rtk-users] Parker weighting

Chao Wu wuchao04 at gmail.com
Fri Mar 11 06:29:33 EST 2016


Hoi,

I saw the factor 0.5 has been removed. Is there any concern about the
second part of the question? Why to discard the first and last projections?
Thanks.

Regards,
Chao

2016-03-02 12:59 GMT+01:00 Chao Wu <wuchao04 at gmail.com>:

> Hi Simon,
>
> I also got a question about how the weighting is performed.
>
> Before the question, first of all there may be an error
> in rtk::ThreeDCircularProjectionGeometry::GetAngularGapsWithNext(...). I
> cannot see the reason for the factor 0.5 in the following code:
>   //Last projection wraps the angle of the first one
>   angularGaps[curr->second] = 0.5 * ( sangles.begin()->first +
> 2*vnl_math::pi - curr->first );
> If this is indeed wrong, then the max gap can be underestimated in
> the ParkerShortScanImageFilter, which you use for the 20 degree condition.
>
> Then here's the question: why does RTK eliminate the first and last
> projections before calculating the weights? The Parker weights are already
> all zeros for the first and the last projections involved in the
> calculation. If you rule out the first and the last projection in the data
> set in advance, you then have four projections with zeros and the effective
> scan angle is smaller then the actual short scan, which may lead to an
> insufficient data problem.
>
> Best regards,
> Chao
>
>
>
> 2015-12-18 18:18 GMT+01:00 Simon Rit <simon.rit at creatis.insa-lyon.fr>:
>
>> Hi Shiras,
>> Sorry for the delayed answer, times are busy. The way RTK computes the
>> spanned arc is from the second projection angle to the before last
>> projection angle, i.e., in your case
>> 209.609216488925-11.6067737022482
>> so it's a span of 199 degrees and your cone angle is indeed too large.
>> Like I said, this part of RTK is perfectible and there is no way to change
>> this but change the code.
>> However, the source of artefacts might be something else. On simulated
>> data, I tried:
>>   rtkprojectshepploganphantom --like original_proj.mhd -g
>> geometry_parker_corr.xml -o proj.mha
>>   rtkfdk -p . -r proj.mha -o fdk.mha -g geometry_parker_corr.xml
>> and the result is not that bad. What do you think? Can you show us a
>> snapshot if sg's wrong in your opinion?
>> Simon
>>
>>
>> On 09/12/2015 11:01, Shiras Abdurahman wrote:
>>
>> Dear Simon,
>>
>> I am attaching the mhd files of projections.
>>
>> With regards,
>> Shiras
>>
>> On Tue, Dec 8, 2015 at 6:17 PM, Simon Rit <simon.rit at creatis.insa-lyon.fr
>> > wrote:
>>
>>> Hi,
>>> The geometry files look ok to me. What is the projection information? If
>>> you're still getting the same message as before, I think it's because you
>>> don't have enough data. If you send the mhd file of the projections (just
>>> the mhd, not the raw data), I can try to test it on simulated data to let
>>> you know my feeling.
>>> Simon
>>>
>>> On Tue, Dec 8, 2015 at 5:41 PM, Shiras Abdurahman < <shiraska at gmail.com>
>>> shiraska at gmail.com> wrote:
>>>
>>>> Dear Simon,
>>>>
>>>> I tried this option and unfortunately it did not work. I added zero
>>>> projections and modified geometry files. However, I am getting same
>>>> artifacts in the volume. Voxel values changed a little bit that indicates
>>>> during backprojection it still considers extreme projections. I am also
>>>> getting an output message same as before.
>>>>
>>>> I am attaching geometry files.
>>>>
>>>> With regards,
>>>> Shiras
>>>>
>>>> On Tue, Dec 8, 2015 at 10:15 AM, Simon Rit <
>>>> <simon.rit at creatis.insa-lyon.fr>simon.rit at creatis.insa-lyon.fr> wrote:
>>>>
>>>>> So calling AddProjection before and after the loop with an adequate
>>>>> gantry_angle should work.
>>>>> Simon
>>>>>
>>>>> On Tue, Dec 8, 2015 at 9:52 AM, Shiras Abdurahman <
>>>>> <shiraska at gmail.com>shiraska at gmail.com> wrote:
>>>>>
>>>>>> Drear Simon,
>>>>>>
>>>>>> I generate the geometry with system geometry parameters and using
>>>>>> AddProjection method.
>>>>>>
>>>>>> Here is the code
>>>>>>
>>>>>>
>>>>>> rtk::ThreeDCircularProjectionGeometry::Pointer rtk_sys_geometry_;
>>>>>> rtk_sys_geometry_ = rtk::ThreeDCircularProjectionGeometry::New();
>>>>>> for (uint16_t proj_index = 0; proj_index < num_projections_;
>>>>>> proj_index++)
>>>>>> {
>>>>>>
>>>>>> rtk_sys_geometry_->AddProjection(rtk_geom_params_.at(proj_index).sid_mm,
>>>>>> rtk_geom_params_.at(proj_index).sdd_mm,
>>>>>> rtk_geom_params_.at(proj_index).gantry_angle_deg,
>>>>>> rtk_geom_params_.at(proj_index).proj_offset_x_mm,
>>>>>> rtk_geom_params_.at(proj_index).proj_offset_y_mm,
>>>>>> rtk_geom_params_.at(proj_index).out_plane_angle_deg,
>>>>>> rtk_geom_params_.at(proj_index).in_plane_angle_deg,
>>>>>> rtk_geom_params_.at(proj_index).src_offset_x_mm,
>>>>>> rtk_geom_params_.at(proj_index).src_offset_y_mm);
>>>>>> }
>>>>>>
>>>>>>  And then write to xml file.
>>>>>>
>>>>>> Shiras
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Dec 8, 2015 at 9:23 AM, Simon Rit <
>>>>>> <simon.rit at creatis.insa-lyon.fr>simon.rit at creatis.insa-lyon.fr>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>> rtkfdk.cxx just read the geometry from a file so the best is to
>>>>>>> modify the geometry file. How do you generate the geometry?
>>>>>>> For example, if you use rtksimulated geometry, let's say that you
>>>>>>> were using:
>>>>>>> rtksimulatedgeometry -n 200 -a 200 -o g.xml
>>>>>>> then you'll have to replace it with
>>>>>>> rtksimulatedgeometry -n 202 -a 202 -o g.xml -f -1
>>>>>>> Don't forget to add dummy projection at the beginning and the end.
>>>>>>> If you use a more complex geometry, maybe SimpleRTK
>>>>>>> <http://wiki.openrtk.org/index.php?title=SimpleRTK> can be helpful
>>>>>>> (I'd use that) or you'd have to modify the cxx code to add these additional
>>>>>>> projections in the geometry and the projection stack.
>>>>>>> Simon
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Dec 8, 2015 at 8:51 AM, Shiras Abdurahman <
>>>>>>> <shiraska at gmail.com>shiraska at gmail.com> wrote:
>>>>>>>
>>>>>>>> Dear Simon,
>>>>>>>>
>>>>>>>> Thanks a lot for the reply. Can you please inform me how can I set
>>>>>>>> where the arc starts?
>>>>>>>> Do I need to modify geometry also?
>>>>>>>> If you can point the line of code rtkfdk.cxx, it will be really
>>>>>>>> helpful.
>>>>>>>>
>>>>>>>> With regards,
>>>>>>>> Shiras
>>>>>>>>
>>>>>>>> On Tue, Dec 8, 2015 at 7:56 AM, Simon Rit <
>>>>>>>> <simon.rit at creatis.insa-lyon.fr>simon.rit at creatis.insa-lyon.fr>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Dear Shiras,
>>>>>>>>> Yes, for practical reasons the first and the last projections are
>>>>>>>>> set to 0 and the arc used in the Parker weighting starts between the first
>>>>>>>>> two projections and ends between the lasts two projections. There is a
>>>>>>>>> simple solution: add a projection at the beginning and the end of the arc,
>>>>>>>>> which can contain any pixel values but should be set where you want this
>>>>>>>>> arc to start. In the future, I think someone should once take the time to
>>>>>>>>> correct this but I haven't so far. I'll keep you posted on the mailing list
>>>>>>>>> when it's corrected.
>>>>>>>>> Simon
>>>>>>>>>
>>>>>>>>> On 07/12/2015 12:04, Shiras Abdurahman wrote:
>>>>>>>>>
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>> I am trying to reconstruct a volume from projection data generated
>>>>>>>>> with C-arm CT. There are 248 projections with an angular range of 199
>>>>>>>>> degree. Technically, parker weighting should run without any problems.
>>>>>>>>> However, I am getting an output message that "You do not have enough data
>>>>>>>>> for proper parker weighting". After parker weighting, the two extreme
>>>>>>>>> projections (projection number 1 and 248) were completely zero and thus
>>>>>>>>> reconstructed volume contained artifacts. When I increased the angular
>>>>>>>>> range, this problem did not happen. How can I solve this problem without
>>>>>>>>> increasing angular range? Is there any threshold constant that I can change
>>>>>>>>> in command line  or in my code?
>>>>>>>>>
>>>>>>>>> I really appreciate any help you can provide.
>>>>>>>>>
>>>>>>>>> With regards,
>>>>>>>>> Shiras
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Rtk-users mailing listRtk-users at public.kitware.comhttp://public.kitware.com/mailman/listinfo/rtk-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> _______________________________________________
>> 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/20160311/8523aa54/attachment-0010.html>


More information about the Rtk-users mailing list