]> Creatis software - clitk.git/commitdiff
Update QVTKWidget to QVTKOpenGLNativeWidget for VTK > 8.1
authortbaudier <thomas.baudier@creatis.insa-lyon.fr>
Fri, 21 Sep 2018 07:46:59 +0000 (09:46 +0200)
committertbaudier <thomas.baudier@creatis.insa-lyon.fr>
Fri, 21 Sep 2018 07:46:59 +0000 (09:46 +0200)
18 files changed:
vv/CMakeLists.txt
vv/qt_ui/vvMainWindow.ui
vv/qt_ui/vvMainWindowVTK7.ui [new file with mode: 0644]
vv/qt_ui/vvSegmentationDialog.ui
vv/qt_ui/vvSegmentationDialogVTK7.ui [new file with mode: 0644]
vv/qt_ui/vvSurfaceViewerDialog.ui
vv/qt_ui/vvSurfaceViewerDialogVTK7.ui [new file with mode: 0644]
vv/qt_ui/vvToolHistogram.ui
vv/qt_ui/vvToolHistogramVTK7.ui [new file with mode: 0644]
vv/qt_ui/vvToolProfile.ui
vv/qt_ui/vvToolProfileVTK7.ui [new file with mode: 0644]
vv/vvMainWindow.cxx
vv/vvMainWindow.h
vv/vvSegmentationDialog.h
vv/vvSurfaceViewerDialog.h
vv/vvToolHistogram.cxx
vv/vvToolHistogram.h
vv/vvToolProfile.h

index fe6120ec7e47c80058f5de72391c75d19ed10e12..9453e1b0362114fecc112a6a3e1b9ec21b81c992 100644 (file)
@@ -26,8 +26,6 @@ set(vv_TOOLS
   vvToolConvert ## with dummy vvToolConvert.ui
   vvToolROIManager
   vvToolSegmentation
-  vvToolProfile
-  vvToolHistogram
   ## these ones are for tests (not working)
   # vvToolTest
   # vvToolFoo
@@ -39,6 +37,12 @@ set(vv_TOOLS
   # vvToolExtractLung
   # vvToolStructureSetManager
 )
+#List of vv tools to compile
+#Ensure compatibility with QVTKOpenGL for VTK < v8.1 and QVTKOpenGLNativeWidget for others
+set(vv_TOOLS_VTK7
+  vvToolProfile
+  vvToolHistogram
+)
 # dependencies of the tools
 # Future issues : when tool depend on other tools ... how to manage that ?
 #  >> add the relevant $_LIBS variable to the tool that has dependencies?
@@ -65,8 +69,6 @@ set(vv_COMMON_WITH_UI
   vvOverlayPanel
   vvLandmarksPanel
   vvProgressDialog
-  vvSegmentationDialog
-  vvSurfaceViewerDialog
   vvDeformationDialog
   vvStructSelector
   vvIntensityValueSlider
@@ -76,6 +78,13 @@ set(vv_COMMON_WITH_UI
   vvToolInputSelectorWidget
   vvRegisterForm
 )
+# in COMMON_WITH_UI -> must have .h and .cxx and VTK7.ui
+#Ensure compatibility with QVTKOpenGL for VTK < v8.1 and QVTKOpenGLNativeWidget for others
+set(vv_COMMON_WITH_UI_VTK7
+  vvMainWindow
+  vvSegmentationDialog
+  vvSurfaceViewerDialog
+)
 
 # All others sources
 set(vv_SRCS
@@ -208,7 +217,7 @@ endif(CLITK_USE_PACS_CONNECTION)
   # variables in vv.cxx for the tools contained in vvLib
   if(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/vvToolsList.h)
     file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/vvToolsList.h)
-    foreach(tool ${vv_TOOLS})
+    foreach(tool ${vv_TOOLS} ${vv_TOOLS_VTK7})
       file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/vvToolsList.h "#include \"${tool}.h\"\n")
       file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/vvToolsList.h "extern const vvToolCreator<${tool}> *dummy${tool};\n")
       file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/vvToolsList.h "const vvToolCreator<${tool}> *dummy${tool}2 = dummy${tool};\n\n")
@@ -226,6 +235,28 @@ endif(CLITK_USE_PACS_CONNECTION)
         QT4_WRAP_UI(vv_UI_CXX qt_ui/${tool}.ui)
       endif()
   endforeach(tool)
+
+  #Special case for Main Window with QVTKWidget according VTK version
+  foreach(tool ${vv_TOOLS_VTK7} ${vv_COMMON_WITH_UI_VTK7})
+      set(vv_SRCS ${vv_SRCS} ${tool}.cxx)
+      if(VTK_VERSION VERSION_GREATER "8.0.0")
+        if(vv_QT_VERSION VERSION_GREATER "4")
+          QT5_WRAP_CPP(vv_SRCS ${tool}.h)
+          QT5_WRAP_UI(vv_UI_CXX qt_ui/${tool}.ui)
+        else()
+          QT4_WRAP_CPP(vv_SRCS ${tool}.h)
+          QT4_WRAP_UI(vv_UI_CXX qt_ui/${tool}.ui)
+        endif()
+      else()
+        if(vv_QT_VERSION VERSION_GREATER "4")
+          QT5_WRAP_CPP(vv_SRCS ${tool}.h)
+          QT5_WRAP_UI(vv_UI_CXX qt_ui/${tool}VTK7.ui)
+        else()
+          QT4_WRAP_CPP(vv_SRCS ${tool}.h)
+          QT4_WRAP_UI(vv_UI_CXX qt_ui/${tool}VTK7.ui)
+        endif()
+      endif()
+  endforeach(tool)
   
   # Add the common source files
   foreach(tool ${vv_COMMON})
@@ -301,7 +332,7 @@ include_directories(
 
 #=========================================================
 #Add each tool's dependencies
-foreach(tool ${vv_TOOLS})
+foreach(tool ${vv_TOOLS} ${vv_TOOLS_VTK7})
   set(toolLibs ${toolLibs} ${${tool}_LIBS})
 endforeach(tool)
 
index fa205e0798786e904a8c2042e744e32090353ed6..09050ba7c80129842382b70491a77aaf95effa38 100644 (file)
            <number>2</number>
           </property>
           <item row="0" column="0">
-           <widget class="QVTKWidget" name="NOViewWidget" native="true">
+           <widget class="QVTKOpenGLNativeWidget" name="NOViewWidget" native="true">
             <property name="mouseTracking">
              <bool>true</bool>
             </property>
            <number>2</number>
           </property>
           <item row="0" column="0">
-           <widget class="QVTKWidget" name="SOViewWidget" native="true">
+           <widget class="QVTKOpenGLNativeWidget" name="SOViewWidget" native="true">
             <property name="mouseTracking">
              <bool>true</bool>
             </property>
            <number>2</number>
           </property>
           <item row="0" column="0">
-           <widget class="QVTKWidget" name="NEViewWidget" native="true">
+           <widget class="QVTKOpenGLNativeWidget" name="NEViewWidget" native="true">
             <property name="mouseTracking">
              <bool>true</bool>
             </property>
            <number>2</number>
           </property>
           <item row="0" column="0">
-           <widget class="QVTKWidget" name="SEViewWidget" native="true">
+           <widget class="QVTKOpenGLNativeWidget" name="SEViewWidget" native="true">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
               <horstretch>0</horstretch>
  </widget>
  <customwidgets>
   <customwidget>
-   <class>QVTKWidget</class>
+   <class>QVTKOpenGLNativeWidget</class>
    <extends>QWidget</extends>
-   <header>QVTKWidget.h</header>
+   <header>QVTKOpenGLNativeWidget.h</header>
   </customwidget>
   <customwidget>
    <class>vvInfoPanel</class>
diff --git a/vv/qt_ui/vvMainWindowVTK7.ui b/vv/qt_ui/vvMainWindowVTK7.ui
new file mode 100644 (file)
index 0000000..fa205e0
--- /dev/null
@@ -0,0 +1,1332 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>vvMainWindow</class>
+ <widget class="QMainWindow" name="vvMainWindow">
+  <property name="enabled">
+   <bool>true</bool>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1008</width>
+    <height>758</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>vv : the 4D Slicer</string>
+  </property>
+  <property name="windowIcon">
+   <iconset resource="../vvIcons.qrc">
+    <normaloff>:/common/icons/ducky.png</normaloff>:/common/icons/ducky.png</iconset>
+  </property>
+  <property name="statusTip">
+   <string>Type 'F1' on image to display help on navigation</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <property name="sizePolicy">
+    <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
+   <property name="statusTip">
+    <string>Type 'F1' on image to display help on navigation</string>
+   </property>
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <widget class="QFrame" name="frame">
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <property name="minimumSize">
+       <size>
+        <width>16</width>
+        <height>36</height>
+       </size>
+      </property>
+      <property name="frameShape">
+       <enum>QFrame::StyledPanel</enum>
+      </property>
+      <property name="frameShadow">
+       <enum>QFrame::Raised</enum>
+      </property>
+      <layout class="QGridLayout">
+       <property name="margin">
+        <number>2</number>
+       </property>
+       <property name="spacing">
+        <number>2</number>
+       </property>
+       <item row="0" column="0">
+        <widget class="QPushButton" name="goToCursorPushButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>24</width>
+           <height>24</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Go to cursor</string>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../vvIcons.qrc">
+           <normaloff>:/common/icons/cross.png</normaloff>:/common/icons/cross.png</iconset>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="1">
+        <widget class="Line" name="line">
+         <property name="frameShadow">
+          <enum>QFrame::Sunken</enum>
+         </property>
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="2">
+        <widget class="QPushButton" name="playButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>24</width>
+           <height>24</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Play Current Image</string>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../vvIcons.qrc">
+           <normaloff>:/common/icons/player_play.png</normaloff>:/common/icons/player_play.png</iconset>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="5">
+        <widget class="Line" name="line_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="7">
+        <widget class="QLabel" name="windowLabel">
+         <property name="text">
+          <string>Window :</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="8">
+        <widget class="QDoubleSpinBox" name="windowSpinBox">
+         <property name="decimals">
+          <number>6</number>
+         </property>
+         <property name="minimum">
+          <double>-66000.000000000000000</double>
+         </property>
+         <property name="maximum">
+          <double>66000.000000000000000</double>
+         </property>
+         <property name="singleStep">
+          <double>10.000000000000000</double>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="9">
+        <widget class="QPushButton" name="inverseButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>24</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Inverse colors</string>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../vvIcons.qrc">
+           <normaloff>:/common/icons/invertcolor.png</normaloff>:/common/icons/invertcolor.png</iconset>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="10">
+        <widget class="QLabel" name="levelLabel">
+         <property name="text">
+          <string> Level :</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="11">
+        <widget class="QDoubleSpinBox" name="levelSpinBox">
+         <property name="decimals">
+          <number>6</number>
+         </property>
+         <property name="minimum">
+          <double>-66000.000000000000000</double>
+         </property>
+         <property name="maximum">
+          <double>66000.000000000000000</double>
+         </property>
+         <property name="singleStep">
+          <double>10.000000000000000</double>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="12">
+        <widget class="QLabel" name="label">
+         <property name="text">
+          <string>Preset :</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="13">
+        <widget class="QComboBox" name="presetComboBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>100</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <item>
+          <property name="text">
+           <string>Auto Scale</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Hounsfield Full Scale</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Soft Tissue</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Lungs</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Bones</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Head/Brain</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>[0,1] Scale</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>User Scale</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Ventilation Image</string>
+          </property>
+         </item>
+        </widget>
+       </item>
+       <item row="0" column="14">
+        <widget class="QLabel" name="label_4">
+         <property name="text">
+          <string>Colormap :</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="15">
+        <widget class="QComboBox" name="colorMapComboBox">
+         <item>
+          <property name="text">
+           <string>B&amp;W</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Heat</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Cold</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Dosimetry</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Full Color</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Segmentation</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Ventilation</string>
+          </property>
+         </item>
+        </widget>
+       </item>
+       <item row="0" column="21">
+        <widget class="QPushButton" name="viewButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>24</width>
+           <height>24</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Expand window</string>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../vvIcons.qrc">
+           <normaloff>:/common/icons/adjustsize.png</normaloff>:/common/icons/adjustsize.png</iconset>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="4">
+        <widget class="QSpinBox" name="frameRateSpinBox">
+         <property name="minimum">
+          <number>1</number>
+         </property>
+         <property name="maximum">
+          <number>100</number>
+         </property>
+         <property name="value">
+          <number>10</number>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="3">
+        <widget class="QLabel" name="frameRateLabel">
+         <property name="text">
+          <string>Speed : </string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="16">
+        <widget class="QPushButton" name="applyWindowLevelToAllButton">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>24</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Apply windowing to all images</string>
+         </property>
+         <property name="text">
+          <string>All</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="19">
+        <widget class="QComboBox" name="slicingPresetComboBox">
+         <item>
+          <property name="text">
+           <string>World</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>Voxels</string>
+          </property>
+         </item>
+        </widget>
+       </item>
+       <item row="0" column="18">
+        <widget class="QLabel" name="label_2">
+         <property name="text">
+          <string>Slice to</string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="17">
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </item>
+    <item row="1" column="0">
+     <widget class="QSplitter" name="splitter_4">
+      <property name="orientation">
+       <enum>Qt::Horizontal</enum>
+      </property>
+      <widget class="QSplitter" name="splitter">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <widget class="QTabWidget" name="tabWidget">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+          <horstretch>0</horstretch>
+          <verstretch>1</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="currentIndex">
+         <number>0</number>
+        </property>
+        <widget class="QWidget" name="DataTab">
+         <attribute name="title">
+          <string>Images</string>
+         </attribute>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="QTreeWidget" name="DataTree">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="horizontalScrollBarPolicy">
+             <enum>Qt::ScrollBarAsNeeded</enum>
+            </property>
+            <property name="showDropIndicator" stdset="0">
+             <bool>false</bool>
+            </property>
+            <property name="textElideMode">
+             <enum>Qt::ElideLeft</enum>
+            </property>
+            <property name="itemsExpandable">
+             <bool>true</bool>
+            </property>
+            <property name="columnCount">
+             <number>7</number>
+            </property>
+            <column>
+             <property name="text">
+              <string>1</string>
+             </property>
+            </column>
+            <column>
+             <property name="text">
+              <string>2</string>
+             </property>
+            </column>
+            <column>
+             <property name="text">
+              <string>3</string>
+             </property>
+            </column>
+            <column>
+             <property name="text">
+              <string>4</string>
+             </property>
+            </column>
+            <column>
+             <property name="text">
+              <string>Data</string>
+             </property>
+            </column>
+            <column>
+             <property name="text">
+              <string>6</string>
+             </property>
+            </column>
+            <column>
+             <property name="text">
+              <string>8</string>
+             </property>
+            </column>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="VFtab">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <attribute name="title">
+          <string>Overlay</string>
+         </attribute>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="vvOverlayPanel" name="overlayPanel" native="true">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="ROItab">
+         <attribute name="title">
+          <string>ROI</string>
+         </attribute>
+         <layout class="QGridLayout" name="gridLayout_2"/>
+        </widget>
+        <widget class="QWidget" name="LinkTab">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <attribute name="title">
+          <string>Link</string>
+         </attribute>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="vvLinkPanel" name="linkPanel" native="true">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="Landmarkstab">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <attribute name="title">
+          <string>Landmarks</string>
+         </attribute>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="vvLandmarksPanel" name="landmarksPanel" native="true">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+       <widget class="vvInfoPanel" name="infoPanel" native="true">
+        <property name="enabled">
+         <bool>true</bool>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+       </widget>
+      </widget>
+      <widget class="QSplitter" name="splitter_3">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+         <horstretch>1</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <widget class="QSplitter" name="OSplitter">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <widget class="QWidget" name="NOWidget" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <layout class="QGridLayout">
+          <property name="horizontalSpacing">
+           <number>2</number>
+          </property>
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="QVTKWidget" name="NOViewWidget" native="true">
+            <property name="mouseTracking">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSlider" name="NOVerticalSlider">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QSlider" name="NOHorizontalSlider">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="SOWidget" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::NoFocus</enum>
+         </property>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="QVTKWidget" name="SOViewWidget" native="true">
+            <property name="mouseTracking">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSlider" name="SOVerticalSlider">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QSlider" name="SOHorizontalSlider">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+       <widget class="QSplitter" name="ESplitter">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <widget class="QWidget" name="NEWidget" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="QVTKWidget" name="NEViewWidget" native="true">
+            <property name="mouseTracking">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSlider" name="NEVerticalSlider">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QSlider" name="NEHorizontalSlider">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+        <widget class="QWidget" name="SEWidget" native="true">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <layout class="QGridLayout">
+          <property name="margin">
+           <number>2</number>
+          </property>
+          <property name="spacing">
+           <number>2</number>
+          </property>
+          <item row="0" column="0">
+           <widget class="QVTKWidget" name="SEViewWidget" native="true">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="mouseTracking">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="1">
+           <widget class="QSlider" name="SEVerticalSlider">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0">
+           <widget class="QSlider" name="SEHorizontalSlider">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+      </widget>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>1008</width>
+     <height>27</height>
+    </rect>
+   </property>
+   <property name="defaultUp">
+    <bool>false</bool>
+   </property>
+   <widget class="QMenu" name="menuHelp">
+    <property name="title">
+     <string>Help</string>
+    </property>
+    <addaction name="actionNavigation_Help"/>
+    <addaction name="actionDocumentation"/>
+    <addaction name="actionRegister_vv"/>
+   </widget>
+   <widget class="QMenu" name="menuOverlay">
+    <property name="title">
+     <string>Overlay</string>
+    </property>
+    <addaction name="actionAdd_VF_to_current_Image"/>
+    <addaction name="actionAdd_overlay_image_to_current_image"/>
+    <addaction name="actionAdd_fusion_image"/>
+    <addaction name="actionAdd_USSequence_toCT"/>
+   </widget>
+   <widget class="QMenu" name="menuScreenshots">
+    <property name="title">
+     <string>Screenshots</string>
+    </property>
+    <addaction name="actionNorth_West_Window"/>
+    <addaction name="actionNorth_East_Window"/>
+    <addaction name="actionSouth_West_Window"/>
+    <addaction name="actionSouth_East_Window"/>
+    <addaction name="separator"/>
+    <addaction name="actionSave_all_slices"/>
+   </widget>
+   <widget class="QMenu" name="menuExperimental">
+    <property name="title">
+     <string>Experimental</string>
+    </property>
+    <addaction name="actionSurface_Viewer"/>
+    <addaction name="actionDeformable_Registration"/>
+    <addaction name="actionSegmentation"/>
+    <addaction name="actionWarp_image_with_vector_field"/>
+    <addaction name="actionCompute_mid_position_image"/>
+   </widget>
+   <widget class="QMenu" name="menuTools">
+    <property name="title">
+     <string>Tools</string>
+    </property>
+   </widget>
+   <widget class="QMenu" name="menuFile">
+    <property name="title">
+     <string>File</string>
+    </property>
+    <addaction name="actionLoad_images"/>
+    <addaction name="actionOpen_Image_With_Time"/>
+    <addaction name="actionMerge_images_as_n_dim_t"/>
+    <addaction name="separator"/>
+    <addaction name="actionSlice_Image_As_Multiple_Images"/>
+    <addaction name="actionOpen_Multiple_Images_As_One"/>
+    <addaction name="separator"/>
+    <addaction name="actionOpen_Dicom"/>
+    <addaction name="actionOpen_VTK_contour"/>
+    <addaction name="actionConnect_Pacs"/>
+    <addaction name="separator"/>
+    <addaction name="actionSave_As"/>
+    <addaction name="separator"/>
+    <addaction name="actionRead_saved_state"/>
+    <addaction name="actionSave_current_state"/>
+    <addaction name="separator"/>
+    <addaction name="actionExit"/>
+    <addaction name="separator"/>
+    <addaction name="separator"/>
+   </widget>
+   <addaction name="menuFile"/>
+   <addaction name="menuOverlay"/>
+   <addaction name="menuScreenshots"/>
+   <addaction name="menuTools"/>
+   <addaction name="menuExperimental"/>
+   <addaction name="menuHelp"/>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+  <action name="actionLoad_images">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/fileopen.png</normaloff>:/common/icons/fileopen.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open image(s)</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+O</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionClose_image">
+   <property name="text">
+    <string>Close images</string>
+   </property>
+  </action>
+  <action name="actionExit">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/exit.png</normaloff>:/common/icons/exit.png</iconset>
+   </property>
+   <property name="text">
+    <string>Exit</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionSave_screenshot">
+   <property name="text">
+    <string>Save screenshot</string>
+   </property>
+  </action>
+  <action name="actionPickable">
+   <property name="text">
+    <string>pickable</string>
+   </property>
+  </action>
+  <action name="actionDragable">
+   <property name="text">
+    <string>dragable</string>
+   </property>
+  </action>
+  <action name="actionSet_colormap">
+   <property name="text">
+    <string>Set colormap</string>
+   </property>
+  </action>
+  <action name="actionIsoContours">
+   <property name="text">
+    <string>IsoContours</string>
+   </property>
+  </action>
+  <action name="actionAbouts">
+   <property name="text">
+    <string>About QtVTKRender2D</string>
+   </property>
+  </action>
+  <action name="actionDocumentation">
+   <property name="text">
+    <string>About</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionReload_images">
+   <property name="text">
+    <string>Reload images</string>
+   </property>
+  </action>
+  <action name="actionOpen_Dicom">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open Dicom</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionOpen_Multiple_Images_As_One">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Merge several nD images into a single (n+1)D image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionSlice_Image_As_Multiple_Images">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Slice a nD image into several (n-1)D images</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionOpen_one_Image_as_Multiple">
+   <property name="text">
+    <string>Open One Image As Multiple</string>
+   </property>
+  </action>
+  <action name="actionSave_As">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/filesave.png</normaloff>:/common/icons/filesave.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save current image</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+S</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionAdd_VF_to_current_Image">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/cursor-uparrow.png</normaloff>:/common/icons/cursor-uparrow.png</iconset>
+   </property>
+   <property name="text">
+    <string>Add deformation field to current image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionNorth_West_Window">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/NOgrid.png</normaloff>:/common/icons/NOgrid.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save image in TL</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionNorth_East_Window">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/NEgrid.png</normaloff>:/common/icons/NEgrid.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save image in TR</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionSouth_West_Window">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/SOgrid.png</normaloff>:/common/icons/SOgrid.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save image in BL</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionSouth_East_Window">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/SEgrid.png</normaloff>:/common/icons/SEgrid.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save image in BR</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionOpen_Image_With_Time">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open a nD image as a (n-1)D + t image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionMerge_images_as_n_dim_t">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open several nD images into a single nD+t image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionAdd_fusion_image">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/fusion.png</normaloff>:/common/icons/fusion.png</iconset>
+   </property>
+   <property name="text">
+    <string>Add fusion image to current image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionSegmentation">
+   <property name="text">
+    <string>Segmentation</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionResampler">
+   <property name="text">
+    <string>Resample</string>
+   </property>
+  </action>
+  <action name="actionSurface_Viewer">
+   <property name="text">
+    <string>Surface Viewer</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionDebug">
+   <property name="text">
+    <string>joelDebug</string>
+   </property>
+  </action>
+  <action name="actionDeformable_Registration">
+   <property name="text">
+    <string>Deformable Registration</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionWarp_image_with_vector_field">
+   <property name="text">
+    <string>Verify Registration</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionMaximum_Intensity_Projection">
+   <property name="text">
+    <string>Maximum Intensity Projection</string>
+   </property>
+  </action>
+  <action name="actionOpen_VTK_contour">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open VTK or OBJ contour</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionNavigation_Help">
+   <property name="text">
+    <string>Navigation Help</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+   <property name="priority">
+    <enum>QAction::NormalPriority</enum>
+   </property>
+  </action>
+  <action name="actionOpen_Dicom_Struct">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open Dicom-Struct</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionCompute_mid_position_image">
+   <property name="text">
+    <string>Compute mid-position image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionExperimental">
+   <property name="text">
+    <string>Experimental...</string>
+   </property>
+  </action>
+  <action name="actionRegister_vv">
+   <property name="text">
+    <string>Register vv</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionSave_all_slices">
+   <property name="text">
+    <string>Save all slices (Top-Left view)</string>
+   </property>
+  </action>
+  <action name="actionSave_current_state">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/filesave.png</normaloff>:/common/icons/filesave.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save current state</string>
+   </property>
+   <property name="toolTip">
+    <string>Save current window and file states</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionRead_saved_state">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/open.png</normaloff>:/common/icons/open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Read Saved State</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionAdd_overlay_image_to_current_image">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/GPSup.png</normaloff>:/common/icons/GPSup.png</iconset>
+   </property>
+   <property name="text">
+    <string>Add overlay image to current image</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionAdd_USSequence_toCT">
+   <property name="icon">
+    <iconset resource="../vvIcons.qrc">
+     <normaloff>:/common/icons/rotateright.png</normaloff>:/common/icons/rotateright.png</iconset>
+   </property>
+   <property name="text">
+    <string>Test / Fusion of US &amp; CT sequences</string>
+   </property>
+   <property name="iconVisibleInMenu">
+    <bool>true</bool>
+   </property>
+  </action>
+  <action name="actionConnect_Pacs">
+   <property name="text">
+    <string>Connect Pacs</string>
+   </property>
+  </action>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QVTKWidget</class>
+   <extends>QWidget</extends>
+   <header>QVTKWidget.h</header>
+  </customwidget>
+  <customwidget>
+   <class>vvInfoPanel</class>
+   <extends>QWidget</extends>
+   <header>vvInfoPanel.h</header>
+  </customwidget>
+  <customwidget>
+   <class>vvLandmarksPanel</class>
+   <extends>QWidget</extends>
+   <header>vvLandmarksPanel.h</header>
+  </customwidget>
+  <customwidget>
+   <class>vvLinkPanel</class>
+   <extends>QWidget</extends>
+   <header>vvLinkPanel.h</header>
+  </customwidget>
+  <customwidget>
+   <class>vvOverlayPanel</class>
+   <extends>QWidget</extends>
+   <header>vvOverlayPanel.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>presetComboBox</tabstop>
+  <tabstop>windowSpinBox</tabstop>
+  <tabstop>levelSpinBox</tabstop>
+  <tabstop>NOViewWidget</tabstop>
+  <tabstop>NOVerticalSlider</tabstop>
+  <tabstop>NOHorizontalSlider</tabstop>
+  <tabstop>SOVerticalSlider</tabstop>
+  <tabstop>SOHorizontalSlider</tabstop>
+  <tabstop>NEVerticalSlider</tabstop>
+  <tabstop>NEHorizontalSlider</tabstop>
+  <tabstop>SEVerticalSlider</tabstop>
+  <tabstop>SEHorizontalSlider</tabstop>
+  <tabstop>viewButton</tabstop>
+ </tabstops>
+ <resources>
+  <include location="../vvIcons.qrc"/>
+ </resources>
+ <connections/>
+</ui>
index 476762524d60f0cbb6b80c294f56dae2ee93e8b4..d7e930918797607c5ee71c043e065b96c381b89b 100644 (file)
@@ -28,7 +28,7 @@
     </widget>
    </item>
    <item rowspan="4" row="0" column="2" colspan="6" >
-    <widget class="QVTKWidget" name="viewWidget" />
+    <widget class="QVTKOpenGLNativeWidget" name="viewWidget" />
    </item>
    <item row="1" column="0" >
     <widget class="QLabel" name="minLabel" >
  </widget>
  <customwidgets>
   <customwidget>
-   <class>QVTKWidget</class>
+   <class>QVTKOpenGLNativeWidget</class>
    <extends>QWidget</extends>
-   <header>QVTKWidget.h</header>
+   <header>QVTKOpenGLNativeWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/vv/qt_ui/vvSegmentationDialogVTK7.ui b/vv/qt_ui/vvSegmentationDialogVTK7.ui
new file mode 100644 (file)
index 0000000..4767625
--- /dev/null
@@ -0,0 +1,159 @@
+<ui version="4.0" >
+ <class>vvSegmentationDialog</class>
+ <widget class="QDialog" name="vvSegmentationDialog" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>561</width>
+    <height>453</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Segmentation tool</string>
+  </property>
+  <layout class="QGridLayout" >
+   <item row="0" column="0" >
+    <widget class="QSlider" name="clipping1Slider" >
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="1" >
+    <widget class="QSlider" name="clipping2Slider" >
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </widget>
+   </item>
+   <item rowspan="4" row="0" column="2" colspan="6" >
+    <widget class="QVTKWidget" name="viewWidget" />
+   </item>
+   <item row="1" column="0" >
+    <widget class="QLabel" name="minLabel" >
+     <property name="sizePolicy" >
+      <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text" >
+      <string>Min :</string>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0" colspan="2" >
+    <widget class="QLabel" name="maxLabel" >
+     <property name="text" >
+      <string>Max :</string>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="0" colspan="2" >
+    <widget class="QPushButton" name="binaryButton" >
+     <property name="sizePolicy" >
+      <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text" >
+      <string>Binarise</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="0" colspan="2" >
+    <widget class="QPushButton" name="erodeButton" >
+     <property name="text" >
+      <string>Erode</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="2" >
+    <widget class="QPushButton" name="dilateButton" >
+     <property name="text" >
+      <string>Dilate</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="3" >
+    <widget class="QLabel" name="label" >
+     <property name="text" >
+      <string>Kernel Size :</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="4" >
+    <widget class="QSpinBox" name="kernelSpinBox" >
+     <property name="minimum" >
+      <number>1</number>
+     </property>
+     <property name="value" >
+      <number>2</number>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="5" >
+    <widget class="QPushButton" name="dimButton" >
+     <property name="sizePolicy" >
+      <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text" >
+      <string>3D</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="6" >
+    <widget class="QPushButton" name="saveButton" >
+     <property name="text" >
+      <string>Save As</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="7" >
+    <widget class="QPushButton" name="closeButton" >
+     <property name="text" >
+      <string>Close</string>
+     </property>
+    </widget>
+   </item>
+   <item row="5" column="0" colspan="5" >
+    <widget class="QLabel" name="infoLabel" >
+     <property name="text" >
+      <string>TextLabel</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QVTKWidget</class>
+   <extends>QWidget</extends>
+   <header>QVTKWidget.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>closeButton</sender>
+   <signal>clicked()</signal>
+   <receiver>vvSegmentationDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>528</x>
+     <y>403</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>542</x>
+     <y>423</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
index 6683830f664dc420190788ff1b1fb0dc9313a7cb..a87d8ff77923db76bc27621d10da50c884216cf0 100644 (file)
@@ -14,7 +14,7 @@
   </property>
   <layout class="QGridLayout" >
    <item row="0" column="0" colspan="3" >
-    <widget class="QVTKWidget" name="renderWidget" />
+    <widget class="QVTKOpenGLNativeWidget" name="renderWidget" />
    </item>
    <item row="1" column="0" >
     <spacer>
@@ -47,9 +47,9 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>QVTKWidget</class>
+   <class>QVTKOpenGLNativeWidget</class>
    <extends>QWidget</extends>
-   <header>QVTKWidget.h</header>
+   <header>QVTKOpenGLNativeWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/vv/qt_ui/vvSurfaceViewerDialogVTK7.ui b/vv/qt_ui/vvSurfaceViewerDialogVTK7.ui
new file mode 100644 (file)
index 0000000..6683830
--- /dev/null
@@ -0,0 +1,74 @@
+<ui version="4.0" >
+ <class>vvSurfaceViewerDialog</class>
+ <widget class="QDialog" name="vvSurfaceViewerDialog" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>554</width>
+    <height>472</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Dialog</string>
+  </property>
+  <layout class="QGridLayout" >
+   <item row="0" column="0" colspan="3" >
+    <widget class="QVTKWidget" name="renderWidget" />
+   </item>
+   <item row="1" column="0" >
+    <spacer>
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" >
+      <size>
+       <width>311</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item row="1" column="1" >
+    <widget class="QPushButton" name="loadButton" >
+     <property name="text" >
+      <string>Load</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="2" >
+    <widget class="QPushButton" name="closeButton" >
+     <property name="text" >
+      <string>Close</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QVTKWidget</class>
+   <extends>QWidget</extends>
+   <header>QVTKWidget.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>closeButton</sender>
+   <signal>clicked()</signal>
+   <receiver>vvSurfaceViewerDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>492</x>
+     <y>436</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>443</x>
+     <y>435</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
index 01851e08d32290f3299f1f98e5bc5f2e4d2a9685..7cc94e9179b95785cb23403bcc623a07bbe247c1 100644 (file)
@@ -78,7 +78,7 @@
       </widget>
      </item>
      <item>
-      <widget class="QVTKWidget" name="HistogramWidget" native="true">
+      <widget class="QVTKOpenGLNativeWidget" name="HistogramWidget" native="true">
        <property name="minimumSize">
         <size>
          <width>0</width>
@@ -96,9 +96,9 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>QVTKWidget</class>
+   <class>QVTKOpenGLNativeWidget</class>
    <extends>QWidget</extends>
-   <header>QVTKWidget.h</header>
+   <header>QVTKOpenGLNativeWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/vv/qt_ui/vvToolHistogramVTK7.ui b/vv/qt_ui/vvToolHistogramVTK7.ui
new file mode 100644 (file)
index 0000000..01851e0
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>vvToolHistogram</class>
+ <widget class="QWidget" name="vvToolHistogram">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>506</width>
+    <height>452</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Histogram image</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <item>
+      <layout class="QGridLayout" name="gridLayout_2">
+       <property name="horizontalSpacing">
+        <number>6</number>
+       </property>
+       <item row="2" column="3">
+        <layout class="QHBoxLayout" name="horizontalLayout_6">
+         <item>
+          <widget class="QPushButton" name="mSaveHistogramButton">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>Save Histogram</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="1" column="3">
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <item>
+          <widget class="QLabel" name="mPosPoint2Label">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>200</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="1" column="1">
+        <layout class="QHBoxLayout" name="horizontalLayout_3"/>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <widget class="Line" name="line_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QVTKWidget" name="HistogramWidget" native="true">
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>300</height>
+        </size>
+       </property>
+       <property name="mouseTracking">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QVTKWidget</class>
+   <extends>QWidget</extends>
+   <header>QVTKWidget.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
index bc3c9c85d15c05a12d40e7d4fa2ffcebeb2daab3..fb0b5ad6f0ee834c357fffb8efa3249c701c7f54 100644 (file)
       </widget>
      </item>
      <item>
-      <widget class="QVTKWidget" name="ProfileWidget" native="true">
+      <widget class="QVTKOpenGLNativeWidget" name="ProfileWidget" native="true">
        <property name="minimumSize">
         <size>
          <width>0</width>
  </widget>
  <customwidgets>
   <customwidget>
-   <class>QVTKWidget</class>
+   <class>QVTKOpenGLNativeWidget</class>
    <extends>QWidget</extends>
-   <header>QVTKWidget.h</header>
+   <header>QVTKOpenGLNativeWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/vv/qt_ui/vvToolProfileVTK7.ui b/vv/qt_ui/vvToolProfileVTK7.ui
new file mode 100644 (file)
index 0000000..bc3c9c8
--- /dev/null
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>vvToolProfile</class>
+ <widget class="QWidget" name="vvToolProfile">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>505</width>
+    <height>452</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Profile image</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <item>
+      <layout class="QGridLayout" name="gridLayout_2">
+       <property name="horizontalSpacing">
+        <number>6</number>
+       </property>
+       <item row="2" column="1">
+        <layout class="QHBoxLayout" name="horizontalLayout_3">
+         <item>
+          <widget class="QPushButton" name="mSelectPoint2Button">
+           <property name="text">
+            <string>Select point 2</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="Point2">
+           <property name="text">
+            <string>Center of voxel2 (vox):</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="2" column="3">
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <item>
+          <widget class="QLabel" name="mPosPoint2Label">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>200</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="3" column="3">
+        <layout class="QHBoxLayout" name="horizontalLayout_6">
+         <item>
+          <widget class="QToolButton" name="mCancelPointsButton">
+           <property name="text">
+            <string>Cancel</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="mSaveProfileButton">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>Save Profile</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="1" column="1">
+        <layout class="QHBoxLayout" name="horizontalLayout_7">
+         <item>
+          <widget class="QPushButton" name="mSelectPoint1Button">
+           <property name="text">
+            <string>Select point 1</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="Point1">
+           <property name="text">
+            <string>Center of voxel1 (vox):</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item row="1" column="3">
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <item>
+          <widget class="QLabel" name="mPosPoint1Label">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>200</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <widget class="Line" name="line_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QVTKWidget" name="ProfileWidget" native="true">
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>300</height>
+        </size>
+       </property>
+       <property name="mouseTracking">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>QVTKWidget</class>
+   <extends>QWidget</extends>
+   <header>QVTKWidget.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
index 4e3ba2131de86c02ba02eccfa6a7e5cb307f2bd8..6a81732949e5857d50b2acb260925c5a0a2f7b7f 100644 (file)
@@ -3278,7 +3278,11 @@ void vvMainWindow::SaveSEScreenshot()
 //------------------------------------------------------------------------------
 void vvMainWindow::SaveScreenshotAllSlices()
 { 
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
+  QVTKOpenGLNativeWidget *widget = NOViewWidget;
+#else
   QVTKWidget *widget = NOViewWidget;
+#endif
 
   int index = 0;// GetSlicerIndexFromItem(DataTree->selectedItems()[0]);
   vvSlicerManager * SM = mSlicerManagers[index];
@@ -3334,7 +3338,11 @@ void vvMainWindow::SaveScreenshotAllSlices()
 
 
 //------------------------------------------------------------------------------
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
+void vvMainWindow::SaveScreenshot(QVTKOpenGLNativeWidget *widget)
+#else
 void vvMainWindow::SaveScreenshot(QVTKWidget *widget)
+#endif
 { 
   QString Extensions = "Images( *.png);;";
   Extensions += "Images( *.jpg);;";
index 8908b24004ca7fca8bae8c6f0e3d76fa5f9968a1..2be7e7584caaf78ad91daf261642d5b343eb7449 100644 (file)
 
 #include <iostream>
 #include <vector>
+#include "vtkVersion.h"
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
 #include "ui_vvMainWindow.h"
+#else
+#include "ui_vvMainWindowVTK7.h"
+#endif
 #include "vvMainWindowBase.h"
 #include "vvToolManager.h"
 #include "vvImageReader.h"
@@ -222,7 +227,11 @@ private:
   QString GetVectorIntAsString(std::vector<int> vectorInt);
   int GetSlicerIndexFromItem(QTreeWidgetItem* item); //this actually returns the SlicerManager index TODO: rename it to GetSlicerManagerIndexFromItem
   QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm);
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
+  void SaveScreenshot(QVTKOpenGLNativeWidget *widget);
+#else
   void SaveScreenshot(QVTKWidget *widget);
+#endif
   int GetImageDuplicateFilenameNumber(std::string filename);
 
   QMenu contextMenu;
index f457df5ee6e7e4864bd4a9e04843330af9ad1a42..d359e5d2e2190b6603f7fd0d5b633ed854cdc6f0 100644 (file)
 ===========================================================================**/
 #ifndef _VVSEGMENTATIONDIALOG_H
 #define _VVSEGMENTATIONDIALOG_H
+#include <vtkVersion.h>
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
 #include "ui_vvSegmentationDialog.h"
+#else
+#include "ui_vvSegmentationDialogVTK7.h"
+#endif
 #include "clitkCommon.h"
 #include "vvImage.h"
 #include "vvSlicerManager.h"
index f53c9bb5ba0fdb0a93e02782e4c21a2960c38004..c0a8840f2f20a4b1470c8dc48ef52123e5a996ba 100644 (file)
 ===========================================================================**/
 #ifndef _vvSurfaceViewerDialog_H
 #define _vvSurfaceViewerDialog_H
+#include <vtkVersion.h>
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
 #include "ui_vvSurfaceViewerDialog.h"
+#else
+#include "ui_vvSurfaceViewerDialogVTK7.h"
+#endif
 
 class vtkPolyDataMapper;
 class vtkActor;
index 293fbcde3991f30e91ba1c547e4b52e8099b2cec..939642ab4e7c527476db0e5221d7f45860027e68 100644 (file)
@@ -311,7 +311,11 @@ void vvToolHistogram::InputIsSelected(vvSlicerManager * m)
 
 
 //------------------------------------------------------------------------------
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
+QVTKOpenGLNativeWidget* vvToolHistogram::GetHistogramWidget()
+#else
 QVTKWidget* vvToolHistogram::GetHistogramWidget()
+#endif
 {
   return(HistogramWidget);
 }
index 437e4e6e04ef5ba9bf7ea7ef6fef5cf941e9a82b..3897c902168a26d9153fae723028dd2f15ac87a7 100644 (file)
 
 #include "vvToolBase.h"
 #include "vvToolWidgetBase.h"
+#include <vtkVersion.h>
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
 #include "ui_vvToolHistogram.h"
+#else
+#include "ui_vvToolHistogramVTK7.h"
+#endif
 
 #include "clitkHistogramImage_ggo.h"
 #include "clitkHistogramImageGenericFilter.h"
@@ -61,7 +66,11 @@ class vvToolHistogram:
 
   void displayHistogram();
 
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
+  QVTKOpenGLNativeWidget* GetHistogramWidget();
+#else
   QVTKWidget* GetHistogramWidget();
+#endif
 
   //-----------------------------------------------------
   public slots:
index 0410637f396b79a1f08faad0502c97b0918aef7e..0f94ff3a9177c52b81afa0e25eaedfc865d2ea3c 100644 (file)
 #include "vvToolWidgetBase.h"
 #include "vvImageContour.h"
 #include "vvLandmarks.h"
+#include <vtkVersion.h>
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 1) || VTK_MAJOR_VERSION >= 9
 #include "ui_vvToolProfile.h"
+#else
+#include "ui_vvToolProfileVTK7.h"
+#endif
 #include "vvBinaryImageOverlayActor.h"
 
 #include "clitkProfileImage_ggo.h"