[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