[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:33:23 EDT 2015


Yes all pixels are set to zero and hnd files come frome RTK page:
http://wiki.openrtk.org/index.php/RTK/Examples/VarianReconstruction but i
used 86 projections insted of 686 projections
and
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();
)
[image: Inline image 1]



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

> So your projections are empty (default window/level is computed from the
> min/max so if it's set to 0/0, all pixels equal 0) and it's not a surprise
> that your reconstruction too. I don't know exactly where do your hnd files
> come from but this is currently detected and treated as a Varian file
> format in RTK, see the graph here
> <http://www.openrtk.org/Doxygen/dot_inline_dotgraph_16.png>.
> Simon
>
> On Thu, Jun 25, 2015 at 9:15 AM, safdary mohsen <ieee.safdary at gmail.com>
> wrote:
>
>> 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/4a561250/attachment-0010.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 182913 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/rtk-users/attachments/20150625/4a561250/attachment-0020.png>
-------------- 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/4a561250/attachment-0021.png>


More information about the Rtk-users mailing list