[vtk-developers] No image displayed

ibr ibr_ex at yahoo.com
Thu Dec 17 16:34:53 EST 2015


Hi VTK community, 

I have this code which compiled and run without problems but no image appear
in the window. Any suggestion? 

Thanks and nice evening! 
Ibraheem 

#include "mainwindow.h" 
#include "ui_mainwindow.h" 
#include <vtkSmartPointer.h>
#include <vtkObjectFactory.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkActor.h>
#include <vtkImageViewer2.h>
#include <vtkDICOMImageReader.h>
#include <vtkInteractorStyleImage.h>
#include <vtkActor2D.h>
#include <vtkTextProperty.h>
#include <vtkTextMapper.h>
#include <QFileDialog>

#include "vtkNrrdReader.h" 


MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
    readerDCMSeries = vtkSmartPointer<vtkDICOMImageReader>::New(); 
    readerNRRD = vtkSmartPointer<vtkNrrdReader>::New(); 
    //imageViewerDCMSeriesX = vtkSmartPointer<vtkImageViewer2>::New(); 
    imageVieweSerieX = vtkSmartPointer<vtkImageViewer2>::New(); 
} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 
void MainWindow::openDCMFolder() 
{ 
    QString folderNameDCM = QFileDialog::getExistingDirectory(this,tr("Open
DCM Folder"),QDir::currentPath(),QFileDialog::ShowDirsOnly); 
    std::string stdstrFolderNameDCM = folderNameDCM.toUtf8().constData(); 
    drawDCMSeries(stdstrFolderNameDCM); 
} 


void MainWindow::openNRRDFile() 
{ 
    //    QString folderNameNRRD =
QFileDialog::getExistingDirectory(this,tr("Open
Programm"),QDir::currentPath()),tr("Image Files (*.nrrd *.nrrd)"); 
    //QString folderNameNRRD = QFileDialog::getOpenFileName(this,tr("Open
Programm"),QDir::currentPath(),tr("Image Files (*.nrrd *.nrrd)")); 
    QString folderNameNRRD = QFileDialog::getOpenFileName(this,tr("Open
Programm"),QDir::currentPath()); 
    std::string stdstrFolderNameNRRD = folderNameNRRD.toUtf8().constData(); 
    drawNRRD(stdstrFolderNameNRRD); 
} 

void MainWindow::drawDCMSeries(std::string folderDCM) 
{ 
    readerDCMSeries->SetDirectoryName(folderDCM.c_str()); 
    readerDCMSeries->Update(); 
    imageVieweSerieX->SetInputConnection(readerDCMSeries->GetOutputPort()); 
    mMinSliderX = imageVieweSerieX->GetSliceMin(); 
    mMaxSliderX = imageVieweSerieX->GetSliceMax(); 
    ui->hSliderDCM->setMinimum(mMinSliderX); 
    ui->hSliderDCM->setMaximum(mMaxSliderX); 
    imageVieweSerieX->SetRenderWindow(ui->vtkRenderer->GetRenderWindow()); 
} 
void MainWindow::drawNRRD(std::string folderNRRD) 
{ 
    readerNRRD->SetFileName(folderNRRD.c_str()); 
    imageVieweSerieX->SetInputConnection(readerNRRD->GetOutputPort()); 
    mMinSliderX = imageVieweSerieX->GetSliceMin(); 
    mMaxSliderX = imageVieweSerieX->GetSliceMax(); 
    ui->hSliderDCM->setMinimum(mMinSliderX); 
    ui->hSliderDCM->setMaximum(mMaxSliderX); 
    imageVieweSerieX->SetRenderWindow(ui->vtkRenderer->GetRenderWindow()); 
} 

void MainWindow::on_btnOpenDCMFolder_clicked() 
{ 
    openDCMFolder(); 
} 

void MainWindow::on_btnOpenNRRDFile_clicked() 
{ 
    openNRRDFile(); 
} 

void MainWindow::on_hSliderDCM_sliderMoved(int position) 
{ 
    imageVieweSerieX->SetSlice(position); 
    imageVieweSerieX->Render(); 
}



--
View this message in context: http://vtk.1045678.n5.nabble.com/No-image-displayed-tp5735577.html
Sent from the VTK - Dev mailing list archive at Nabble.com.


More information about the vtk-developers mailing list