Hello,
I'm trying to open a Renderwindow and display a Dicom image using QFileDialog, which doesn't work.
Theres also another Part where I try displaying a dicom image in a QGraphcsview/QLabel.
Heres my Code for clarification:
void MainWindow::on_openButton_pressed()
{
QString imagePath = QFileDialog::getOpenFileName(
this, tr("Open File"),
"",
tr("DICOM(*.dcm);;JPEG(*.jpg)")
);
{
QString imagePath = QFileDialog::getOpenFileName(
this, tr("Open File"),
"",
tr("DICOM(*.dcm);;JPEG(*.jpg)")
);
imageObject = new QImage();
imageObject->load(imagePath)
image = QPixmap::fromImage(*imageObject);
imageObject->load(imagePath)
image = QPixmap::fromImage(*imageObject);
//..using GraphicsView
// This only works with JPG not Dicom! (mit Slider/unverzerrt)
scene = new QGraphicsScene(this);
scene->addPixmap(image);
scene->setSceneRect(image.rect());
ui->ViewCoronal->setScene(scene);
// This only works with JPG not Dicom! (mit Slider/unverzerrt)
scene = new QGraphicsScene(this);
scene->addPixmap(image);
scene->setSceneRect(image.rect());
ui->ViewCoronal->setScene(scene);
//..using QLabel
// This only works with JPG not Dicom! (verzerrt)
if (image.load(imagePath))
{
QPainter painter(&image);
painter.setPen(Qt::red);
QRectF rect(100, 100, 100, 100);
painter.drawRect(rect);
QSize bigsize = ui->label->size();
ui->label->setPixmap(image.scaled(bigsize, Qt::IgnoreAspectRatio, Qt::FastTransformation));
ui->label->show();
// This only works with JPG not Dicom! (verzerrt)
if (image.load(imagePath))
{
QPainter painter(&image);
painter.setPen(Qt::red);
QRectF rect(100, 100, 100, 100);
painter.drawRect(rect);
QSize bigsize = ui->label->size();
ui->label->setPixmap(image.scaled(bigsize, Qt::IgnoreAspectRatio, Qt::FastTransformation));
ui->label->show();
//MITK approach
// Register Qmitk-dependent global instances
QmitkRegisterClasses();
// Register Qmitk-dependent global instances
QmitkRegisterClasses();
//Create a DataStorage
mitk::StandaloneDataStorage::Pointer ds = mitk::StandaloneDataStorage::New();
mitk::StandaloneDataStorage::Pointer ds = mitk::StandaloneDataStorage::New();
//Load datanode (eg. many image formats, surface formats, etc.)
std::string current_locale_text = imagePath.toLocal8Bit().constData();
mitk::IOUtil::Load(current_locale_text, *ds);
std::string current_locale_text = imagePath.toLocal8Bit().constData();
mitk::IOUtil::Load(current_locale_text, *ds);
// Tell the RenderWindow which (part of) the datastorage to render
QmitkRenderWindow renderWindow;
renderWindow.GetRenderer()->SetDataStorage(ds);
QmitkRenderWindow renderWindow;
renderWindow.GetRenderer()->SetDataStorage(ds);
// Initialize the RenderWindow
mitk::TimeGeometry::Pointer geo = ds->ComputeBoundingGeometry3D(ds->GetAll());
mitk::RenderingManager::GetInstance()->InitializeViews(geo);
//mitk::RenderingManager::GetInstance()->InitializeViews();
mitk::TimeGeometry::Pointer geo = ds->ComputeBoundingGeometry3D(ds->GetAll());
mitk::RenderingManager::GetInstance()->InitializeViews(geo);
//mitk::RenderingManager::GetInstance()->InitializeViews();
// Select a slice
mitk::SliceNavigationController::Pointer sliceNaviController = renderWindow.GetSliceNavigationController();
if (sliceNaviController)
sliceNaviController->GetSlice()->SetPos(0);
mitk::SliceNavigationController::Pointer sliceNaviController = renderWindow.GetSliceNavigationController();
if (sliceNaviController)
sliceNaviController->GetSlice()->SetPos(0);
renderWindow.show();
renderWindow.resize(256, 256);
renderWindow.resize(256, 256);
}
Is there a way to initialize the Renderwindow that it works (I think it doesn't work because its not in main())?
Regarding the QGraphicsview/QLabel: I've seen here that its possible: http://stackoverflow.com/questions/18488050/interactively-editing-an-existing-rectangle-on-a-qpixmap?lq=1
Do I need a Plugin or anything else to make this work?
Thank you!
Best Regards
Sina
------------------------------------------------------------------------------ Presto, an open source distributed SQL query engine for big data, initially developed by Facebook, enables you to easily query your data on Hadoop in a more interactive manner. Teradata is also now providing full enterprise support for Presto. Download a free open source copy now. http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140
_______________________________________________ mitk-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mitk-users
