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)")
        );
    imageObject = new QImage();
    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);
 
//..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();
 
    //MITK approach
    // Register Qmitk-dependent global instances
    QmitkRegisterClasses();
    //Create a DataStorage
    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);
 
    // Tell the RenderWindow which (part of) the datastorage to render
    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();
 
    // Select a slice
    mitk::SliceNavigationController::Pointer sliceNaviController = renderWindow.GetSliceNavigationController();
    if (sliceNaviController)
        sliceNaviController->GetSlice()->SetPos(0);
    renderWindow.show();
    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

Reply via email to