Opening a DCM file with VTK



  • Hello, I'm pretty new with qt and vtk. However I managed to have vtk and qt together. Now I'm need to open a dcm file with a slider so that user can use the toolbar to slide between slices.

    I don't know where to start what to do as of. Any kind of help would be appreciated!

    Thank you


  • Qt Champions 2017

    hi and welcome
    since you are using VTK,
    you should should maybe be looking into some samples loading dcm and display.
    Later you can find out how to use a slider.
    Even you made it run inside/with Qt then its still normal VTK calls so you should find some sample
    of how to use VTk.



  • first yu have to build a vtk in your machine



  • you have to download dicom folders with images
    and then copy this code there ,

    #include <vtkSmartPointer.h>
    #include <vtkImageViewer2.h>
    #include <vtkDICOMImageReader.h>
    #include <vtkRenderWindow.h>
    #include <vtkRenderWindowInteractor.h>
    #include <vtkRenderer.h>

    int main(int argc, char* argv[])
    {
    std::string inputFilename ="path of dicomm images/xr_hands.dcm";

    // Read all the DICOM files in the specified directory.
    vtkSmartPointer<vtkDICOMImageReader> reader =
    vtkSmartPointer<vtkDICOMImageReader>::New();
    reader->SetFileName(inputFilename.c_str());
    reader->Update();

    // Visualize
    vtkSmartPointer<vtkImageViewer2> imageViewer =
    vtkSmartPointer<vtkImageViewer2>::New();
    imageViewer->SetInputConnection(reader->GetOutputPort());
    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
    vtkSmartPointer<vtkRenderWindowInteractor>::New();
    imageViewer->SetupInteractor(renderWindowInteractor);
    imageViewer->Render();
    imageViewer->GetRenderer()->ResetCamera();
    imageViewer->Render();

    renderWindowInteractor->Start();

    return EXIT_SUCCESS;
    }

    it will definetly runs without error .. you must gave a riht path of dicom images



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.