diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/files.cmake b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/files.cmake index 0f586c9..8ae0d5d 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/files.cmake +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/files.cmake @@ -1,63 +1,69 @@ set(SRC_CPP_FILES ) set(INTERNAL_CPP_FILES mitkPluginActivator.cpp QmitkFiberQuantificationView.cpp QmitkFiberProcessingView.cpp QmitkFiberClusteringView.cpp + QmitkInteractiveFiberDissectionView.cpp QmitkFiberFitView.cpp QmitkTractometryView.cpp Perspectives/QmitkFiberProcessingPerspective.cpp ) set(UI_FILES src/internal/QmitkFiberQuantificationViewControls.ui src/internal/QmitkFiberProcessingViewControls.ui src/internal/QmitkFiberClusteringViewControls.ui + src/internal/QmitkInteractiveFiberDissectionViewControls.ui src/internal/QmitkFiberFitViewControls.ui src/internal/QmitkTractometryViewControls.ui ) set(MOC_H_FILES src/internal/mitkPluginActivator.h src/internal/QmitkFiberQuantificationView.h src/internal/QmitkFiberProcessingView.h src/internal/QmitkFiberClusteringView.h + src/internal/QmitkInteractiveFiberDissectionView.h src/internal/QmitkFiberFitView.h src/internal/QmitkTractometryView.h src/internal/Perspectives/QmitkFiberProcessingPerspective.h ) set(CACHED_RESOURCE_FILES plugin.xml resources/FiberBundleOperations.png resources/FiberQuantification.png resources/FiberClustering.png resources/FiberFit.png resources/Tractometry.png resources/circle.png resources/polygon.png + resources/eraze.png + resources/highlighter.png ) set(QRC_FILES resources/QmitkFiberprocessing.qrc + resources/QmitkInteractiveFiberDissection.qrc ) set(CPP_FILES ) foreach(file ${SRC_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/${file}) endforeach(file ${SRC_CPP_FILES}) foreach(file ${INTERNAL_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/internal/${file}) endforeach(file ${INTERNAL_CPP_FILES}) diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/plugin.xml b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/plugin.xml index 4150004..4a46258 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/plugin.xml +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/plugin.xml @@ -1,163 +1,171 @@ + + + + This perspective contains all views necessary to post process fibers. diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/QmitkInteractiveFiberDissection.qrc b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/QmitkInteractiveFiberDissection.qrc new file mode 100644 index 0000000..047b9e6 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/QmitkInteractiveFiberDissection.qrc @@ -0,0 +1,9 @@ + + + FiberBundle.png + circle.png + polygon.png + eraze.png + highlighter.png + + diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/eraze.png b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/eraze.png new file mode 100644 index 0000000..d4ac1c0 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/eraze.png differ diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/highlighter.png b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/highlighter.png new file mode 100644 index 0000000..4fa7514 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/highlighter.png differ diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/Perspectives/QmitkFiberProcessingPerspective.cpp b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/Perspectives/QmitkFiberProcessingPerspective.cpp index 038ed58..4ad19e7 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/Perspectives/QmitkFiberProcessingPerspective.cpp +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/Perspectives/QmitkFiberProcessingPerspective.cpp @@ -1,52 +1,53 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "QmitkFiberProcessingPerspective.h" #include "berryIViewLayout.h" void QmitkFiberProcessingPerspective::CreateInitialLayout(berry::IPageLayout::Pointer layout) { ///////////////////////////////////////////////////// // all di-app perspectives should have the following: ///////////////////////////////////////////////////// QString editorArea = layout->GetEditorArea(); layout->AddStandaloneViewPlaceholder("org.mitk.views.viewnavigatorview", berry::IPageLayout::LEFT, 0.3f, editorArea, false); layout->AddStandaloneView("org.mitk.views.datamanager", false, berry::IPageLayout::LEFT, 0.3f, editorArea); layout->AddStandaloneView("org.mitk.views.controlvisualizationpropertiesview", false, berry::IPageLayout::BOTTOM, .15f, "org.mitk.views.datamanager"); berry::IFolderLayout::Pointer left = layout->CreateFolder("org.mbi.diffusionimaginginternal.leftcontrols", berry::IPageLayout::BOTTOM, 0.15f, "org.mitk.views.controlvisualizationpropertiesview"); layout->AddStandaloneViewPlaceholder("org.mitk.views.imagenavigator", berry::IPageLayout::BOTTOM, .7f, "org.mbi.diffusionimaginginternal.leftcontrols", false); ///////////////////////////////////////////// // here goes the perspective specific stuff ///////////////////////////////////////////// left->AddView("org.mitk.views.fiberprocessing"); left->AddView("org.mitk.views.fiberquantification"); + left->AddView("org.mitk.views.interactivefiberdissection"); left->AddView("org.mitk.views.fiberclustering"); left->AddView("org.mitk.views.fiberfit"); left->AddView("org.mitk.views.tractometry"); } diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.cpp b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.cpp new file mode 100644 index 0000000..bdf3d71 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.cpp @@ -0,0 +1,15 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center. + +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.h b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.h new file mode 100644 index 0000000..0a9e1b6 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionView.h @@ -0,0 +1,16 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center. + +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionViewControls.ui b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionViewControls.ui new file mode 100644 index 0000000..21ead88 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/QmitkInteractiveFiberDissectionViewControls.ui @@ -0,0 +1,636 @@ + + + QmitkInteractiveFiberDissectionViewControls + + + + 0 + 0 + 417 + 711 + + + + Form + + + QCommandLinkButton:disabled { + border: none; +} + +QGroupBox { + background-color: transparent; +} + + + + 9 + + + 9 + + + 9 + + + 9 + + + + + Please Select Input Data + + + + 6 + + + 6 + + + 6 + + + 6 + + + + + Input DTI + + + Fiber Bundle: + + + + + + + <html><head/><body><p><span style=" color:#ff0000;">mandatory</span></p></body></html> + + + true + + + + + + + + + + true + + + + true + + + + Label Fibers + + + QFrame::NoFrame + + + 1 + + + 6 + + + + + 0 + 0 + 399 + 492 + + + + Fiber Creation + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Add new Streamline Pointset + + + + + + + Add Streamline to Tractogram + + + + + + + Create Streamline + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + + + + Selected Streamline Pointset + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Streamline Points + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + true + + + + 0 + 0 + 399 + 492 + + + + + + + Fiber Labelling + + + Dissect/Eraze Fibers by Erasion and Highlighting + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Streamlines belonging to Bundle + + + + + + + + + + Streamlines not belonging to Bundle + + + + + + + Streamlines to be labeled + + + + + + + + + + + + + true + + + ArrowCursor + + + QFrame::NoFrame + + + QFrame::Raised + + + + + + Label individual Streamlines + + + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 30 + 30 + + + + + + + + :/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/eraze.png:/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/eraze.png + + + + 32 + 32 + + + + true + + + + + + + + 30 + 30 + + + + + + + + :/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/highlighter.png:/org.mitk.gui.qt.diffusionimaging.fiberprocessing/resources/highlighter.png + + + + 32 + 32 + + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Add + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Random Streamlines + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + 0 + 0 + 399 + 492 + + + + Active Learning + + + + + 9 + 9 + 341 + 391 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Train Classifier + + + + + + + 5 + + + 10 + + + + + + + Create Prediction + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Create Uncertanty Map + + + + + + + Add + + + + + + + To be labeled + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 84 + 22 + + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 40 + + + + + + + + + QmitkSingleNodeSelectionWidget + QWidget +
QmitkSingleNodeSelectionWidget.h
+
+ + QmitkPointListWidget + QWidget +
QmitkPointListWidget.h
+
+
+ + +
diff --git a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/mitkPluginActivator.cpp b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/mitkPluginActivator.cpp index 042b6c0..666fd1c 100644 --- a/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/mitkPluginActivator.cpp +++ b/Plugins/org.mitk.gui.qt.diffusionimaging.fiberprocessing/src/internal/mitkPluginActivator.cpp @@ -1,51 +1,53 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "mitkPluginActivator.h" #include "src/internal/Perspectives/QmitkFiberProcessingPerspective.h" #include "src/internal/QmitkFiberProcessingView.h" #include "src/internal/QmitkFiberQuantificationView.h" +#include "src/internal/QmitkInteractiveFiberDissectionView.h" #include "src/internal/QmitkFiberClusteringView.h" #include "src/internal/QmitkFiberFitView.h" #include "src/internal/QmitkTractometryView.h" ctkPluginContext* mitk::PluginActivator::m_Context = nullptr; ctkPluginContext* mitk::PluginActivator::GetContext() { return m_Context; } void mitk::PluginActivator::start(ctkPluginContext* context) { BERRY_REGISTER_EXTENSION_CLASS(QmitkFiberProcessingPerspective, context) BERRY_REGISTER_EXTENSION_CLASS(QmitkFiberQuantificationView, context) + BERRY_REGISTER_EXTENSION_CLASS(QmitkInteractiveFiberDissectionView, context) BERRY_REGISTER_EXTENSION_CLASS(QmitkFiberProcessingView, context) BERRY_REGISTER_EXTENSION_CLASS(QmitkFiberClusteringView, context) BERRY_REGISTER_EXTENSION_CLASS(QmitkFiberFitView, context) BERRY_REGISTER_EXTENSION_CLASS(QmitkTractometryView, context) m_Context = context; } void mitk::PluginActivator::stop(ctkPluginContext* context) { Q_UNUSED(context) m_Context = nullptr; }