[Rtk-users] Python Wrapping
Johnson Keiriz
jkeiriz at theobjects.com
Fri Mar 18 15:20:35 EDT 2016
Hello,
I have tried to create a .json file for the
*RegularizedConjugateGradientConeBeamReconstructionFilter *and got the
below errors while compiling.
The json file contains:
{
"name" : "RegularizedConjugateGradientConeBeamReconstructionFilter",
"template_code_filename" : "RTKImageFilter",
"template_test_filename" : "ImageFilter",
"number_of_inputs" : 2,
"doc" : "",
"output_image_type" : "TImageType",
"pixel_types" : "RealPixelIDTypeList",
"filter_type" :
"rtk::RegularizedConjugateGradientConeBeamReconstructionFilter<InputImageType>",
"include_files" : [
"srtkThreeDCircularProjectionGeometry.h"
],
"members" : [],
"briefdescription" : "Implements regularized conjugate Gradient
cone-beam reconstruction.",
"detaileddescription" : ""
}
Error 1 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaBackProjectionImageFilter::Pointer'
(or there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkIterativeConeBeamReconstructionFilter.hxx 77 1
SimpleRTK
Error 2 error C2679: binary '=' : no operator found which takes a
right-hand operand of type
'rtk::CudaRayCastBackProjectionImageFilter::Pointer' (or there is no
acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkIterativeConeBeamReconstructionFilter.hxx 87 1
SimpleRTK
Error 3 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaConstantVolumeSource::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkReconstructionConjugateGradientOperator.hxx 39 1
SimpleRTK
Error 4 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaConstantVolumeSource::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkReconstructionConjugateGradientOperator.hxx 40 1
SimpleRTK
Error 5 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaLaplacianImageFilter::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkReconstructionConjugateGradientOperator.hxx 41 1
SimpleRTK
Error 6 error C2679: binary '=' : no operator found which takes a
right-hand operand of type
'rtk::CudaDisplacedDetectorImageFilter::Pointer' (or there is no
acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkConjugateGradientConeBeamReconstructionFilter.hxx 42
1 SimpleRTK
Error 7 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaConstantVolumeSource::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkConjugateGradientConeBeamReconstructionFilter.hxx 43
1 SimpleRTK
Error 8 error C2679: binary '=' : no operator found which takes a
right-hand operand of type
'rtk::CudaConjugateGradientImageFilter_3f::Pointer' (or there is no
acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkConjugateGradientConeBeamReconstructionFilter.hxx 129
1 SimpleRTK
Error 9 error C2678: binary '*' : no operator found which takes a
left-hand operand of type 'float' (or there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkMagnitudeThresholdImageFilter.hxx 59 1 SimpleRTK
Error 10 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaBackProjectionImageFilter::Pointer'
(or there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkIterativeConeBeamReconstructionFilter.hxx 77 1
SimpleRTK
Error 11 error C2679: binary '=' : no operator found which takes a
right-hand operand of type
'rtk::CudaRayCastBackProjectionImageFilter::Pointer' (or there is no
acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkIterativeConeBeamReconstructionFilter.hxx 87 1
SimpleRTK
Error 12 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaConstantVolumeSource::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkReconstructionConjugateGradientOperator.hxx 39 1
SimpleRTK
Error 13 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaConstantVolumeSource::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkReconstructionConjugateGradientOperator.hxx 40 1
SimpleRTK
Error 14 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaLaplacianImageFilter::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkReconstructionConjugateGradientOperator.hxx 41 1
SimpleRTK
Error 15 error C2679: binary '=' : no operator found which takes a
right-hand operand of type
'rtk::CudaDisplacedDetectorImageFilter::Pointer' (or there is no
acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkConjugateGradientConeBeamReconstructionFilter.hxx 42
1 SimpleRTK
Error 16 error C2679: binary '=' : no operator found which takes a
right-hand operand of type 'rtk::CudaConstantVolumeSource::Pointer' (or
there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkConjugateGradientConeBeamReconstructionFilter.hxx 43
1 SimpleRTK
Error 17 error C2679: binary '=' : no operator found which takes a
right-hand operand of type
'rtk::CudaConjugateGradientImageFilter_3f::Pointer' (or there is no
acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkConjugateGradientConeBeamReconstructionFilter.hxx 129
1 SimpleRTK
Error 18 error C2678: binary '*' : no operator found which takes a
left-hand operand of type 'float' (or there is no acceptable conversion)
[C:\RTK\BUILD\SimpleRTK-build\Code\BasicFilters\src\SimpleRTKBasicFilters2.vcxproj]
c:\rtk\code\rtkMagnitudeThresholdImageFilter.hxx 59 1 SimpleRTK
Thanks,
Johnson
On 3/18/2016 2:16 PM, Johnson Keiriz wrote:
> Hello,
> I am trying to do the wrapping for the
> RegularizedConjugateGradientConeBeamReconstructionFilter, do I need to
> wrap all the filters that it uses ?
> Is there any guiding document for the wrapping method?
>
> Regards,
> Johnson
>
> On 3/18/2016 9:31 AM, Cyril Mory wrote:
>> Hi again,
>>
>> You got the SART filter right. As for the conjugate gradient, the
>> filter is actually ConjugateGradientConeBeamReconstructionFilter (for
>> the 3D non-regularized reconstruction) and
>> RegularizedConjugateGradientConeBeamReconstructionFilter (its
>> regularized counterpart).
>>
>> The filter you found,
>> FourDConjugateGradientConeBeamReconstructionFilter, is used for 4D
>> reconstruction (you need a cardiac or respiratory phase signal). Its
>> regularized counterpart is FourDROOSTERConeBeamReconstructionFilter.
>>
>> In addition to those, RTK also has
>> ADMMTotalVariationConeBeamReconstructionFilter and
>> ADMMWaveletsConeBeamReconstructionFilter, which implement the
>> Alternating Direction Method of Multiplier algorithm.
>>
>> You can find a description of these algorithms in
>> https://hal.inria.fr/tel-00985728/document
>>
>> Note that the SART filter has a m_NumberOfProjectionsPerSubset
>> member. Setting it to 1 (default) gives you SART, setting it to n
>> with 1 < n < TotalNumberOfProjections gives you OS-SART, and setting
>> it to n=TotalNumberOfProjections gives you SIRT.
>>
>> That's pretty much all there is in RTK at the moment.
>> Cyril
>>
>> On 03/18/2016 02:11 PM, Johnson Keiriz wrote:
>>> Hello,
>>> Can you please confirm that the following classes are the ones used
>>> for the iterative reconstruction:
>>> 1 - SART: SARTConeBeamReconstructionFilter
>>> 2- Conjugate gradient:
>>> FourDConjugateGradientConeBeamReconstructionFilter
>>>
>>> Is there a 3D conjugate gradient?
>>> Are these the only classes for iterative reconstruction?
>>>
>>> Thanks,
>>> Johnson
>>>
>>> On 3/18/2016 4:12 AM, Cyril Mory wrote:
>>>> Hi Johnson,
>>>>
>>>> Regarding the iterative methods:
>>>> - In SART, you can use the CUDA forward and back projectors, but
>>>> the rest of the calculation is performed on CPU. We do not use SART
>>>> a lot, so we have not fully optimized it.
>>>> - Conjugate gradient, on the other hand, is entirely performed on
>>>> the GPU. Note that a regularized conjugate gradient reconstruction
>>>> filter is also available (with total variation denoising, wavelets
>>>> denoising, and positivity enforcement)
>>>>
>>>> I hope you will find what you need,
>>>> Regards,
>>>> Cyril
>>>>
>>>> On 03/17/2016 08:54 PM, Johnson Keiriz wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I did rebuild and now things are working. I tested reconstruction
>>>>> with and without the filtering and there were differences. Though,
>>>>> I am not sure that filtering have provided a better reconstruction.
>>>>>
>>>>> I want to experiment the iterative methods. Can you please confirm
>>>>> for me which iterative method are fully implemented in CUDA: is it
>>>>> the conjugate gradient or SART ?
>>>>>
>>>>> I have noticed that they are not wrapped at all, any guide on how
>>>>> to introduce new filters?
>>>>>
>>>>> Once I have tested my wrapping, I will submit a github pull-request.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Johnson
>>>>>
>>>>> *From:*simon.rit at gmail.com [mailto:simon.rit at gmail.com] *On Behalf
>>>>> Of *Simon Rit
>>>>> *Sent:* Thursday, March 17, 2016 1:54 PM
>>>>> *To:* Johnson Keiriz
>>>>> *Cc:* rtk-users at public.kitware.com
>>>>> *Subject:* Re: [Rtk-users] Python Wrapping
>>>>>
>>>>> Hi,
>>>>>
>>>>> Good! Indeed, many things are not wrapped. There is a trick
>>>>> regarding modifications of the wrappings. You need to either start
>>>>> from scratch the compilation or delete the file
>>>>> SimpleRTK-prefix/src/SimpleRTK-stamp/SimpleRTK-configure. This
>>>>> will trigger a reconfiguration of the SimpleRTK and, hopefully,
>>>>> account for your modifications.
>>>>>
>>>>> Don't hesitate to submit a github pull-request when you have
>>>>> something working.
>>>>>
>>>>> Simon
>>>>>
>>>>> On Thu, Mar 17, 2016 at 4:33 PM, Johnson Keiriz
>>>>> <jkeiriz at theobjects.com <mailto:jkeiriz at theobjects.com>> wrote:
>>>>>
>>>>> Hello again,
>>>>>
>>>>> I found out about the json wrapping files. I added the wrapping
>>>>> for all the filters, but I haven’t noticed any effect from setting
>>>>> the filters !!!
>>>>>
>>>>> Any hints ?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Johnson
>>>>>
>>>>> *From:*Rtk-users [mailto:rtk-users-bounces at public.kitware.com] *On
>>>>> Behalf Of *Johnson Keiriz
>>>>> *Sent:* Thursday, March 17, 2016 9:23 AM
>>>>> *To:* rtk-users at public.kitware.com
>>>>> <mailto:rtk-users at public.kitware.com>; Simon Rit
>>>>> *Subject:* [Rtk-users] Python Wrapping
>>>>>
>>>>> Hello,
>>>>>
>>>>> I am using the Python wrapped version of RTK. I have a question
>>>>> regarding the wrapping:
>>>>>
>>>>> It seems that not all functionality is available, for example: for
>>>>> the *CudaFDKConeBeamReconstructionFilter, *I was not able to set
>>>>> the cut frequency of the any of the filters
>>>>>
>>>>> (RamLaK, Cosine, ShepLogan) except for the Hann . Are the methods
>>>>> not wrapped ?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Johnson
>>>>>
>>>>> *Description: cid:image002.jpg at 01CB5984.4EABACE0*
>>>>>
>>>>>
>>>>>
>>>>> *Johnson Keiriz, PhD
>>>>> Senior Software Engineer*
>>>>>
>>>>> 760 St-Paul W, #101
>>>>> Montreal, QC
>>>>> Canada H3C 1M4
>>>>> tel: (514) 843-3861 <tel:%28514%29%20843-3861>
>>>>> ext 217
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Rtk-users mailing list
>>>>> Rtk-users at public.kitware.com
>>>>> http://public.kitware.com/mailman/listinfo/rtk-users
>>>>
>>>
>>> --
>>>
>>> *Johnson Keiriz, PhD
>>> Senior Software Engineer*
>>>
>>> 760 St-Paul W, #101
>>> Montreal, QC
>>> Canada H3C 1M4
>>> tel: (514) 843-3861
>>> ext 217
>>>
>>
>
> --
>
> *Johnson Keiriz, PhD
> Senior Software Engineer*
>
> 760 St-Paul W, #101
> Montreal, QC
> Canada H3C 1M4
> tel: (514) 843-3861
> ext 217
>
>
>
> _______________________________________________
> Rtk-users mailing list
> Rtk-users at public.kitware.com
> http://public.kitware.com/mailman/listinfo/rtk-users
--
*Johnson Keiriz, PhD
Senior Software Engineer*
760 St-Paul W, #101
Montreal, QC
Canada H3C 1M4
tel: (514) 843-3861
ext 217
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20160318/2e9e1881/attachment-0010.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 3930 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20160318/2e9e1881/attachment-0010.jpe>
More information about the Rtk-users
mailing list