Qt with ITK, VTk library



  • Hey Qt community,

    I am trying to develop a GUI with Qt and i need to use the funcyionality of some other lobraries like ITK, VTK and Plastimatch. I know how to build these libraries and how to use them individually. However I am confused how I can import these libraries to Qt and use them in my GUI. I could not find any helpful tutorial online. Most of them are for long time ago and for very old versions of everyrthing! I was wondering to know how I can approach this problem. Sorry if my question sounds stupid. I am new to Qt. If you have a step by step tutorial that would be graet and much appreciated.

    Thanks,
    Amir



  • I am not using ITK or Plastimatch.

    But with VTK you just build it with Qt support using CMake using the same toolchain you used for building QT ,
    Then include headers and link to the VTK libraries you need.
    VTK provides Qt based widgets.
    I am pretty sure there are topics covering this on VTK website.



  • Hi and thanks for your response,

    Actually I am more interested to use ITK sine its an Image processing Tool kit and I need that functionality for my application. ITK is a huge library and very popular for image processing. It is really strange to me that there is almost no step-by-step tutorial on how to use this library on Qt. I've searched a lot and could not find any recent and good tutorial. Hence, I am posting here to see if someone has the same issue.

    Thanks,
    Amir



  • This is wrong place look for step-by step tutorial for 3rd party libraries. Qt is general toolkit.
    It can't cover every 3rd party library which can use it.
    AFAIK ITK has its own mailing list subscribe and I am pretty sure you will get more help there.



  • Hi Alex and thanks for your response,

    Maybe you are right and this is not the right place to ask this question, but I believe my question is related to the general topic of Qt on how to include a library. The thing is although I am including all the libraries, but I am getting a Linker error in Qt Creator and can't solve that. Here is my ".pro" contents:

    #-------------------------------------------------

    Project created by QtCreator 2015-05-14T15:50:25

    #-------------------------------------------------

    QT += core gui

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

    TARGET = testITK
    TEMPLATE = app

    SOURCES += main.cpp
    mainwindow.cpp

    HEADERS += mainwindow.h

    FORMS += mainwindow.ui

    DEFINES += “vtkRenderingCore_AUTOINIT=4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL)”
    DEFINES += “vtkRenderingVolume_AUTOINIT=1(vtkRenderingVolumeOpenGL)”
    DEFINES += _CRT_SECURE_NO_WARNINGS

    win32: LIBS += “advapi32.lib” “ws2_32.lib” “Rpcrt4.lib”

    win32: LIBS += -LC:/vtk/x64/6.0.0/install/lib
    -lvtkChartsCore-6.0
    -lvtkCommonColor-6.0
    -lvtkCommonComputationalGeometry-6.0
    -lvtkCommonCore-6.0
    -lvtkCommonDataModel-6.0
    -lvtkCommonExecutionModel-6.0
    -lvtkCommonMath-6.0
    -lvtkCommonMisc-6.0
    -lvtkCommonSystem-6.0
    -lvtkCommonTransforms-6.0
    -lvtkDICOMParser-6.0
    -lvtkDomainsChemistry-6.0
    -lvtkFiltersAMR-6.0
    -lvtkFiltersCore-6.0
    -lvtkFiltersExtraction-6.0
    -lvtkFiltersFlowPaths-6.0
    -lvtkFiltersGeneral-6.0
    -lvtkFiltersGeneric-6.0
    -lvtkFiltersGeometry-6.0
    -lvtkFiltersHybrid-6.0
    -lvtkFiltersHyperTree-6.0
    -lvtkFiltersImaging-6.0
    -lvtkFiltersModeling-6.0
    -lvtkFiltersParallel-6.0
    -lvtkFiltersParallelImaging-6.0
    -lvtkFiltersProgrammable-6.0
    -lvtkFiltersSelection-6.0
    -lvtkFiltersSources-6.0
    -lvtkFiltersStatistics-6.0
    -lvtkFiltersTexture-6.0
    -lvtkFiltersVerdict-6.0
    -lvtkGUISupportQt-6.0
    -lvtkGUISupportQtOpenGL-6.0
    -lvtkGeovisCore-6.0
    -lvtkIOAMR-6.0
    -lvtkIOCore-6.0
    -lvtkIOEnSight-6.0
    -lvtkIOExodus-6.0
    -lvtkIOExport-6.0
    -lvtkIOGeometry-6.0
    -lvtkIOImage-6.0
    -lvtkIOImport-6.0
    -lvtkIOInfovis-6.0
    -lvtkIOLSDyna-6.0
    -lvtkIOLegacy-6.0
    -lvtkIOMINC-6.0
    -lvtkIOMovie-6.0
    -lvtkIONetCDF-6.0
    -lvtkIOPLY-6.0
    -lvtkIOParallel-6.0
    -lvtkIOSQL-6.0
    -lvtkIOVideo-6.0
    -lvtkIOXML-6.0
    -lvtkIOXMLParser-6.0
    -lvtkImagingColor-6.0
    -lvtkImagingCore-6.0
    -lvtkImagingFourier-6.0
    -lvtkImagingGeneral-6.0
    -lvtkImagingHybrid-6.0
    -lvtkImagingMath-6.0
    -lvtkImagingMorphological-6.0
    -lvtkImagingSources-6.0
    -lvtkImagingStatistics-6.0
    -lvtkImagingStencil-6.0
    -lvtkInfovisCore-6.0
    -lvtkInfovisLayout-6.0
    -lvtkInteractionImage-6.0
    -lvtkInteractionStyle-6.0
    -lvtkInteractionWidgets-6.0
    -lvtkNetCDF-6.0
    -lvtkNetCDF_cxx-6.0
    -lvtkParallelCore-6.0
    -lvtkRenderingAnnotation-6.0
    -lvtkRenderingContext2D-6.0
    -lvtkRenderingCore-6.0
    -lvtkRenderingFreeType-6.0
    -lvtkRenderingFreeTypeOpenGL-6.0
    -lvtkRenderingGL2PS-6.0
    -lvtkRenderingHybridOpenGL-6.0
    -lvtkRenderingImage-6.0
    -lvtkRenderingLOD-6.0
    -lvtkRenderingLabel-6.0
    -lvtkRenderingOpenGL-6.0
    -lvtkRenderingVolume-6.0
    -lvtkRenderingVolumeAMR-6.0
    -lvtkRenderingVolumeOpenGL-6.0
    -lvtkViewsContext2D-6.0
    -lvtkViewsCore-6.0
    -lvtkViewsGeovis-6.0
    -lvtkViewsInfovis-6.0
    -lvtkalglib-6.0
    -lvtkexoIIc-6.0
    -lvtkexpat-6.0
    -lvtkfreetype-6.0
    -lvtkftgl-6.0
    -lvtkgl2ps-6.0
    -lvtkhdf5-6.0
    -lvtkhdf5_hl-6.0
    -lvtkjpeg-6.0
    -lvtkjsoncpp-6.0
    -lvtklibxml2-6.0
    -lvtkmetaio-6.0
    -lvtkoggtheora-6.0
    -lvtkpng-6.0
    -lvtkproj4-6.0
    -lvtksqlite-6.0
    -lvtksys-6.0
    -lvtktiff-6.0
    -lvtkverdict-6.0
    -lvtkzlib-6.0

    INCLUDEPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0
    DEPENDPATH += C:/vtk/x64/6.0.0/install/include/vtk-6.0

    win32: LIBS += -LC:/ITK/x64/4.4.0/install/lib
    -lITKBiasCorrection-4.4
    -lITKBioCell-4.4
    -lITKCommon-4.4
    -lITKDICOMParser-4.4
    -litkdouble-conversion-4.4
    -lITKEXPAT-4.4
    -lITKFEM-4.4
    -litkgdcmCommon-4.4
    -litkgdcmDICT-4.4
    -litkgdcmDSED-4.4
    -litkgdcmIOD-4.4
    -litkgdcmjpeg12-4.4
    -litkgdcmjpeg16-4.4
    -litkgdcmjpeg8-4.4
    -litkgdcmMSFF-4.4
    -lITKgiftiio-4.4
    -litkhdf5-4.4
    -litkhdf5_cpp-4.4
    -lITKIOBioRad-4.4
    -lITKIOBMP-4.4
    -lITKIOCSV-4.4
    -lITKIOGDCM-4.4
    -lITKIOGE-4.4
    -lITKIOGIPL-4.4
    -lITKIOHDF5-4.4
    -lITKIOImageBase-4.4
    -lITKIOIPL-4.4
    -lITKIOJPEG-4.4
    -lITKIOLSM-4.4
    -lITKIOMesh-4.4
    -lITKIOMeta-4.4
    -lITKIONIFTI-4.4
    -lITKIONRRD-4.4
    -lITKIOPNG-4.4
    -lITKIOSiemens-4.4
    -lITKIOSpatialObjects-4.4
    -lITKIOStimulate-4.4
    -lITKIOTIFF-4.4
    -lITKIOTransformBase-4.4
    -lITKIOTransformHDF5-4.4
    -lITKIOTransformInsightLegacy-4.4
    -lITKIOTransformMatlab-4.4
    -lITKIOVTK-4.4
    -lITKIOXML-4.4
    -litkjpeg-4.4
    -lITKKLMRegionGrowing-4.4
    -lITKLabelMap-4.4
    -lITKMesh-4.4
    -lITKMetaIO-4.4
    -litkNetlibSlatec-4.4
    -lITKniftiio-4.4
    -lITKNrrdIO-4.4
    -litkopenjpeg-4.4
    -lITKOptimizers-4.4
    -lITKOptimizersv4-4.4
    -lITKPath-4.4
    -litkpng-4.4
    -lITKPolynomials-4.4
    -lITKQuadEdgeMesh-4.4
    -lITKReview-4.4
    -lITKSpatialObjects-4.4
    -lITKStatistics-4.4
    -litksys-4.4
    -litktiff-4.4
    -litkv3p_lsqr-4.4
    -litkv3p_netlib-4.4
    -litkvcl-4.4
    -lITKVideoCore-4.4
    -lITKVideoIO-4.4
    -litkvnl-4.4
    -lITKVNLInstantiation-4.4
    -litkvnl_algo-4.4
    -lITKVTK-4.4
    -lITKVtkGlue-4.4
    -lITKWatersheds-4.4
    -litkzlib-4.4
    -lITKznz-4.4

    INCLUDEPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4
    DEPENDPATH += C:/ITK/x64/4.4.0/install/include/ITK-4.4

    It keeps giving me the linking error on finding the ITKSys4.4.lib but it is there and I can see it!! Do you have any suggestion on how I can debug this?

    Thanks in advance,
    Amir



  • It helps when you post error text.
    As far as I can see ITKSys4.4 is not listed in the list of dependencies.
    There is itksys-4.4. Assuming from win 32 that this is on Windows and above just misspelling
    Which compiler are you using?
    Some linkers require you to specify dependencies in the correct order (VC does not) .


Log in to reply
 

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