C++ & VTK : fail to find origins of DICOM image after write, load it -


i'm in trouble dicom images. want find origins of images after write , load it, can't. nevertheless, can find spacing , number of voxels, same way origins...

i try give pieces of code. first of all, wrote dicom image using vtkdicomreader (maybe old version of vtkdicomimagereader?) on vtkimagedata. took care set vtkimagedata information :

vtksmartpoint<vtkimagedata> spectdada = vtksmartpoint<vtkimagedata>::new(); spectdata->setorigin( 50, 50, 50 );   spectdata->setdimension( 128, 128, 128); spectdata->setspacing( 4.667, 4.667, 4.667); spectdata->allocatescalars(vtk_unsigned_short,3); spectdata->getpointdata()->setscalars(scalars);  //scalar contains voxel index , values  vtksmartpoint<vtkdicommetadata> meta = vtksmartpoint<vtkdicommetadata>::new(); vtksmartpoint<vtkdicommrgenerator> generator = vtksmartpoint<vtkdicommrgenerator>::new(); vtksmartpoint<vtkdicommrgenerator> writer = vtksmartpoint<vtkdicomwriter>::new(); writer->setinputdata(spectdata); writer->setgenerator(generator); writer->setmetadata(meta); writer->setmemoryrowordertofilenative(); writer->write(); 

then, load images using vtkdicomreader (not vtkdicomimagereader -> old version?):

vtksmartpoint<vtkstringarray> files = vtksmartpoint<vtkstringarray>::new(); files->insertnextvalue(completepath);  //the folder path containing dicom images  vtksmartpoint<vtkdicomsorter> sorter = vtksmartpoint<vtkdicomsorter>::new(); sorter->setinputfilenames(files); sorter->update(); vtkstringarray *a = sorter->getoutputfilenames();  vtksmartpointer<vtkdicomreader> readervtk = vtksmartpointer<vtkdicomreader>::new(); readervtk->setfilenames(a); readervtk->update(); readervtk->setmemoryrowordertotopdown();  int *extent =     reader->getdataextent();   //working double *spacing = reader->getdataspacing();  //working double *origin =  reader->getdataorigin();   //not working 

if people understand what's going on finding origins, apreciate.

florian


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -