[Rtk-users] error on build rtk in visual studio 2012 when rtk use cuda

safdary mohsen ieee.safdary at gmail.com
Thu Jun 25 03:15:00 EDT 2015


Hi
my screenshot is:
[image: Inline image 1]

On Thu, Jun 25, 2015 at 11:27 AM, Simon Rit <simon.rit at creatis.insa-lyon.fr>
wrote:

> Hi,
> So you checked that projections are read but did you check what's read
> with a viewer, e.g. vv <http://vv.creatis.insa-lyon.fr>? Can you also
> tell us what's the offset and the spacing in the reader.mha file?
> Simon
>
> On Thu, Jun 25, 2015 at 7:27 AM, safdary mohsen <ieee.safdary at gmail.com>
> wrote:
>
>> Hi
>>
>>  what is genuine rtkfdk.exe ?
>>
>> source code is attached to mail and command line is:
>> rtkfdk --geometry geometry.xml --regexp .*.hnd --path Scan0  --output
>> slice30.mha  --verbose  --spacing 0.25,0.25,0.25 --dimension 1024,1,1024
>> --origin -127.875,30,-127.875  --hardware cuda
>>
>>
>>
>>
>>
>>
>> On Wed, Jun 24, 2015 at 5:51 PM, Yang-Kyun Park <theday79 at gmail.com>
>> wrote:
>>
>>> Hi Safdary,
>>>
>>> So you might have tried the genuine rtkfdk.exe for your recon. Would you
>>> give me your command line you used?
>>>
>>> Yang
>>> On Jun 24, 2015 3:48 AM, "safdary mohsen" <ieee.safdary at gmail.com>
>>> wrote:
>>>
>>>> Hi
>>>>
>>>> I cheched projectionreader and i abtained that all projection are
>>>> readed.
>>>> ( by using:
>>>>
>>>> typedef itk::ImageFileWriter<OutputImageType> WriterType;
>>>>
>>>> WriterType::Pointer writer = WriterType::New();
>>>>
>>>> writer->SetFileName( "reader.mha" );
>>>>
>>>> writer->SetInput( reader->GetOutput() );
>>>>
>>>> writer->Update();
>>>> )
>>>>
>>>> and
>>>>
>>>> geometry is work for cpu mode means outputs are ok .
>>>>
>>>>
>>>> I am confused for solving this problem!!!!!!!!!!!!!!!!!
>>>>
>>>> On Tue, Jun 16, 2015 at 11:09 AM, Cyril Mory <
>>>> cyril.mory at creatis.insa-lyon.fr> wrote:
>>>>
>>>>>  Hi Safdary,
>>>>>
>>>>> Just to be sure: have you tried reconstructing in a larger volume
>>>>> (something really huge), just to make sure you are not trying to
>>>>> reconstruct some portion of space where, indeed, there is nothing ?
>>>>> You can try that easily, just replace your spacing, dimension and
>>>>> origin with
>>>>> --spacing 16,16,16 --dimension 256,256,256 --origin -2040,-2040,-2040
>>>>> in your rtkfdk command line.
>>>>>
>>>>> Cyril
>>>>>
>>>>>
>>>>> On 06/15/2015 05:19 PM, safdary mohsen wrote:
>>>>>
>>>>>  Hi Yang
>>>>>
>>>>>
>>>>>  I am use rtkfdk.exe but the results are same as  my code,
>>>>>
>>>>> means all pixels are zero!!!
>>>>>
>>>>>
>>>>>  regards
>>>>>
>>>>>
>>>>>
>>>>> safdari
>>>>>
>>>>> On Mon, Jun 15, 2015 at 7:10 PM, Yang K Park <theday79 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>>  Hi Safdary,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Again, please cc rtk-users at openrtk.org when you send your email,
>>>>>> since other users (much better experts than me!) can give us any
>>>>>> suggestions.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Yang
>>>>>>
>>>>>>
>>>>>>
>>>>>> *From:* Yang K Park [mailto:theday79 at gmail.com]
>>>>>> *Sent:* Monday, June 15, 2015 10:37 AM
>>>>>> *To:* 'safdary mohsen'
>>>>>> *Cc:* rtk-users at openrtk.org
>>>>>> *Subject:* RE: [Rtk-users] error on build rtk in visual studio 2012
>>>>>> when rtk use cuda
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hi Safdary,
>>>>>>
>>>>>>
>>>>>>
>>>>>> I recommend you to try rtkfdk.exe first (with cuda option) to see if
>>>>>> it works for you.
>>>>>>
>>>>>>
>>>>>>
>>>>>> The example of the command line would be:
>>>>>>
>>>>>>
>>>>>>
>>>>>> rtkfdk --geometry geom.xml --path proj_dir --regexp .*.his --output
>>>>>> test_output.mha --verbos  --spacing 1,1,1 --dimension 512,10,512 --origin
>>>>>> -127.875,29.5,-127.875 --hardware cuda
>>>>>>
>>>>>>
>>>>>>
>>>>>> If it works for your image, then you can mimic the original rtkfdk
>>>>>> code to make your own one.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Good luck!
>>>>>>
>>>>>>
>>>>>>
>>>>>> Yang
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> *From:* safdary mohsen [mailto:ieee.safdary at gmail.com
>>>>>> <ieee.safdary at gmail.com>]
>>>>>> *Sent:* Saturday, June 13, 2015 11:58 PM
>>>>>> *To:* Yang K Park
>>>>>> *Subject:* Re: [Rtk-users] error on build rtk in visual studio 2012
>>>>>> when rtk use cuda
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hi Yang
>>>>>>
>>>>>>
>>>>>>
>>>>>> I have tried to adjust the window/level to see something inside of
>>>>>> the image but all pixels set to zero.
>>>>>>
>>>>>> *My code is:*
>>>>>>
>>>>>> #define USE_CUDA
>>>>>>
>>>>>> int main(int , char **)
>>>>>>
>>>>>> {
>>>>>>
>>>>>> //// variable
>>>>>>
>>>>>> const unsigned int Dimension = 3;
>>>>>>
>>>>>> typedef float OutputPixelType;
>>>>>>
>>>>>> #ifdef USE_CUDA
>>>>>>
>>>>>> typedef itk::CudaImage< OutputPixelType, Dimension > OutputImageType;
>>>>>>
>>>>>> #else
>>>>>>
>>>>>> typedef itk::Image< OutputPixelType, Dimension > OutputImageType;
>>>>>>
>>>>>> #endif
>>>>>>
>>>>>>
>>>>>> ////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>
>>>>>> // Generate file names of projections
>>>>>>
>>>>>> itk::RegularExpressionSeriesFileNames::Pointer names = itk::
>>>>>> RegularExpressionSeriesFileNames::New();
>>>>>>
>>>>>> names->SetDirectory(std::string("d://RTK/build/bin/Release/Scan1/"));
>>>>>>
>>>>>> names->SetRegularExpression(std::string("Proj_.*.hnd"));
>>>>>>
>>>>>>
>>>>>> ////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>
>>>>>> //// geometry
>>>>>>
>>>>>> // Defines the RTK geometry object
>>>>>>
>>>>>> typedef rtk::ThreeDCircularProjectionGeometry GeometryType;
>>>>>>
>>>>>> GeometryType::Pointer geometry = GeometryType::New();
>>>>>>
>>>>>> // Projection matrices
>>>>>>
>>>>>> unsigned int numberOfProjections = 86;
>>>>>>
>>>>>> unsigned int firstAngle = 0;
>>>>>>
>>>>>> unsigned int angularArc = 360;
>>>>>>
>>>>>> unsigned int sid = 1000;
>>>>>>
>>>>>> unsigned int sdd = 1200;
>>>>>>
>>>>>> int isox = 0;
>>>>>>
>>>>>> int isoy = 0 ;
>>>>>>
>>>>>> for(unsigned int noProj=0; noProj<numberOfProjections; noProj++)
>>>>>>
>>>>>> {
>>>>>>
>>>>>> double angle = (float)firstAngle + (float)noProj * angularArc / (
>>>>>> float)numberOfProjections;
>>>>>>
>>>>>> geometry->AddProjection(sid,
>>>>>>
>>>>>> sdd,
>>>>>>
>>>>>> angle,
>>>>>>
>>>>>> isox,
>>>>>>
>>>>>> isoy);
>>>>>>
>>>>>> }
>>>>>>
>>>>>>
>>>>>> /////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>
>>>>>>
>>>>>> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>
>>>>>> // Projections reader
>>>>>>
>>>>>> typedef rtk::ProjectionsReader< OutputImageType > ReaderType;
>>>>>>
>>>>>> ReaderType::Pointer reader = ReaderType::New();
>>>>>>
>>>>>> reader->SetFileNames(names->GetFileNames());
>>>>>>
>>>>>> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>
>>>>>>
>>>>>> // Create reconstructed image ////////////////////////////////////
>>>>>>
>>>>>> typedef rtk::ConstantImageSource< OutputImageType >
>>>>>> ConstantImageSourceType;
>>>>>>
>>>>>> ConstantImageSourceType::Pointer ImageSource =
>>>>>> ConstantImageSourceType::New();
>>>>>>
>>>>>> ConstantImageSourceType::PointType origin;
>>>>>>
>>>>>> ConstantImageSourceType::SizeType sizeOutput;
>>>>>>
>>>>>> ConstantImageSourceType::SpacingType spacing;
>>>>>>
>>>>>> origin[0] = -127.75;
>>>>>>
>>>>>> origin[1] = -127.75;
>>>>>>
>>>>>> origin[2] = -127.75;
>>>>>>
>>>>>>
>>>>>>
>>>>>> sizeOutput[0] = 512;
>>>>>>
>>>>>> sizeOutput[1] = 512;
>>>>>>
>>>>>> sizeOutput[2] = 512;
>>>>>>
>>>>>> spacing[0] = .5;
>>>>>>
>>>>>> spacing[1] = .5;
>>>>>>
>>>>>> spacing[2] = .5;
>>>>>>
>>>>>> ImageSource->SetOrigin( origin );
>>>>>>
>>>>>> ImageSource->SetSpacing( spacing );
>>>>>>
>>>>>> ImageSource->SetSize( sizeOutput );
>>>>>>
>>>>>> ImageSource->SetConstant( 0. );
>>>>>>
>>>>>> // getchar(); //////////////////////////////////////
>>>>>>
>>>>>> /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>
>>>>>>
>>>>>> std::cout << "Performing reconstruction" << std::endl;
>>>>>>
>>>>>> // FDK reconstruction filtering
>>>>>>
>>>>>> // FDK reconstruction filtering
>>>>>>
>>>>>> #ifdef USE_CUDA
>>>>>>
>>>>>> typedef rtk::CudaFDKConeBeamReconstructionFilter FDKType;
>>>>>>
>>>>>> #elif USE_OPENCL
>>>>>>
>>>>>> typedef rtk::OpenCLFDKConeBeamReconstructionFilter FDKType;
>>>>>>
>>>>>> #else
>>>>>>
>>>>>> typedef rtk::FDKConeBeamReconstructionFilter< OutputImageType >
>>>>>> FDKType;
>>>>>>
>>>>>> #endif
>>>>>>
>>>>>> FDKType::Pointer feldkamp = FDKType::New();
>>>>>>
>>>>>> feldkamp->SetInput( 0, ImageSource->GetOutput() );
>>>>>>
>>>>>> feldkamp->SetInput( 1, reader->GetOutput());
>>>>>>
>>>>>> feldkamp->SetGeometry( geometry);
>>>>>>
>>>>>> TRY_AND_EXIT_ON_ITK_EXCEPTION( feldkamp->Update() );
>>>>>>
>>>>>> std::cout << "Writing output image" << std::endl;
>>>>>>
>>>>>> // Writer
>>>>>>
>>>>>> typedef itk::Image< float, 3 > ImageType;
>>>>>>
>>>>>> typedef itk::ImageFileWriter<ImageType> WriterType;
>>>>>>
>>>>>> WriterType::Pointer writer = WriterType::New();
>>>>>>
>>>>>> writer->SetFileName( "output11.mha" );
>>>>>>
>>>>>> writer->SetInput( feldkamp->GetOutput() );
>>>>>>
>>>>>> writer->Update();
>>>>>>
>>>>>>
>>>>>>
>>>>>> getchar();
>>>>>>
>>>>>> return 0;
>>>>>>
>>>>>> }
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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/20150625/e400c573/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 112590 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20150625/e400c573/attachment-0002.png>


More information about the Rtk-users mailing list