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

Yang K Park theday79 at gmail.com
Thu Jun 25 11:55:17 EDT 2015


Hi Safdary,

 

I’m a bit confused because the attached source code is not original rtkfdk source code.

 

So, my point about genuine rtkfdk means,

1.       Update your rtk source

2.       Don’t change any source code and just compile them.

3.       Use the example dataset for Varian from RTK website.

4.       In the command prompt, run the command line (“rtkfdk …”)

 

I guess you already did the above things, and then you could see something with CPU option but nothing in your cuda-based reconstruction. 

 

If that is the case, I’m suspecting your CUDA/Graphic driver and cuda implementation such as CUDA-compute_10 error you might have faced during RTK compiling.

To be honest, I have no idea how to deal with such issues.(Sorry about that)

 

Yang

 

 

 

 

 

 

 

From: safdary mohsen [mailto:ieee.safdary at gmail.com] 
Sent: Thursday, June 25, 2015 1:28 AM
To: Yang-Kyun Park
Cc: rtk-users at openrtk.org; Cyril Mory
Subject: Re: [Rtk-users] error on build rtk in visual studio 2012 when rtk use cuda

 

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 <mailto: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 <mailto: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 <mailto: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 <mailto:theday79 at gmail.com> > wrote:

Hi Safdary, 

 

Again, please cc rtk-users at openrtk.org <mailto: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 <mailto:theday79 at gmail.com> ] 
Sent: Monday, June 15, 2015 10:37 AM
To: 'safdary mohsen'
Cc: rtk-users at openrtk.org <mailto: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] 
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 list
Rtk-users at public.kitware.com <mailto: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/db95e698/attachment-0010.html>


More information about the Rtk-users mailing list