1 #include <visp3/ustk_core/usConfig.h>
3 #ifdef USTK_HAVE_VTK_QT
5 #include <visp3/ustk_core/usImageIo.h>
6 #include <visp3/ustk_gui/usVTKConverter.h>
7 #include <vtkImageImport.h>
8 #include <vtkMetaImageWriter.h>
12 std::string mhd_filename;
15 if (!env_ipath.empty())
16 mhd_filename = env_ipath +
"/post-scan/3D_mhd/volume.mhd";
18 std::cout <<
"You should set USTK_DATASET_PATH environment var to access to ustk dataset" << std::endl;
27 vtkSmartPointer<vtkImageData> vtkImage = vtkSmartPointer<vtkImageData>::New();
28 vtkImageImport *importer = vtkImageImport::New();
29 importer->SetDataScalarTypeToUnsignedChar();
30 importer->SetImportVoidPointer((
void *)postScanImage.
getConstData());
31 importer->SetWholeExtent(0, postScanImage.
getWidth() - 1, 0, postScanImage.
getHeight() - 1, 0,
33 importer->SetDataExtentToWholeExtent();
34 importer->SetNumberOfScalarComponents(1);
41 if (vtkImage->GetScalarPointer(0, 0, 0) != postScanImage.
getConstData())
45 if (vtkImage->GetScalarPointer(10, 10, 10) != postScanImage.
getData(10, 10, 10))
49 int middleX = postScanImage.
getWidth() / 2;
50 int middleY = postScanImage.
getHeight() / 2;
52 if (vtkImage->GetScalarPointer(middleX, middleY, middleZ) != postScanImage.
getData(middleY, middleX, middleZ))
60 int main() { std::cout <<
"Install vtk with qt4 or qt5 support to run this test." << std::endl; }
unsigned int getNumberOfFrames() const
Type * getConstData() const
unsigned int getHeight() const
unsigned int getWidth() const
static void read(usImageRF2D< short int > &imageRf2D, const std::string &headerFileName)
static void convert(const usImagePostScan3D< unsigned char > &postScanImage, vtkSmartPointer< vtkImageData > &vtkPostScanImage, vtkSmartPointer< vtkImageImport > importer=NULL)
VISP_EXPORT std::string getDataSetPath()