├── CODEOWNERS ├── Data ├── ImageToITK.cpp ├── Logger.cpp ├── testsuite │ ├── test_DataMain.cpp │ └── CMakeLists.txt ├── addLine.h ├── ProgressInfo.h ├── CMakeLists.txt ├── SharedPtr.h ├── iSegData.h ├── ItkProgressObserver.cpp ├── ItkProgressObserver.h ├── Types.h ├── Signals.h ├── Point.h ├── ScopeExit.h ├── Mark.h ├── Color.h └── DataSelection.h ├── Thirdparty ├── QDarkStyleSheet │ ├── dark │ │ └── rc │ │ │ ├── .keep │ │ │ ├── arrow_up.png │ │ │ ├── base_icon.png │ │ │ ├── arrow_down.png │ │ │ ├── arrow_left.png │ │ │ ├── arrow_right.png │ │ │ ├── arrow_up@2x.png │ │ │ ├── branch_end.png │ │ │ ├── branch_line.png │ │ │ ├── branch_more.png │ │ │ ├── branch_open.png │ │ │ ├── transparent.png │ │ │ ├── window_grip.png │ │ │ ├── arrow_down@2x.png │ │ │ ├── arrow_left@2x.png │ │ │ ├── arrow_right@2x.png │ │ │ ├── arrow_up_focus.png │ │ │ ├── base_icon@2x.png │ │ │ ├── branch_closed.png │ │ │ ├── branch_end@2x.png │ │ │ ├── branch_line@2x.png │ │ │ ├── branch_more@2x.png │ │ │ ├── branch_open@2x.png │ │ │ ├── line_vertical.png │ │ │ ├── radio_checked.png │ │ │ ├── transparent@2x.png │ │ │ ├── window_close.png │ │ │ ├── window_grip@2x.png │ │ │ ├── window_undock.png │ │ │ ├── arrow_down_focus.png │ │ │ ├── arrow_left_focus.png │ │ │ ├── arrow_up_pressed.png │ │ │ ├── base_icon_focus.png │ │ │ ├── branch_closed@2x.png │ │ │ ├── branch_end_focus.png │ │ │ ├── checkbox_checked.png │ │ │ ├── line_horizontal.png │ │ │ ├── line_vertical@2x.png │ │ │ ├── radio_checked@2x.png │ │ │ ├── radio_unchecked.png │ │ │ ├── window_close@2x.png │ │ │ ├── window_minimize.png │ │ │ ├── window_undock@2x.png │ │ │ ├── arrow_down_disabled.png │ │ │ ├── arrow_down_focus@2x.png │ │ │ ├── arrow_down_pressed.png │ │ │ ├── arrow_left_disabled.png │ │ │ ├── arrow_left_focus@2x.png │ │ │ ├── arrow_left_pressed.png │ │ │ ├── arrow_right_focus.png │ │ │ ├── arrow_right_pressed.png │ │ │ ├── arrow_up_disabled.png │ │ │ ├── arrow_up_focus@2x.png │ │ │ ├── arrow_up_pressed@2x.png │ │ │ ├── base_icon_disabled.png │ │ │ ├── base_icon_focus@2x.png │ │ │ ├── base_icon_pressed.png │ │ │ ├── branch_closed_focus.png │ │ │ ├── branch_end_disabled.png │ │ │ ├── branch_end_focus@2x.png │ │ │ ├── branch_end_pressed.png │ │ │ ├── branch_line_focus.png │ │ │ ├── branch_line_pressed.png │ │ │ ├── branch_more_focus.png │ │ │ ├── branch_more_pressed.png │ │ │ ├── branch_open_focus.png │ │ │ ├── branch_open_pressed.png │ │ │ ├── checkbox_checked@2x.png │ │ │ ├── checkbox_unchecked.png │ │ │ ├── line_horizontal@2x.png │ │ │ ├── line_vertical_focus.png │ │ │ ├── radio_checked_focus.png │ │ │ ├── radio_unchecked@2x.png │ │ │ ├── transparent_focus.png │ │ │ ├── transparent_pressed.png │ │ │ ├── window_close_focus.png │ │ │ ├── window_grip_focus.png │ │ │ ├── window_grip_pressed.png │ │ │ ├── window_minimize@2x.png │ │ │ ├── window_undock_focus.png │ │ │ ├── arrow_down_pressed@2x.png │ │ │ ├── arrow_left_pressed@2x.png │ │ │ ├── arrow_right_disabled.png │ │ │ ├── arrow_right_focus@2x.png │ │ │ ├── arrow_up_disabled@2x.png │ │ │ ├── base_icon_disabled@2x.png │ │ │ ├── base_icon_pressed@2x.png │ │ │ ├── branch_closed_pressed.png │ │ │ ├── branch_end_pressed@2x.png │ │ │ ├── branch_line_disabled.png │ │ │ ├── branch_line_focus@2x.png │ │ │ ├── branch_more_disabled.png │ │ │ ├── branch_more_focus@2x.png │ │ │ ├── branch_open_disabled.png │ │ │ ├── branch_open_focus@2x.png │ │ │ ├── checkbox_unchecked@2x.png │ │ │ ├── line_horizontal_focus.png │ │ │ ├── line_vertical_pressed.png │ │ │ ├── radio_checked_pressed.png │ │ │ ├── radio_unchecked_focus.png │ │ │ ├── toolbar_move_vertical.png │ │ │ ├── transparent_disabled.png │ │ │ ├── transparent_focus@2x.png │ │ │ ├── window_close_disabled.png │ │ │ ├── window_close_focus@2x.png │ │ │ ├── window_close_pressed.png │ │ │ ├── window_grip_disabled.png │ │ │ ├── window_grip_focus@2x.png │ │ │ ├── window_minimize_focus.png │ │ │ ├── window_undock_pressed.png │ │ │ ├── arrow_down_disabled@2x.png │ │ │ ├── arrow_left_disabled@2x.png │ │ │ ├── arrow_right_disabled@2x.png │ │ │ ├── arrow_right_pressed@2x.png │ │ │ ├── branch_closed_disabled.png │ │ │ ├── branch_closed_focus@2x.png │ │ │ ├── branch_closed_pressed@2x.png │ │ │ ├── branch_end_disabled@2x.png │ │ │ ├── branch_line_disabled@2x.png │ │ │ ├── branch_line_pressed@2x.png │ │ │ ├── branch_more_disabled@2x.png │ │ │ ├── branch_more_pressed@2x.png │ │ │ ├── branch_open_disabled@2x.png │ │ │ ├── branch_open_pressed@2x.png │ │ │ ├── checkbox_checked_focus.png │ │ │ ├── checkbox_checked_pressed.png │ │ │ ├── checkbox_indeterminate.png │ │ │ ├── checkbox_unchecked_focus.png │ │ │ ├── line_horizontal_disabled.png │ │ │ ├── line_horizontal_focus@2x.png │ │ │ ├── line_horizontal_pressed.png │ │ │ ├── line_vertical_disabled.png │ │ │ ├── line_vertical_focus@2x.png │ │ │ ├── line_vertical_pressed@2x.png │ │ │ ├── radio_checked_disabled.png │ │ │ ├── radio_checked_focus@2x.png │ │ │ ├── radio_checked_pressed@2x.png │ │ │ ├── radio_unchecked_disabled.png │ │ │ ├── radio_unchecked_focus@2x.png │ │ │ ├── radio_unchecked_pressed.png │ │ │ ├── toolbar_move_horizontal.png │ │ │ ├── toolbar_move_vertical@2x.png │ │ │ ├── transparent_disabled@2x.png │ │ │ ├── transparent_pressed@2x.png │ │ │ ├── window_close_disabled@2x.png │ │ │ ├── window_close_pressed@2x.png │ │ │ ├── window_grip_disabled@2x.png │ │ │ ├── window_grip_pressed@2x.png │ │ │ ├── window_minimize_disabled.png │ │ │ ├── window_minimize_focus@2x.png │ │ │ ├── window_minimize_pressed.png │ │ │ ├── window_undock_disabled.png │ │ │ ├── window_undock_focus@2x.png │ │ │ ├── window_undock_pressed@2x.png │ │ │ ├── branch_closed_disabled@2x.png │ │ │ ├── checkbox_checked_disabled.png │ │ │ ├── checkbox_checked_focus@2x.png │ │ │ ├── checkbox_indeterminate@2x.png │ │ │ ├── checkbox_unchecked_pressed.png │ │ │ ├── line_horizontal_pressed@2x.png │ │ │ ├── line_vertical_disabled@2x.png │ │ │ ├── radio_checked_disabled@2x.png │ │ │ ├── radio_unchecked_pressed@2x.png │ │ │ ├── toolbar_move_horizontal@2x.png │ │ │ ├── toolbar_separator_vertical.png │ │ │ ├── window_minimize_pressed@2x.png │ │ │ ├── window_undock_disabled@2x.png │ │ │ ├── checkbox_checked_disabled@2x.png │ │ │ ├── checkbox_checked_pressed@2x.png │ │ │ ├── checkbox_indeterminate_focus.png │ │ │ ├── checkbox_unchecked_disabled.png │ │ │ ├── checkbox_unchecked_focus@2x.png │ │ │ ├── checkbox_unchecked_pressed@2x.png │ │ │ ├── line_horizontal_disabled@2x.png │ │ │ ├── radio_unchecked_disabled@2x.png │ │ │ ├── toolbar_move_horizontal_focus.png │ │ │ ├── toolbar_move_vertical_focus.png │ │ │ ├── toolbar_move_vertical_pressed.png │ │ │ ├── toolbar_separator_horizontal.png │ │ │ ├── toolbar_separator_vertical@2x.png │ │ │ ├── window_minimize_disabled@2x.png │ │ │ ├── checkbox_indeterminate_disabled.png │ │ │ ├── checkbox_indeterminate_focus@2x.png │ │ │ ├── checkbox_indeterminate_pressed.png │ │ │ ├── checkbox_unchecked_disabled@2x.png │ │ │ ├── toolbar_move_horizontal_pressed.png │ │ │ ├── toolbar_move_vertical_disabled.png │ │ │ ├── toolbar_move_vertical_focus@2x.png │ │ │ ├── toolbar_separator_horizontal@2x.png │ │ │ ├── checkbox_indeterminate_disabled@2x.png │ │ │ ├── checkbox_indeterminate_pressed@2x.png │ │ │ ├── toolbar_move_horizontal_disabled.png │ │ │ ├── toolbar_move_horizontal_focus@2x.png │ │ │ ├── toolbar_move_horizontal_pressed@2x.png │ │ │ ├── toolbar_move_vertical_disabled@2x.png │ │ │ ├── toolbar_move_vertical_pressed@2x.png │ │ │ ├── toolbar_separator_horizontal_focus.png │ │ │ ├── toolbar_separator_vertical_focus.png │ │ │ ├── toolbar_separator_vertical_pressed.png │ │ │ ├── toolbar_move_horizontal_disabled@2x.png │ │ │ ├── toolbar_separator_horizontal_pressed.png │ │ │ ├── toolbar_separator_vertical_disabled.png │ │ │ ├── toolbar_separator_vertical_focus@2x.png │ │ │ ├── toolbar_separator_horizontal_disabled.png │ │ │ ├── toolbar_separator_horizontal_focus@2x.png │ │ │ ├── toolbar_separator_horizontal_pressed@2x.png │ │ │ ├── toolbar_separator_vertical_disabled@2x.png │ │ │ ├── toolbar_separator_vertical_pressed@2x.png │ │ │ └── toolbar_separator_horizontal_disabled@2x.png │ ├── dark.h │ ├── dark.cpp │ └── CMakeLists.txt ├── .clang-format ├── OpenThinning │ ├── README.md │ ├── LookupTables │ │ ├── Thinning_Simple.bin │ │ ├── Thinning_MedialAxis.bin │ │ └── Thinning_MedialSurface.bin │ ├── CMakeLists.txt │ ├── itkMedialAxisImageFilter.hxx │ ├── License.txt │ └── itkMedialAxisImageFilter.h ├── FastGrowCut │ ├── .clang-tidy │ ├── CMakeLists.txt │ ├── README.txt │ └── .clang-format ├── .clang-tidy ├── VTK │ ├── GUISupport │ │ ├── Qt │ │ │ ├── README │ │ │ ├── PluginInstall.cmake.in │ │ │ ├── CMakeLists.txt │ │ │ └── QVTKWin32Header.h │ │ └── CMakeLists.txt │ └── .clang-format ├── CMakeLists.txt ├── GDCM │ ├── vtkGDCMApi.h │ ├── CMakeLists.txt │ └── .clang-format ├── GeometricPredicates │ ├── predicates.h │ └── CMakeLists.txt └── Gc │ ├── System │ └── Algo │ │ └── Basic.h │ └── Math │ └── Constant.h ├── iSeg ├── images │ ├── Bias.png │ ├── edge.png │ ├── help.png │ ├── lock.png │ ├── next.png │ ├── olc.png │ ├── redo.png │ ├── swap.png │ ├── undo.png │ ├── contour.png │ ├── feature.png │ ├── filenew.png │ ├── fuzzy.png │ ├── growing.png │ ├── histo.png │ ├── iftrg.png │ ├── lock1.png │ ├── picker.png │ ├── splash.png │ ├── unzoom.png │ ├── vessel.png │ ├── vssver2.scc │ ├── zoomin.png │ ├── zoomout.png │ ├── LevelSet.png │ ├── fileopen.png │ ├── filesave.png │ ├── graphcut.png │ ├── isegicon.png │ ├── previous.png │ ├── smoothing.png │ ├── transform.png │ ├── watershed.png │ ├── Confidence.png │ ├── folderlock1.png │ ├── folderlock2.png │ ├── interpolate.png │ ├── isegicon16.ico │ ├── isegicon32.ico │ ├── isegicon64.icns │ ├── isegicon64.ico │ ├── measurement.png │ ├── morphology.png │ ├── thresholding.png │ ├── icon-contrast.png │ ├── isegicon-multi.ico │ └── icon-brightness.png ├── vtkCustomOutputWindow.cpp ├── Precompiled.cpp ├── iSeg.rc ├── Project.cpp ├── Atlas.cpp ├── StdStringToQString.h ├── ChannelExtractor.h ├── Atlas.h ├── SelectColorButton.h ├── Settings.h ├── vtkCustomOutputWindow.h ├── UndoConfigurationDialog.h ├── Precompiled.h ├── ActiveSlicesConfigDialog.h ├── TissueCleaner.h ├── UserDir.h ├── LogTable.h ├── SelectColorButton.cpp ├── AvwReader.h └── images.qrc ├── Plugins ├── KalmanFilterTracing │ ├── KalmanFilterRootTracer_UserGuide.pdf │ ├── TracingPlugin.cpp │ ├── TracingPlugin.h │ └── CMakeLists.txt ├── TracingTubularStructures │ ├── testsuite │ │ ├── test_TraceTubesWidgetMain.cpp │ │ └── CMakeLists.txt │ ├── TracingPlugin.cpp │ ├── CMakeLists.txt │ └── TracingPlugin.h ├── CMakeLists.txt ├── Levelset │ ├── LevelsetPlugin.cpp │ ├── LevelsetPlugin.h │ └── CMakeLists.txt ├── ConfidenceConnected │ ├── ConfidencePlugin.h │ ├── ConfidencePlugin.cpp │ └── CMakeLists.txt ├── BiasCorrection │ ├── BiasCorrectionPlugin.h │ ├── BiasCorrectionPlugin.cpp │ └── CMakeLists.txt └── GraphCut │ ├── GraphCutPlugin.h │ └── CMakeLists.txt ├── docker ├── vscode_dot_devcontainer │ ├── code-remote-container.sh │ └── devcontainer.json ├── build.sh ├── docker-compose.yml └── Dockerfile ├── Core ├── Precompiled.cpp ├── InitializeITKFactory.h ├── Precompiled.h ├── RGB.h ├── Pair.h ├── testsuite │ ├── test_iSegCoreMain.cpp │ └── CMakeLists.txt ├── HDF5Blosc.h ├── LoadPlugin.h ├── BranchItem.cpp ├── ProjectVersion.h ├── SmoothTissues.h ├── ProjectVersion.cpp ├── RTDoseReader.h ├── VotingReplaceLabel.h ├── Log.h ├── iSegCore.h ├── HDF5Blosc.cpp ├── fillcontour.h ├── ColorLookupTable.h ├── SmoothSteps.h ├── FeatureExtractor.h ├── MultidimensionalGamma.h ├── IndexPriorityQueue.h ├── UndoQueue.h ├── VoxelSurface.h └── PolyLines.h ├── CMake ├── CMakeSetProperty.cmake ├── ThirdPartyEigen.cmake ├── InstallAllUsedLibraries.cmake ├── ThirdPartyBlosc.cmake ├── ThirdPartyHDF5.cmake ├── vtkDependentOption.cmake └── GetGitRevisionDescription.cmake.in ├── .gitignore ├── config.h.in ├── Interface ├── iSegInterface.h ├── WidgetInterface.cpp ├── QtConnect.h ├── Plugin.cpp ├── FormatTooltip.h ├── CMakeLists.txt ├── CollapsibleWidget.h ├── RecentPlaces.h ├── ProgressDialog.h ├── Plugin.h └── QSliderEditableRange.h ├── .clang-tidy ├── Build ├── commands.txt ├── bootstrapThirdpartiesMacOS.sh └── bootstrapThirdpartiesUbuntu.sh ├── LICENSE └── TestRunner └── CMakeLists.txt /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @ITISFoundation/iseg-dev-team 2 | -------------------------------------------------------------------------------- /Data/ImageToITK.cpp: -------------------------------------------------------------------------------- 1 | #include "ImageToITK.h" 2 | -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/.keep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Thirdparty/.clang-format: -------------------------------------------------------------------------------- 1 | DisableFormat: true 2 | -------------------------------------------------------------------------------- /Data/Logger.cpp: -------------------------------------------------------------------------------- 1 | #include "Logger.h" 2 | 3 | namespace iseg { 4 | 5 | } // namespace iseg -------------------------------------------------------------------------------- /iSeg/images/Bias.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/Bias.png -------------------------------------------------------------------------------- /iSeg/images/edge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/edge.png -------------------------------------------------------------------------------- /iSeg/images/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/help.png -------------------------------------------------------------------------------- /iSeg/images/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/lock.png -------------------------------------------------------------------------------- /iSeg/images/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/next.png -------------------------------------------------------------------------------- /iSeg/images/olc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/olc.png -------------------------------------------------------------------------------- /iSeg/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/redo.png -------------------------------------------------------------------------------- /iSeg/images/swap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/swap.png -------------------------------------------------------------------------------- /iSeg/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/undo.png -------------------------------------------------------------------------------- /iSeg/images/contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/contour.png -------------------------------------------------------------------------------- /iSeg/images/feature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/feature.png -------------------------------------------------------------------------------- /iSeg/images/filenew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/filenew.png -------------------------------------------------------------------------------- /iSeg/images/fuzzy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/fuzzy.png -------------------------------------------------------------------------------- /iSeg/images/growing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/growing.png -------------------------------------------------------------------------------- /iSeg/images/histo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/histo.png -------------------------------------------------------------------------------- /iSeg/images/iftrg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/iftrg.png -------------------------------------------------------------------------------- /iSeg/images/lock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/lock1.png -------------------------------------------------------------------------------- /iSeg/images/picker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/picker.png -------------------------------------------------------------------------------- /iSeg/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/splash.png -------------------------------------------------------------------------------- /iSeg/images/unzoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/unzoom.png -------------------------------------------------------------------------------- /iSeg/images/vessel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/vessel.png -------------------------------------------------------------------------------- /iSeg/images/vssver2.scc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/vssver2.scc -------------------------------------------------------------------------------- /iSeg/images/zoomin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/zoomin.png -------------------------------------------------------------------------------- /iSeg/images/zoomout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/zoomout.png -------------------------------------------------------------------------------- /iSeg/images/LevelSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/LevelSet.png -------------------------------------------------------------------------------- /iSeg/images/fileopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/fileopen.png -------------------------------------------------------------------------------- /iSeg/images/filesave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/filesave.png -------------------------------------------------------------------------------- /iSeg/images/graphcut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/graphcut.png -------------------------------------------------------------------------------- /iSeg/images/isegicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/isegicon.png -------------------------------------------------------------------------------- /iSeg/images/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/previous.png -------------------------------------------------------------------------------- /iSeg/images/smoothing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/smoothing.png -------------------------------------------------------------------------------- /iSeg/images/transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/transform.png -------------------------------------------------------------------------------- /iSeg/images/watershed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/watershed.png -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/README.md: -------------------------------------------------------------------------------- 1 | # OpenThinning 2 | 3 | Fast 3D Thinning based on Local Neighborhood Lookups 4 | -------------------------------------------------------------------------------- /iSeg/images/Confidence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/Confidence.png -------------------------------------------------------------------------------- /iSeg/images/folderlock1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/folderlock1.png -------------------------------------------------------------------------------- /iSeg/images/folderlock2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/folderlock2.png -------------------------------------------------------------------------------- /iSeg/images/interpolate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/interpolate.png -------------------------------------------------------------------------------- /iSeg/images/isegicon16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/isegicon16.ico -------------------------------------------------------------------------------- /iSeg/images/isegicon32.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/isegicon32.ico -------------------------------------------------------------------------------- /iSeg/images/isegicon64.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/isegicon64.icns -------------------------------------------------------------------------------- /iSeg/images/isegicon64.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/isegicon64.ico -------------------------------------------------------------------------------- /iSeg/images/measurement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/measurement.png -------------------------------------------------------------------------------- /iSeg/images/morphology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/morphology.png -------------------------------------------------------------------------------- /iSeg/images/thresholding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/thresholding.png -------------------------------------------------------------------------------- /iSeg/images/icon-contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/icon-contrast.png -------------------------------------------------------------------------------- /iSeg/images/isegicon-multi.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/isegicon-multi.ico -------------------------------------------------------------------------------- /iSeg/images/icon-brightness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/iSeg/images/icon-brightness.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock@2x.png -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/LookupTables/Thinning_Simple.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/OpenThinning/LookupTables/Thinning_Simple.bin -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock_focus.png -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/LookupTables/Thinning_MedialAxis.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/OpenThinning/LookupTables/Thinning_MedialAxis.bin -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_up_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/base_icon_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/base_icon_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock_pressed.png -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/LookupTables/Thinning_MedialSurface.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/OpenThinning/LookupTables/Thinning_MedialSurface.bin -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_down_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_left_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/arrow_right_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_end_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_end_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_line_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_line_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_more_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_more_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_open_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_open_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/transparent_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/transparent_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_close_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_close_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_grip_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_grip_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock_pressed@2x.png -------------------------------------------------------------------------------- /Plugins/KalmanFilterTracing/KalmanFilterRootTracer_UserGuide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Plugins/KalmanFilterTracing/KalmanFilterRootTracer_UserGuide.pdf -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/branch_closed_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_vertical_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_checked_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_undock_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_undock_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_checked_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/line_horizontal_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/radio_unchecked_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/window_minimize_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_unchecked_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/checkbox_indeterminate_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_vertical_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_focus.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_move_horizontal_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_pressed.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/FastGrowCut/.clang-tidy: -------------------------------------------------------------------------------- 1 | HeaderFilterRegex: '*.x' 2 | FormatStyle: 'file' 3 | Checks: '-*,modernize-*' 4 | CheckOptions: 5 | - key: modernize-use-default-member-init.UseAssignment 6 | value: 'true' 7 | -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_disabled.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_focus@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_focus@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_disabled@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_vertical_pressed@2x.png -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ITISFoundation/osparc-iseg/HEAD/Thirdparty/QDarkStyleSheet/dark/rc/toolbar_separator_horizontal_disabled@2x.png -------------------------------------------------------------------------------- /docker/vscode_dot_devcontainer/code-remote-container.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | dir="${ISEG_ROOT}" 4 | hex=`printf ${dir} | od -A n -t x1 | tr -d '[\n\t ]'` 5 | code --folder-uri="vscode-remote://dev-container%2B${hex}/data/osparc-iseg" -------------------------------------------------------------------------------- /Thirdparty/.clang-tidy: -------------------------------------------------------------------------------- 1 | HeaderFilterRegex: '*.x' 2 | FormatStyle: 'file' 3 | Checks: '-*,misc-definitions-in-headers,modernize-use-default-member-init' 4 | CheckOptions: 5 | - key: modernize-use-default-member-init.UseAssignment 6 | value: 'true' 7 | -------------------------------------------------------------------------------- /Thirdparty/VTK/GUISupport/Qt/README: -------------------------------------------------------------------------------- 1 | 2 | There are no restrictions for using this Qt code in any project. 3 | To make changes to this code requires Qt 4.5.0 as this was the first 4 | version of Qt to be covered under the more liberal LGPL license. 5 | 6 | -------------------------------------------------------------------------------- /Thirdparty/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(VTK/GUISupport) 2 | ADD_SUBDIRECTORY(GDCM) 3 | ADD_SUBDIRECTORY(GeometricPredicates) 4 | ADD_SUBDIRECTORY(OpenThinning) 5 | ADD_SUBDIRECTORY(QDarkStyleSheet) 6 | 7 | IF(PLUGIN_GRAPHCUT) 8 | ADD_SUBDIRECTORY(Gc) 9 | ENDIF() -------------------------------------------------------------------------------- /iSeg/vtkCustomOutputWindow.cpp: -------------------------------------------------------------------------------- 1 | #include "vtkCustomOutputWindow.h" 2 | 3 | #include "Data/Logger.h" 4 | 5 | #include 6 | 7 | vtkStandardNewMacro(vtkCustomOutputWindow); 8 | 9 | void vtkCustomOutputWindow::DisplayText(const char* msg) 10 | { 11 | ISEG_WARNING_MSG(msg); 12 | } 13 | -------------------------------------------------------------------------------- /Core/Precompiled.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | -------------------------------------------------------------------------------- /Thirdparty/FastGrowCut/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | #project(FastGrowCut) 2 | 3 | USE_VTK() 4 | 5 | set(FASTGROWCUT_SRCS 6 | FibHeap.cxx 7 | FibHeap.h 8 | vtkImageGrowCutSegment.cxx 9 | vtkImageGrowCutSegment.h 10 | ) 11 | 12 | add_library(FastGrowCut ${FASTGROWCUT_SRCS}) 13 | target_link_libraries(FastGrowCut ${MY_EXTERNAL_LINK_LIBRARIES}) 14 | VS_SET_PROPERTY(FastGrowCut Thirdparty) -------------------------------------------------------------------------------- /iSeg/Precompiled.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | -------------------------------------------------------------------------------- /iSeg/iSeg.rc: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | IDI_ICON1 ICON DISCARDABLE "images/isegicon-multi.ico" -------------------------------------------------------------------------------- /CMake/CMakeSetProperty.cmake: -------------------------------------------------------------------------------- 1 | # Macro to provide add a target to a filter in VS. Has no effect for other compilers: 2 | # 3 | # VS_SET_PROPERTY (TargetName FolderName) 4 | # 5 | SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) 6 | 7 | MACRO(VS_SET_PROPERTY targetname foldername) 8 | IF(MSVC) 9 | SET_PROPERTY(TARGET ${targetname} PROPERTY FOLDER ${foldername}) 10 | ENDIF(MSVC) 11 | ENDMACRO(VS_SET_PROPERTY) 12 | 13 | 14 | -------------------------------------------------------------------------------- /Core/InitializeITKFactory.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | namespace iseg { 13 | 14 | void initializeITKFactory(); 15 | } 16 | -------------------------------------------------------------------------------- /Core/Precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Data/Logger.h" 13 | 14 | #include 15 | 16 | #include 17 | -------------------------------------------------------------------------------- /Core/RGB.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | namespace iseg { 13 | 14 | struct RGB 15 | { 16 | float r, g, b; // NOLINT 17 | }; 18 | 19 | } // namespace iseg 20 | -------------------------------------------------------------------------------- /Data/testsuite/test_DataMain.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #define BOOST_TEST_MODULE Data 11 | #define BOOST_TEST_NO_MAIN 12 | #include 13 | 14 | #include "../iSegData.h" 15 | -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | class QApplication; 13 | 14 | namespace dark { 15 | 16 | void setStyleSheet(QApplication *app); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /Core/Pair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | namespace iseg { 13 | 14 | struct Pair 15 | { 16 | float low; // NOLINT 17 | float high; // NOLINT 18 | }; 19 | 20 | } // namespace iseg 21 | -------------------------------------------------------------------------------- /Core/testsuite/test_iSegCoreMain.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #define BOOST_TEST_MODULE iSegCore 11 | #define BOOST_TEST_NO_MAIN 12 | #include 13 | 14 | #include "../iSegCore.h" 15 | -------------------------------------------------------------------------------- /Plugins/TracingTubularStructures/testsuite/test_TraceTubesWidgetMain.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #define BOOST_TEST_MODULE TraceTubesWidget 11 | #define BOOST_TEST_NO_MAIN 12 | #include 13 | -------------------------------------------------------------------------------- /iSeg/Project.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | 12 | #include "Project.h" 13 | 14 | #include 15 | 16 | namespace iseg { 17 | 18 | Project::Project() = default; 19 | 20 | } // namespace iseg -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | *.ipch 14 | *.bin 15 | 16 | # Compiled Dynamic libraries 17 | *.so 18 | *.dylib 19 | *.dll 20 | 21 | # Fortran module files 22 | *.mod 23 | *.smod 24 | 25 | # Compiled Static libraries 26 | *.lai 27 | *.la 28 | *.a 29 | *.lib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | .DS_Store 36 | 37 | # vscode 38 | .vscode 39 | .devcontainer 40 | 41 | # data 42 | assets/ -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | IF(MSVC) 3 | FOREACH(c ${CMAKE_CONFIGURATION_TYPES}) 4 | FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/LookupTables 5 | DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${c}) 6 | ENDFOREACH() 7 | ELSE() 8 | if(NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/LookupTables) 9 | MESSAGE(WARNING "Could not find ${CMAKE_CURRENT_SOURCE_DIR}/LookupTables") 10 | ELSE() 11 | FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/LookupTables 12 | DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) 13 | ENDIF() 14 | ENDIF() 15 | -------------------------------------------------------------------------------- /Core/HDF5Blosc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #pragma once 12 | 13 | #include "iSegCore.h" 14 | 15 | namespace iseg { 16 | 17 | ISEG_CORE_API bool BloscEnabled(); 18 | ISEG_CORE_API void SetBloscEnabled(bool on); 19 | 20 | } // namespace iseg 21 | -------------------------------------------------------------------------------- /config.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #pragma once 12 | 13 | /* 14 | * This config file has been automatically generated. Do not modify. 15 | */ 16 | 17 | #define ISEG_VERSION @ISEG_VERSION@ 18 | #define ISEG_DESCRIPTION @ISEG_DESCRIPTION@ 19 | -------------------------------------------------------------------------------- /Data/addLine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegData.h" 13 | 14 | #include "Point.h" 15 | 16 | #include 17 | 18 | namespace iseg { 19 | 20 | ISEG_DATA_API void addLine(std::vector* vP, Point p1, Point p2); 21 | } 22 | -------------------------------------------------------------------------------- /Thirdparty/GDCM/vtkGDCMApi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #if defined(WIN32) 13 | #if defined(vtkGDCM_EXPORTS) 14 | #define vtkGDCM_API __declspec(dllexport) 15 | #else 16 | #define vtkGDCM_API __declspec(dllimport) 17 | #endif 18 | #else 19 | #define vtkGDCM_API 20 | #endif 21 | -------------------------------------------------------------------------------- /iSeg/Atlas.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | 12 | #include "Atlas.h" 13 | 14 | #include 15 | 16 | namespace iseg { 17 | 18 | Atlas::Atlas() 19 | { 20 | for (int i = 0; i < maxnr; i++) 21 | m_MAtlasfilename[i] = ""; 22 | m_MAtlasdir = QDir(""); 23 | } 24 | 25 | } // namespace iseg 26 | -------------------------------------------------------------------------------- /Plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2018 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | SUBDIR_LIST(subdirs ${CMAKE_CURRENT_SOURCE_DIR}) 11 | 12 | INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/iSeg) 13 | 14 | USE_QT4() 15 | USE_ITK() 16 | 17 | SET(PLUGIN_NAMES "" CACHE INTERNAL "") 18 | 19 | FOREACH(dir ${subdirs}) 20 | ADD_SUBDIRECTORY(${dir}) 21 | ENDFOREACH() 22 | -------------------------------------------------------------------------------- /Thirdparty/GeometricPredicates/predicates.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #ifndef SHEWCHUK_PREDICATES_H 11 | #define SHEWCHUK_PREDICATES_H 12 | 13 | double exactinit(); 14 | double getepsilon(); 15 | double orient2d(double *pa, double *pb, double *pc); 16 | double orient3d(double *pa, double *pb, double *pc, double *pd); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /Interface/iSegInterface.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #if defined(WIN32) 13 | # ifdef iSegInterface_EXPORTS 14 | # define ISEG_INTERFACE_API __declspec(dllexport) 15 | # else 16 | # define ISEG_INTERFACE_API __declspec(dllimport) 17 | # endif 18 | #else 19 | # define ISEG_INTERFACE_API 20 | #endif 21 | 22 | #include "QtConnect.h" -------------------------------------------------------------------------------- /Core/LoadPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include 15 | 16 | namespace iseg { namespace plugin { 17 | 18 | ISEG_CORE_API bool LoadPlugin(const std::string& plugin_file_path); 19 | 20 | ISEG_CORE_API bool LoadPlugins(const std::string& directory_path); 21 | }} // namespace iseg::plugin 22 | -------------------------------------------------------------------------------- /iSeg/StdStringToQString.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | #include 14 | 15 | namespace iseg { 16 | inline QString ToQ(const std::string& str) 17 | { 18 | return QString::fromStdString(str); 19 | } 20 | 21 | inline std::string ToStd(const QString& str) 22 | { 23 | return str.toStdString(); 24 | } 25 | } // namespace iseg -------------------------------------------------------------------------------- /docker/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # http://redsymbol.net/articles/unofficial-bash-strict-mode/ 4 | set -euo pipefail 5 | IFS=$'\n\t' 6 | 7 | mkdir -p ${BUILD_DIR} 8 | pushd ${BUILD_DIR} 9 | 10 | cmake -H. \ 11 | -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ 12 | -DBOOST_ROOT=/usr \ 13 | -DHDF5_ROOT=/usr \ 14 | -DVTK_DIR=`ls -d -1 /data/deps/vtk/lib/cmake/vtk*` \ 15 | -DITK_DIR=`ls -d -1 /data/deps/itk/lib/cmake/ITK*` \ 16 | -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4 \ 17 | -Wdev \ 18 | /data/osparc-iseg 19 | 20 | make -j 21 | 22 | cp /data/deps/vtk/lib/*.* ${BUILD_DIR}/bin 23 | cp -r /data/deps/itk/lib/*.* ${BUILD_DIR}/bin 24 | 25 | popd -------------------------------------------------------------------------------- /Interface/WidgetInterface.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "WidgetInterface.h" 11 | 12 | #include 13 | 14 | namespace iseg { 15 | 16 | bool WidgetInterface::hideparams = false; 17 | 18 | WidgetInterface::WidgetInterface(QWidget* parent) 19 | : QWidget(parent) 20 | { 21 | m_MCursor = new QCursor(Qt::CrossCursor); 22 | } 23 | 24 | } // namespace iseg 25 | -------------------------------------------------------------------------------- /Thirdparty/VTK/GUISupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2018 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | INCLUDE(${CMAKE_SOURCE_DIR}/CMake/vtkDependentOption.cmake) 11 | 12 | # I think this option is not needed anymore 13 | VTK_DEPENDENT_OPTION(VTK_USE_QVTK_QTOPENGL "Use QtOpenGL in QVTK" OFF 14 | "VTK_USE_QVTK" OFF) 15 | MARK_AS_ADVANCED(VTK_USE_QVTK_QTOPENGL) 16 | 17 | SUBDIRS(Qt) 18 | 19 | -------------------------------------------------------------------------------- /Core/BranchItem.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | 12 | #include "BranchItem.h" 13 | 14 | namespace iseg { 15 | 16 | std::vector BranchItem::availablelabels(0); 17 | 18 | void BranchItem::InitAvailablelabels() 19 | { 20 | availablelabels.clear(); 21 | for (unsigned i = 60000; i > 0; i--) 22 | availablelabels.push_back(i); 23 | } 24 | 25 | } // namespace iseg 26 | -------------------------------------------------------------------------------- /Core/ProjectVersion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | /// Common definitions for iSeg project. 15 | namespace iseg { 16 | 17 | ISEG_CORE_API int CombineTissuesVersion(const int version, const int tissuesVersion); 18 | 19 | ISEG_CORE_API void ExtractTissuesVersion(const int combinedVersion, int& version, int& tissuesVersion); 20 | 21 | } // namespace iseg 22 | -------------------------------------------------------------------------------- /Data/ProgressInfo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegData.h" 13 | 14 | namespace iseg { 15 | 16 | class ISEG_DATA_API ProgressInfo 17 | { 18 | public: 19 | virtual void SetNumberOfSteps(int N) {} 20 | 21 | virtual void Increment() {} 22 | 23 | virtual void SetValue(int /* percent */) {} 24 | 25 | virtual bool WasCanceled() const { return false; } 26 | }; 27 | 28 | } // namespace iseg 29 | -------------------------------------------------------------------------------- /iSeg/ChannelExtractor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #pragma once 12 | 13 | // BL TODO replace by ImageReader 14 | namespace iseg { namespace ChannelExtractor { 15 | 16 | enum eChannelEnum { kRed, 17 | kGreen, 18 | kBlue, 19 | kAlpha }; 20 | 21 | bool getSlice(const char* filename, float* slice, int channel, unsigned slicenr, unsigned width, unsigned height); 22 | 23 | }} // namespace iseg::ChannelExtractor 24 | -------------------------------------------------------------------------------- /Interface/QtConnect.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | #define QObject_connect(sender, sig, receiver, slot) \ 15 | { \ 16 | bool ok_ = QObject::connect(sender, sig, receiver, slot); \ 17 | assert(ok_); \ 18 | } 19 | 20 | #define QObject_disconnect(sender, sig, receiver, slot) \ 21 | { \ 22 | bool ok_ = QObject::disconnect(sender, sig, receiver, slot); \ 23 | assert(ok_); \ 24 | } 25 | -------------------------------------------------------------------------------- /Plugins/KalmanFilterTracing/TracingPlugin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "TracingPlugin.h" 11 | 12 | #include "AutoTubePanel.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | namespace { 17 | PanelAutoTracingPlugin register_addon3; 18 | } // namespace 19 | 20 | iseg::WidgetInterface* PanelAutoTracingPlugin::CreateWidget() const 21 | { 22 | return new AutoTubePanel(SliceHandler()); 23 | } 24 | }} // namespace iseg::plugin 25 | -------------------------------------------------------------------------------- /Thirdparty/VTK/GUISupport/Qt/PluginInstall.cmake.in: -------------------------------------------------------------------------------- 1 | # Configured file and directory locations. 2 | SET(VTK_LIB_DIR "@LIBRARY_OUTPUT_PATH@") 3 | SET(VTK_INSTALL_QT_DIR "@VTK_INSTALL_QT_DIR@") 4 | SET(VTK_INSTALL_QT_PLUGIN_DIR "@VTK_INSTALL_QT_PLUGIN_DIR@") 5 | SET(VTK_INSTALL_QT_PLUGIN_FILE "@CMAKE_SHARED_LIBRARY_PREFIX@QVTKWidgetPlugin@CMAKE_SHARED_LIBRARY_SUFFIX@") 6 | SET(VTK_CONFIGURATIONS "@CMAKE_CONFIGURATION_TYPES@") 7 | 8 | IF(VTK_CONFIGURATIONS) 9 | SET(VTK_LIBSUBDIR "/${BUILD_TYPE}") 10 | ENDIF(VTK_CONFIGURATIONS) 11 | 12 | # Install the file to the specified location. 13 | FILE(INSTALL DESTINATION "${VTK_INSTALL_QT_PLUGIN_DIR}" TYPE SHARED_LIBRARY 14 | FILES "${VTK_LIB_DIR}${VTK_LIBSUBDIR}/${VTK_INSTALL_QT_PLUGIN_FILE}") 15 | -------------------------------------------------------------------------------- /iSeg/Atlas.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | #include 14 | 15 | #include 16 | 17 | namespace iseg { 18 | 19 | class Atlas 20 | { 21 | public: 22 | Atlas(); 23 | static const int maxnr = 20; 24 | QString m_MAtlasfilename[maxnr]; 25 | QDir m_MAtlasdir; 26 | std::array m_Atlasnr{}; 27 | QAction* m_Separator; 28 | int m_Nratlases; 29 | }; 30 | 31 | } // namespace iseg 32 | -------------------------------------------------------------------------------- /Core/SmoothTissues.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include "../Data/Types.h" 15 | 16 | #include 17 | 18 | namespace iseg { 19 | 20 | class SlicesHandlerInterface; 21 | class ProgressInfo; 22 | 23 | ISEG_CORE_API bool SmoothTissues(SlicesHandlerInterface* handler, size_t start_slice, size_t end_slice, double sigma, bool smooth3d, ProgressInfo* progress = nullptr); 24 | 25 | } // namespace iseg 26 | -------------------------------------------------------------------------------- /Core/ProjectVersion.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | 12 | #include "ProjectVersion.h" 13 | 14 | int iseg::CombineTissuesVersion(const int version, const int tissuesVersion) 15 | { 16 | return (tissuesVersion << 8) + version; 17 | } 18 | 19 | void iseg::ExtractTissuesVersion(const int combinedVersion, int& version, int& tissuesVersion) 20 | { 21 | tissuesVersion = combinedVersion >> 8; 22 | version = combinedVersion & 0xFF; 23 | } 24 | -------------------------------------------------------------------------------- /Core/RTDoseReader.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | namespace iseg { 15 | 16 | class ISEG_CORE_API RTDoseReader 17 | { 18 | public: 19 | RTDoseReader(); 20 | ~RTDoseReader() = default; 21 | 22 | static bool ReadSizeData(const char* filename, unsigned int* dims, double* spacing, double* origin, double* dc); 23 | static bool ReadPixelData(const char* filename, float** bits); 24 | }; 25 | 26 | } // namespace iseg 27 | -------------------------------------------------------------------------------- /Thirdparty/GDCM/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | 11 | FILE(GLOB HEADERS *.h) 12 | SET(SOURCES 13 | vtkGDCMImageReader.cxx 14 | vtkGDCMImageWriter.cxx 15 | vtkGDCMMedicalImageProperties.cxx 16 | vtkLookupTable16.cxx 17 | vtkMyGDCMPolyDataReader.cxx 18 | ) 19 | 20 | USE_VTK() 21 | USE_ITK() # for gdcm 22 | 23 | ADD_LIBRARY(vtkGDCM ${SOURCES} ${HEADERS}) 24 | TARGET_LINK_LIBRARIES(vtkGDCM ${MY_EXTERNAL_LINK_LIBRARIES}) 25 | VS_SET_PROPERTY(vtkGDCM Thirdparty) -------------------------------------------------------------------------------- /Thirdparty/GeometricPredicates/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | 11 | # Turn off optimization for predicates.cxx 12 | IF(MSVC) 13 | SET_SOURCE_FILES_PROPERTIES(predicates.cxx PROPERTIES COMPILE_FLAGS "/Od") 14 | ELSE() 15 | SET_SOURCE_FILES_PROPERTIES(predicates.cxx PROPERTIES COMPILE_FLAGS "-O0") 16 | ENDIF() 17 | 18 | ADD_LIBRARY(predicates STATIC predicates.cpp predicates.h) 19 | TARGET_LINK_LIBRARIES(predicates) 20 | VS_SET_PROPERTY(predicates Thirdparty) 21 | -------------------------------------------------------------------------------- /Plugins/TracingTubularStructures/testsuite/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | IF(ISEG_BUILD_TESTING) 11 | USE_BOOST() 12 | USE_ITK() 13 | 14 | FILE(GLOB HEADERS *.h) 15 | SET(SOURCES 16 | test_TraceTubesWidgetMain.cpp 17 | 18 | test_Metric.cpp 19 | ) 20 | 21 | ADD_TESTSUITE(TestSuite_TraceTubesWidget ${SOURCES} ${HEADERS}) 22 | TARGET_LINK_LIBRARIES(TestSuite_TraceTubesWidget 23 | iSegData 24 | ${MY_EXTERNAL_LINK_LIBRARIES} 25 | ) 26 | ENDIF() 27 | -------------------------------------------------------------------------------- /Thirdparty/FastGrowCut/README.txt: -------------------------------------------------------------------------------- 1 | Slicer, or 3D Slicer, is a free, open source software package for visualization and 2 | image analysis. 3 | 4 | 3D Slicer is natively designed to be available on multiple platforms, 5 | including Windows, Linux and macOS. 6 | 7 | Build instructions for all platforms are available on the Slicer wiki: 8 | 9 | https://slicer.readthedocs.io/en/latest/developer_guide/build_instructions/index.html 10 | 11 | For Slicer community announcements and support, visit: 12 | 13 | https://discourse.slicer.org 14 | 15 | For documentation, tutorials, and more information, please see: 16 | 17 | http://www.slicer.org 18 | 19 | See License.txt for information on using and contributing. 20 | -------------------------------------------------------------------------------- /Core/VotingReplaceLabel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include "../Data/Types.h" 15 | 16 | #include 17 | 18 | namespace iseg { 19 | 20 | class SlicesHandlerInterface; 21 | 22 | ISEG_CORE_API size_t VotingReplaceLabel(SlicesHandlerInterface* handler, tissues_size_t foreground, tissues_size_t background, std::array iradius, unsigned int majority_threshold, unsigned int max_iterations); 23 | 24 | } // namespace iseg 25 | -------------------------------------------------------------------------------- /Interface/Plugin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #include "Plugin.h" 12 | 13 | namespace iseg { namespace plugin { 14 | 15 | namespace { 16 | std::vector addons; 17 | } 18 | 19 | std::vector PluginRegistry::RegisteredPlugins() { return addons; } 20 | 21 | Plugin::Plugin() { addons.push_back(this); } 22 | 23 | 24 | 25 | void Plugin::InstallSliceHandler(SlicesHandlerInterface* slice_handler) 26 | { 27 | m_SliceHandler = slice_handler; 28 | } 29 | 30 | }} // namespace iseg::plugin 31 | -------------------------------------------------------------------------------- /Data/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | ADD_SUBDIRECTORY(testsuite) 11 | 12 | USE_ITK() 13 | USE_BOOST() 14 | 15 | FILE(GLOB HEADERS *.h) 16 | SET(SOURCES 17 | addLine.cpp 18 | BrushInteraction.cpp 19 | Color.cpp 20 | ImageToITK.cpp 21 | ItkProgressObserver.cpp 22 | LogApi.cpp 23 | Property.cpp 24 | SlicesHandlerITKInterface.cpp 25 | Transform.cpp 26 | ) 27 | 28 | ADD_LIBRARY(iSegData ${SOURCES} ${HEADERS}) 29 | TARGET_LINK_LIBRARIES(iSegData PRIVATE 30 | ${MY_EXTERNAL_LINK_LIBRARIES} 31 | ) 32 | -------------------------------------------------------------------------------- /Plugins/Levelset/LevelsetPlugin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "LevelsetPlugin.h" 11 | 12 | #include "LevelsetWidget.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | namespace { 17 | LevelsetPlugin register_addon; 18 | } 19 | 20 | LevelsetPlugin::LevelsetPlugin() = default; 21 | 22 | LevelsetPlugin::~LevelsetPlugin() = default; 23 | 24 | WidgetInterface* LevelsetPlugin::CreateWidget() const 25 | { 26 | return new LevelsetWidget(SliceHandler()); 27 | } 28 | 29 | }} // namespace iseg::plugin 30 | -------------------------------------------------------------------------------- /Plugins/Levelset/LevelsetPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Interface/Plugin.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | class LevelsetPlugin : public Plugin 17 | { 18 | public: 19 | LevelsetPlugin(); 20 | ~LevelsetPlugin(); 21 | 22 | std::string Name() const override { return "Levelset"; } 23 | std::string Description() const override { return "LevelSet Plugin"; } 24 | WidgetInterface* CreateWidget() const override; 25 | }; 26 | }} // namespace iseg::plugin 27 | -------------------------------------------------------------------------------- /Plugins/ConfidenceConnected/ConfidencePlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Interface/Plugin.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | class ConfidencePlugin : public Plugin 17 | { 18 | public: 19 | ConfidencePlugin(); 20 | ~ConfidencePlugin(); 21 | 22 | std::string Name() const override { return "Example Addon 1"; } 23 | std::string Description() const override { return "Hello World"; } 24 | WidgetInterface* CreateWidget() const override; 25 | }; 26 | }} // namespace iseg::plugin 27 | -------------------------------------------------------------------------------- /Thirdparty/GDCM/.clang-format: -------------------------------------------------------------------------------- 1 | # Note: if you change any of the settings here, please reformat the entire 2 | # codebase as part of the same commit, that will prevent subsequent commits 3 | # from being flagged as being improperly formatted. 4 | 5 | --- 6 | # This configuration requires clang-format 8.0 or higher. 7 | BasedOnStyle: Mozilla 8 | AlignAfterOpenBracket: DontAlign 9 | AlignOperands: false 10 | AlwaysBreakAfterReturnType: None 11 | AlwaysBreakAfterDefinitionReturnType: None 12 | BreakBeforeBraces: Allman 13 | BinPackArguments: true 14 | BinPackParameters: true 15 | ColumnLimit: 100 16 | SpaceAfterTemplateKeyword: true 17 | Standard: Cpp11 18 | StatementMacros: 19 | - vtkAbstractTypeMacro 20 | - vtkTypeMacro 21 | - vtkBaseTypeMacro 22 | - vtkAbstractTemplateTypeMacro 23 | - vtkAbstractTypeMacroWithNewInstanceType 24 | ... 25 | -------------------------------------------------------------------------------- /Thirdparty/VTK/.clang-format: -------------------------------------------------------------------------------- 1 | # Note: if you change any of the settings here, please reformat the entire 2 | # codebase as part of the same commit, that will prevent subsequent commits 3 | # from being flagged as being improperly formatted. 4 | 5 | --- 6 | # This configuration requires clang-format 8.0 or higher. 7 | BasedOnStyle: Mozilla 8 | AlignAfterOpenBracket: DontAlign 9 | AlignOperands: false 10 | AlwaysBreakAfterReturnType: None 11 | AlwaysBreakAfterDefinitionReturnType: None 12 | BreakBeforeBraces: Allman 13 | BinPackArguments: true 14 | BinPackParameters: true 15 | ColumnLimit: 100 16 | SpaceAfterTemplateKeyword: true 17 | Standard: Cpp11 18 | StatementMacros: 19 | - vtkAbstractTypeMacro 20 | - vtkTypeMacro 21 | - vtkBaseTypeMacro 22 | - vtkAbstractTemplateTypeMacro 23 | - vtkAbstractTypeMacroWithNewInstanceType 24 | ... 25 | -------------------------------------------------------------------------------- /Interface/FormatTooltip.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include 11 | 12 | #pragma once 13 | 14 | inline QString Format(const char* tooltip) 15 | { 16 | QString fmt = "\n"; 17 | fmt += "
" + QString(tooltip) + "
"; 18 | fmt += ""; 19 | return fmt; 20 | } 21 | inline QString Format(const std::string& tooltip) 22 | { 23 | QString fmt = "\n"; 24 | fmt += "
" + QString::fromStdString(tooltip) + "
"; 25 | fmt += ""; 26 | return fmt; 27 | } 28 | -------------------------------------------------------------------------------- /Plugins/BiasCorrection/BiasCorrectionPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Interface/Plugin.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | class BiasCorrectionPlugin : public Plugin 17 | { 18 | public: 19 | BiasCorrectionPlugin(); 20 | ~BiasCorrectionPlugin(); 21 | 22 | std::string Name() const override { return "Bias Addon "; } 23 | std::string Description() const override { return "Bias Plugin"; } 24 | WidgetInterface* CreateWidget() const override; 25 | }; 26 | }} // namespace iseg::plugin 27 | -------------------------------------------------------------------------------- /Core/Log.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #pragma once 12 | 13 | #include "iSegCore.h" 14 | 15 | #include 16 | #include 17 | 18 | namespace iseg { 19 | 20 | static std::ofstream flog; 21 | 22 | ISEG_CORE_API void quit(const std::string& msg = "", const int code = EXIT_SUCCESS); 23 | ISEG_CORE_API void error(const std::string& msg = "", const int code = EXIT_FAILURE); 24 | ISEG_CORE_API void warning(const std::string& msg); 25 | ISEG_CORE_API bool interceptOutput(const std::string& logname); 26 | 27 | } // namespace iseg 28 | -------------------------------------------------------------------------------- /Core/testsuite/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | IF(ISEG_BUILD_TESTING) 11 | USE_BOOST() 12 | USE_HDF5() 13 | USE_ITK() 14 | 15 | FILE(GLOB HEADERS *.h) 16 | SET(SOURCES 17 | test_iSegCoreMain.cpp 18 | 19 | test_ConnectedInterpolation.cpp 20 | test_HDF5IO.cpp 21 | test_ImageIO.cpp 22 | test_BinaryThinning.cpp 23 | ) 24 | 25 | ADD_TESTSUITE(TestSuite_iSegCore ${SOURCES} ${HEADERS}) 26 | TARGET_LINK_LIBRARIES(TestSuite_iSegCore 27 | iSegData 28 | iSegCore 29 | ${MY_EXTERNAL_LINK_LIBRARIES} 30 | ) 31 | ENDIF() 32 | -------------------------------------------------------------------------------- /Data/SharedPtr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | /** Helper macro which creates smart pointer types of a given type. 15 | */ 16 | #define ISEG_DECL_TYPE_PTR(T) \ 17 | using T##_ptr = std::shared_ptr; \ 18 | using T##_cptr = std::shared_ptr; \ 19 | using T##_wptr = std::weak_ptr; \ 20 | using T##_cwptr = std::weak_ptr; 21 | 22 | #define ISEG_DECL_CLASS_PTR(classT) \ 23 | class classT; \ 24 | ISEG_DECL_TYPE_PTR(classT) 25 | -------------------------------------------------------------------------------- /Plugins/ConfidenceConnected/ConfidencePlugin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "ConfidencePlugin.h" 11 | 12 | #include "ConfidenceWidget.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | namespace { 17 | ConfidencePlugin register_addon; 18 | } 19 | 20 | ConfidencePlugin::ConfidencePlugin() = default; 21 | 22 | ConfidencePlugin::~ConfidencePlugin() = default; 23 | 24 | WidgetInterface* ConfidencePlugin::CreateWidget() const 25 | { 26 | return new ConfidenceWidget(SliceHandler()); 27 | } 28 | 29 | }} // namespace iseg::plugin 30 | -------------------------------------------------------------------------------- /Thirdparty/FastGrowCut/.clang-format: -------------------------------------------------------------------------------- 1 | # Note: if you change any of the settings here, please reformat the entire 2 | # codebase as part of the same commit, that will prevent subsequent commits 3 | # from being flagged as being improperly formatted. 4 | 5 | --- 6 | # This configuration requires clang-format 8.0 or higher. 7 | BasedOnStyle: Mozilla 8 | AlignAfterOpenBracket: DontAlign 9 | AlignOperands: false 10 | AlwaysBreakAfterReturnType: None 11 | AlwaysBreakAfterDefinitionReturnType: None 12 | BreakBeforeBraces: Allman 13 | BinPackArguments: true 14 | BinPackParameters: true 15 | ColumnLimit: 100 16 | SpaceAfterTemplateKeyword: true 17 | Standard: Cpp11 18 | StatementMacros: 19 | - vtkAbstractTypeMacro 20 | - vtkTypeMacro 21 | - vtkBaseTypeMacro 22 | - vtkAbstractTemplateTypeMacro 23 | - vtkAbstractTypeMacroWithNewInstanceType 24 | ... 25 | -------------------------------------------------------------------------------- /Data/testsuite/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | IF(ISEG_BUILD_TESTING) 11 | USE_BOOST() 12 | USE_ITK() 13 | 14 | FILE(GLOB HEADERS *.h) 15 | SET(SOURCES 16 | test_DataMain.cpp 17 | 18 | test_Brush.cpp 19 | test_Logging.cpp 20 | test_iSegImageAdaptor.cpp 21 | #test_SuperPixel.cpp 22 | test_Properties.cpp 23 | test_Transform.cpp 24 | ) 25 | 26 | ADD_TESTSUITE(TestSuite_iSegData ${SOURCES} ${HEADERS}) 27 | TARGET_LINK_LIBRARIES(TestSuite_iSegData 28 | iSegData 29 | ${MY_EXTERNAL_LINK_LIBRARIES} 30 | ) 31 | ENDIF() 32 | -------------------------------------------------------------------------------- /.clang-tidy: -------------------------------------------------------------------------------- 1 | HeaderFilterRegex: '*.h *.cuh' 2 | FormatStyle: 'file' 3 | Checks: '-*,readability-identifier-naming,readability-misleading-indentation,readability-non-const-parameter,modernize-use-default-member-init' 4 | CheckOptions: 5 | - key: readability-identifier-naming.AggressiveDependentMemberLookup 6 | value: 'true' 7 | - key: readability-identifier-naming.MethodCase 8 | value: 'CamelCase' 9 | - key: readability-identifier-naming.GlobalVariableCase 10 | value: 'lower_case' 11 | - key: readability-identifier-naming.StaticVariableCase 12 | value: 'lower_case' 13 | - key: readability-identifier-naming.GlobalPointerCase 14 | value: 'lower_case' 15 | - key: readability-identifier-naming.LocalVariableCase 16 | value: 'lower_case' 17 | - key: modernize-use-default-member-init.UseAssignment 18 | value: 'true' 19 | 20 | -------------------------------------------------------------------------------- /CMake/ThirdPartyEigen.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Define how to use third party, i.e. 3 | # - include directory 4 | # - library 5 | # - preprocessor definitions needed by package 6 | # 7 | 8 | MACRO(USE_EIGEN) 9 | FIND_PACKAGE (Eigen3 3.3 REQUIRED QUIET NO_MODULE) 10 | IF (Eigen3_FOUND) 11 | LIST( APPEND MY_EXTERNAL_LINK_LIBRARIES Eigen3::Eigen ) 12 | ELSE() 13 | FIND_PATH(EIGEN_INCLUDE_DIR NAMES Eigen/Dense Eigen/Dense PATHS /usr/local/include/eigen3) 14 | INCLUDE_DIRECTORIES( ${EIGEN_INCLUDE_DIR} ) 15 | ENDIF() 16 | ENDMACRO() 17 | 18 | # tell Eigen to use MKL BLAS, LAPACK and Intel VML (for vector operations) 19 | # note: you should link to ${MKL_LIBRARIES} 20 | MACRO(USE_EIGEN_MKL) 21 | USE_EIGEN() 22 | 23 | ADD_DEFINITIONS(-DEIGEN_USE_MKL_ALL) 24 | IF(MSVC) 25 | ADD_DEFINITIONS("/wd4244") # conversions int <-> int64 26 | ENDIF() 27 | USE_MKL() 28 | ENDMACRO() 29 | -------------------------------------------------------------------------------- /Plugins/BiasCorrection/BiasCorrectionPlugin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "BiasCorrectionPlugin.h" 11 | 12 | #include "BiasCorrection.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | namespace { 17 | BiasCorrectionPlugin register_addon; 18 | } 19 | 20 | BiasCorrectionPlugin::BiasCorrectionPlugin() = default; 21 | 22 | BiasCorrectionPlugin::~BiasCorrectionPlugin() = default; 23 | 24 | WidgetInterface* BiasCorrectionPlugin::CreateWidget() const 25 | { 26 | return new BiasCorrectionWidget(SliceHandler()); 27 | } 28 | 29 | }} // namespace iseg::plugin 30 | -------------------------------------------------------------------------------- /iSeg/SelectColorButton.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | #include 14 | 15 | namespace iseg { 16 | 17 | class SelectColorButton : public QPushButton 18 | { 19 | Q_OBJECT 20 | public: 21 | SelectColorButton(QWidget* parent); 22 | 23 | void SetColor(const QColor& color); 24 | const QColor& GetColor(); 25 | 26 | signals: 27 | void OnColorChanged(QColor color); 28 | 29 | private slots: 30 | void UpdateColor(); 31 | void ChangeColor(); 32 | 33 | private: 34 | QColor m_Color; 35 | }; 36 | 37 | } // namespace iseg 38 | -------------------------------------------------------------------------------- /Core/iSegCore.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #if defined(WIN32) 13 | # if defined(iSegCore_EXPORTS) 14 | # define ISEG_CORE_API __declspec(dllexport) 15 | # else 16 | # define ISEG_CORE_API __declspec(dllimport) 17 | # endif 18 | #else 19 | # define ISEG_CORE_API 20 | #endif 21 | 22 | #if defined(iSegCore_EXPORTS) 23 | # define iSegCore_TEMPLATE 24 | #else 25 | # define iSegCore_TEMPLATE extern 26 | #endif 27 | 28 | #if defined(WIN32) 29 | // Disable needs to have dll-interface to be used by clients warning 30 | # pragma warning(disable : 4251) 31 | #endif 32 | -------------------------------------------------------------------------------- /Data/iSegData.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #if defined(WIN32) 13 | # if defined(iSegData_EXPORTS) 14 | # define ISEG_DATA_API __declspec(dllexport) 15 | # else 16 | # define ISEG_DATA_API __declspec(dllimport) 17 | # endif 18 | #else 19 | # define ISEG_DATA_API 20 | #endif 21 | 22 | #if defined(iSegData_EXPORTS) 23 | # define iSegData_TEMPLATE 24 | #else 25 | # define iSegData_TEMPLATE extern 26 | #endif 27 | 28 | #if defined(WIN32) 29 | // Disable needs to have dll-interface to be used by clients warning 30 | # pragma warning(disable : 4251) 31 | #endif 32 | -------------------------------------------------------------------------------- /Plugins/KalmanFilterTracing/TracingPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Interface/Plugin.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | class PanelAutoTracingPlugin : public Plugin 17 | { 18 | public: 19 | PanelAutoTracingPlugin() = default; 20 | ~PanelAutoTracingPlugin() = default; 21 | std::string Name() const override { return "Panel AutoTracing Plugin "; } 22 | 23 | std::string Description() const override { return "Panel AutoTracing Plugin"; } 24 | 25 | WidgetInterface* CreateWidget() const override; 26 | }; 27 | 28 | }} // namespace iseg::plugin 29 | -------------------------------------------------------------------------------- /Core/HDF5Blosc.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | 12 | #include "HDF5Blosc.h" 13 | 14 | #include "../Data/Logger.h" 15 | 16 | namespace iseg { 17 | 18 | #ifdef USE_HDF5_BLOSC 19 | bool _blosc_enabled = true; 20 | #else 21 | bool blosc_enabled = false; 22 | #endif 23 | 24 | bool BloscEnabled() 25 | { 26 | return blosc_enabled; 27 | } 28 | 29 | void SetBloscEnabled(bool on) 30 | { 31 | #ifdef USE_HDF5_BLOSC 32 | _blosc_enabled = on; 33 | #else 34 | ISEG_WARNING("Trying to activate Blosc filter, but iSEG was not built with Blosc support."); 35 | #endif 36 | } 37 | 38 | } // namespace iseg 39 | -------------------------------------------------------------------------------- /iSeg/Settings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #ifndef SETTINGS_H 11 | #define SETTINGS_H 12 | 13 | #include 14 | 15 | namespace Ui { 16 | class Settings; 17 | } 18 | 19 | namespace iseg { 20 | 21 | class MainWindow; 22 | 23 | class Settings : public QDialog 24 | { 25 | Q_OBJECT 26 | 27 | public: 28 | explicit Settings(QWidget* parent = nullptr); 29 | ~Settings() override; 30 | 31 | public slots: 32 | void accept() override; 33 | void reject() override; 34 | 35 | private: 36 | Ui::Settings* m_Ui; 37 | MainWindow* m_MainWindow; 38 | }; 39 | 40 | } // namespace iseg 41 | 42 | #endif // SETTINGS_H 43 | -------------------------------------------------------------------------------- /Plugins/TracingTubularStructures/TracingPlugin.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "TracingPlugin.h" 11 | 12 | #include "AutoTubeWidget.h" 13 | #include "TraceTubesWidget.h" 14 | 15 | namespace iseg { namespace plugin { 16 | 17 | namespace { 18 | TracingPlugin register_addon; 19 | AutoTracingPlugin register_addon2; 20 | } // namespace 21 | 22 | iseg::WidgetInterface* TracingPlugin::CreateWidget() const 23 | { 24 | return new TraceTubesWidget(SliceHandler()); 25 | } 26 | 27 | iseg::WidgetInterface* AutoTracingPlugin::CreateWidget() const 28 | { 29 | return new AutoTubeWidget(SliceHandler()); 30 | } 31 | 32 | }} // namespace iseg::plugin 33 | -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/dark.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "dark.h" 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include 18 | 19 | namespace dark { 20 | 21 | void setStyleSheet(QApplication *app) { 22 | QDir app_dir(app->applicationDirPath()); 23 | QFile theme(app_dir.absoluteFilePath("dark/style.qss")); 24 | if (theme.open(QFile::ReadOnly | QFile::Text)) 25 | { 26 | QTextStream themeStream(&theme); 27 | app->setStyleSheet(themeStream.readAll()); 28 | } 29 | else 30 | { 31 | assert(false && "style shee not loaded"); 32 | } 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /Plugins/BiasCorrection/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | OPTION(PLUGIN_BIAS "Build MRI bias correction plugin" ON) 11 | IF(PLUGIN_BIAS) 12 | QT4_WRAP_CPP(MOCSrcs BiasCorrection.h) 13 | 14 | FILE(GLOB PLUGIN_HEADERS *.h) 15 | ADD_LIBRARY(BiasCorrection.ext SHARED 16 | BiasCorrectionPlugin.cpp 17 | BiasCorrection.cpp 18 | ${PLUGIN_HEADERS} 19 | ${MOCSrcs} 20 | ) 21 | 22 | TARGET_LINK_LIBRARIES( BiasCorrection.ext PRIVATE 23 | iSegData 24 | iSegInterface 25 | ${MY_EXTERNAL_LINK_LIBRARIES} 26 | ) 27 | VS_SET_PROPERTY(BiasCorrection.ext "Plugins") 28 | 29 | SET(PLUGIN_NAMES ${PLUGIN_NAMES};BiasCorrection.ext CACHE INTERNAL "") 30 | ENDIF() -------------------------------------------------------------------------------- /Core/fillcontour.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | namespace iseg { namespace fillcontours { 15 | 16 | ISEG_CORE_API bool pointinpoly(float* pt, unsigned int cnt, float* polypts); 17 | ISEG_CORE_API int whichquad(float* pt, float* orig); 18 | ISEG_CORE_API bool is_hole(float** points, unsigned int* nrpoints, unsigned int nrcontours, unsigned int contournr); 19 | ISEG_CORE_API void fill_contour(bool* array, unsigned short* pixel_extents, float* origin, float* pixel_size, float* direction_cosines, float** points, unsigned int* nrpoints, unsigned int nrcontours, bool clockwisefill); 20 | 21 | }} // namespace iseg::fillcontours 22 | -------------------------------------------------------------------------------- /Plugins/ConfidenceConnected/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | OPTION(PLUGIN_CONFIDENCE "Build confidence connected segmentation plugin" ON) 11 | IF(PLUGIN_CONFIDENCE) 12 | QT4_WRAP_CPP(MOCSrcscon ConfidenceWidget.h) 13 | 14 | ADD_LIBRARY(Confidence.ext SHARED 15 | ConfidencePlugin.cpp 16 | ConfidencePlugin.h 17 | ConfidenceWidget.cpp 18 | ConfidenceWidget.h 19 | ${MOCSrcscon} 20 | ) 21 | 22 | TARGET_LINK_LIBRARIES( Confidence.ext PRIVATE 23 | iSegData 24 | iSegInterface 25 | ${MY_EXTERNAL_LINK_LIBRARIES} 26 | ) 27 | VS_SET_PROPERTY(Confidence.ext "Plugins") 28 | 29 | SET(PLUGIN_NAMES ${PLUGIN_NAMES};Confidence.ext CACHE INTERNAL "") 30 | ENDIF() -------------------------------------------------------------------------------- /Build/commands.txt: -------------------------------------------------------------------------------- 1 | ../../clazy/clazy/bin/clazy-standalone -checks=level0 --qt4-compat -p compile_commands.json ../src/Interface/WidgetInterface.cpp 2 | 3 | find /home/lloyd/src/iSeg/src/Data/ -iname *.h -o -iname *.cpp | xargs clang-format-10 -i -style=file 4 | 5 | find /home/lloyd/src/iSeg/src/Interface/ -iname *.cpp | xargs ../../clazy/clazy/bin/clazy-standalone -checks=level0 --qt4-compat -p compile_commands.json 6 | 7 | find /home/lloyd/src/iSeg/src/iSeg/ -iname *.cpp | xargs ../../clazy/clazy/bin/clazy-standalone -checks=level1,no-qt-macros,no-fully-qualified-moc-types,no-connect-by-name --qt4-compat -p compile_commands.json -extra-arg=-DEIGEN_DONT_PARALLELIZE 2> ../App.checks 8 | 9 | python3 ../run_clang_tidy.py -p ~/src/iSeg/build -header-filter=iSeg/ -checks='-*,modernize-use-override' /home/lloyd/src/iSeg/src/iSeg -fix 10 | 11 | Qt::WindowFlags wFlags = nullptr 12 | Qt::WindowFlags wFlags = Qt::Widget 13 | 14 | modernize-use-equals-delete 15 | 16 | readability-redundant-control-flow -------------------------------------------------------------------------------- /Interface/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | USE_QT4() 11 | USE_ITK() 12 | USE_BOOST() 13 | 14 | FILE(GLOB HEADERS *.h) 15 | SET(SOURCES 16 | CollapsibleWidget.cpp 17 | ProgressDialog.cpp 18 | PropertyWidget.cpp 19 | Plugin.cpp 20 | RecentPlaces.cpp 21 | QSliderEditableRange.cpp 22 | SplitterHandle.cpp 23 | WidgetInterface.cpp 24 | ) 25 | 26 | QT4_WRAP_CPP(MOCSrcs 27 | CollapsibleWidget.h 28 | ProgressDialog.h 29 | PropertyWidget.h 30 | QSliderEditableRange.h 31 | SplitterHandle.h 32 | WidgetInterface.h 33 | ) 34 | ADD_LIBRARY(iSegInterface SHARED ${SOURCES} ${HEADERS} ${MOCSrcs}) 35 | TARGET_LINK_LIBRARIES(iSegInterface PRIVATE 36 | iSegData 37 | ${MY_EXTERNAL_LINK_LIBRARIES} 38 | ) 39 | -------------------------------------------------------------------------------- /Core/ColorLookupTable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #pragma once 12 | 13 | #include "iSegCore.h" 14 | 15 | class vtkLookupTable; 16 | 17 | namespace iseg { 18 | 19 | class ISEG_CORE_API ColorLookupTable 20 | { 21 | public: 22 | ColorLookupTable(); 23 | ~ColorLookupTable(); 24 | 25 | void SetNumberOfColors(size_t N); 26 | size_t NumberOfColors() const; 27 | 28 | void SetColor(size_t idx, unsigned char rgb[3]); 29 | void GetColor(size_t idx, unsigned char rgb[3]) const; 30 | void GetColor(double v, unsigned char rgb[3]) const; 31 | void GetColor(double v, unsigned char& r, unsigned char& g, unsigned char& b) const; 32 | 33 | private: 34 | vtkLookupTable* m_Lut; 35 | }; 36 | } // namespace iseg 37 | -------------------------------------------------------------------------------- /iSeg/vtkCustomOutputWindow.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | // \brief Redirect VTK errors/warnings to file 15 | class vtkCustomOutputWindow : public vtkOutputWindow 16 | { 17 | public: 18 | static vtkCustomOutputWindow* New(); 19 | vtkTypeMacro(vtkCustomOutputWindow, vtkOutputWindow); 20 | void PrintSelf(ostream& os, vtkIndent indent) override {} 21 | 22 | // Put the text into the output stream. 23 | void DisplayText(const char* msg) override; 24 | 25 | protected: 26 | vtkCustomOutputWindow() = default; 27 | 28 | private: 29 | vtkCustomOutputWindow(const vtkCustomOutputWindow&) = delete; 30 | void operator=(const vtkCustomOutputWindow&) = delete; 31 | }; 32 | -------------------------------------------------------------------------------- /Plugins/Levelset/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | OPTION(PLUGIN_LEVELSET "Build levelset segmentation plugin" OFF) 11 | IF(PLUGIN_LEVELSET) 12 | USE_BOOST() 13 | INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/Thirdparty) 14 | 15 | QT4_WRAP_CPP(MOCSrcslevel LevelsetWidget.h) 16 | 17 | FILE(GLOB PLUGIN_HEADERS *.h) 18 | ADD_LIBRARY(Levelset.ext SHARED 19 | LevelsetPlugin.cpp 20 | LevelsetWidget.cpp 21 | ${PLUGIN_HEADERS} 22 | ${MOCSrcslevel} 23 | ) 24 | 25 | TARGET_LINK_LIBRARIES( Levelset.ext PRIVATE 26 | iSegData 27 | iSegInterface 28 | ${MY_EXTERNAL_LINK_LIBRARIES} 29 | ) 30 | VS_SET_PROPERTY(Levelset.ext "Plugins") 31 | 32 | SET(PLUGIN_NAMES ${PLUGIN_NAMES};Levelset.ext CACHE INTERNAL "") 33 | ENDIF() -------------------------------------------------------------------------------- /Thirdparty/VTK/GUISupport/Qt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | # set up sources to build 11 | SET(QVTKLibSrcs 12 | vtkEventQtSlotConnect.cxx 13 | vtkQtConnection.cxx 14 | QVTKPaintEngine.cxx 15 | QVTKWidget.cxx 16 | QVTKInteractorAdapter.cxx 17 | QVTKInteractor.cxx 18 | ) 19 | 20 | SET(QVTKMocHeaders 21 | QVTKInteractorAdapter.h 22 | QVTKInteractorInternal.h 23 | QVTKWidget.h 24 | vtkQtConnection.h 25 | ) 26 | 27 | FILE(GLOB HEADERS *.h) 28 | 29 | USE_QT4() 30 | USE_VTK() 31 | 32 | QT4_WRAP_CPP(QVTKLibMocSrcs ${QVTKMocHeaders}) 33 | 34 | ADD_LIBRARY(QVTK ${QVTKLibSrcs} ${QVTKLibMocSrcs} ${HEADERS}) 35 | TARGET_LINK_LIBRARIES( QVTK 36 | ${QT_LIBRARIES} 37 | ${VTK_LIBRARIES} 38 | ) 39 | VS_SET_PROPERTY(QVTK Thirdparty) 40 | 41 | -------------------------------------------------------------------------------- /iSeg/UndoConfigurationDialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "SlicesHandler.h" 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | namespace iseg { 20 | 21 | class UndoConfigurationDialog : public QDialog 22 | { 23 | Q_OBJECT 24 | public: 25 | UndoConfigurationDialog(SlicesHandler* hand3D, QWidget* parent = nullptr, Qt::WindowFlags wFlags = Qt::Widget); 26 | ~UndoConfigurationDialog() override; 27 | 28 | private: 29 | SlicesHandler* m_Handler3D; 30 | QCheckBox* m_CbUndo3D; 31 | QSpinBox* m_SbNrundo; 32 | QSpinBox* m_SbNrundoarrays; 33 | QPushButton* m_PbClose; 34 | 35 | private slots: 36 | void OkPressed(); 37 | }; 38 | 39 | } // namespace iseg 40 | -------------------------------------------------------------------------------- /iSeg/Precompiled.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Data/Logger.h" 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | #include 42 | -------------------------------------------------------------------------------- /iSeg/ActiveSlicesConfigDialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace iseg { 17 | 18 | class SlicesHandler; 19 | 20 | class ActiveSlicesConfigDialog : public QDialog 21 | { 22 | Q_OBJECT 23 | public: 24 | ActiveSlicesConfigDialog(SlicesHandler* hand3D, QWidget* parent = nullptr, Qt::WindowFlags wFlags = Qt::Widget); 25 | 26 | private: 27 | SlicesHandler* m_Handler3D; 28 | 29 | QSpinBox* m_SbStart; 30 | QSpinBox* m_SbEnd; 31 | QPushButton* m_PbClose; 32 | QPushButton* m_PbOk; 33 | 34 | private slots: 35 | void OkPressed(); 36 | void StartsliceChanged(int startslice1); 37 | void EndsliceChanged(int endslice1); 38 | }; 39 | 40 | } // namespace iseg 41 | -------------------------------------------------------------------------------- /Core/SmoothSteps.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include "Data/Types.h" 15 | 16 | namespace iseg { 17 | 18 | class ISEG_CORE_API SmoothSteps 19 | { 20 | public: 21 | SmoothSteps(); 22 | ~SmoothSteps(); 23 | void Dostepsmooth(tissues_size_t* line); 24 | void Init(float* mask1, unsigned short masklength1, unsigned short linelength1, tissues_size_t nrtissues1); 25 | void Init(unsigned short masklength1, unsigned short linelength1, tissues_size_t nrtissues1); 26 | 27 | private: 28 | float* m_Mask; 29 | unsigned short m_Masklength; 30 | unsigned short m_Linelength; 31 | tissues_size_t m_Nrtissues; 32 | float** m_Weights; 33 | void GenerateBinommask(); 34 | bool m_Ownmask; 35 | }; 36 | 37 | } // namespace iseg 38 | -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/itkMedialAxisImageFilter.hxx: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | 8 | namespace itk { 9 | 10 | template 11 | void MedialAxisImageFilter::GenerateData() 12 | { 13 | // load lookup table once 14 | static LookupTable lookupTable; 15 | static std::once_flag flag; 16 | 17 | std::call_once(flag, [&]() { 18 | namespace fs = boost::filesystem; 19 | boost::system::error_code ec; 20 | auto exe_path = boost::dll::program_location(ec); 21 | auto lut_path = exe_path.parent_path() / fs::path("LookupTables") / fs::path("Thinning_MedialAxis.bin"); 22 | if (fs::exists(lut_path, ec)) 23 | { 24 | lookupTable.readFile(lut_path.string()); 25 | } 26 | else 27 | { 28 | throw itk::ExceptionObject("", 0, "Could not load lookup table"); 29 | } 30 | }); 31 | 32 | Superclass::SetLookupTable(lookupTable); 33 | 34 | Superclass::GenerateData(); 35 | } 36 | 37 | } // namespace itk 38 | -------------------------------------------------------------------------------- /Data/ItkProgressObserver.cpp: -------------------------------------------------------------------------------- 1 | #include "ItkProgressObserver.h" 2 | 3 | #include "Logger.h" 4 | 5 | #include 6 | 7 | namespace iseg { 8 | 9 | void ItkProgressObserver::Execute(itk::Object* object, const itk::EventObject& event) 10 | { 11 | Execute((const itk::Object*)object, event); 12 | } 13 | 14 | void ItkProgressObserver::Execute(const itk::Object* object, const itk::EventObject& event) 15 | { 16 | if (!itk::ProgressEvent().CheckEvent(&event)) 17 | { 18 | return; 19 | } 20 | const auto* filter = dynamic_cast(object); 21 | if (!filter) 22 | { 23 | return; 24 | } 25 | 26 | // check if abort was requested 27 | if (m_ProgressInfo->WasCanceled()) 28 | { 29 | ISEG_WARNING("Process aborted"); 30 | 31 | auto filter_non_const = const_cast(filter); 32 | 33 | filter_non_const->AbortGenerateDataOn(); 34 | } 35 | else 36 | { 37 | // update progress 38 | int percent = static_cast(100.f * filter->GetProgress()); 39 | m_ProgressInfo->SetValue(percent); 40 | } 41 | } 42 | 43 | } // namespace iseg 44 | -------------------------------------------------------------------------------- /CMake/InstallAllUsedLibraries.cmake: -------------------------------------------------------------------------------- 1 | SET(INSTALL_ALL_THESE_LIBRARIES "" CACHE INTERNAL "Hack variable to collect the statically linked" ) 2 | 3 | FUNCTION( REMEMBER_TO_CALL_THIS_INSTALL_MACRO install_macro_name ) 4 | STRING( FIND ";${INSTALL_ALL_THESE_LIBRARIES};" ";${install_macro_name};" found_macro ) 5 | IF ( ${found_macro} EQUAL -1 ) 6 | SET(INSTALL_ALL_THESE_LIBRARIES ${INSTALL_ALL_THESE_LIBRARIES};${install_macro_name} CACHE INTERNAL "Hack variable to collect the statically linked" ) 7 | ENDIF() 8 | ENDFUNCTION() 9 | 10 | FUNCTION( INSTALL_ALL_USED_LIBRARIES ) 11 | MESSAGE(STATUS "Install all these third party libraries = ${INSTALL_ALL_THESE_LIBRARIES}") 12 | 13 | SET( INSTALL_FILE_NAME ${CMAKE_BINARY_DIR}/install_all_these_libraries.cmake ) 14 | FILE( WRITE ${INSTALL_FILE_NAME} "# Automatically generated file to install third party libs on demand\n" ) 15 | FOREACH(INSTALL_CMD ${INSTALL_ALL_THESE_LIBRARIES}) 16 | FILE( APPEND ${INSTALL_FILE_NAME} "${INSTALL_CMD}()\n" ) 17 | ENDFOREACH() 18 | INCLUDE( ${INSTALL_FILE_NAME} ) 19 | FILE( REMOVE ${INSTALL_FILE_NAME} ) 20 | ENDFUNCTION() 21 | -------------------------------------------------------------------------------- /Core/FeatureExtractor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include "Pair.h" 15 | 16 | #include "Data/Point.h" 17 | 18 | namespace iseg { 19 | 20 | class ISEG_CORE_API FeatureExtractor 21 | { 22 | public: 23 | void Init(float* bit, Point p1, Point p2, short unsigned w, short unsigned h); 24 | void SetBits(float* bit); 25 | void SetWindow(Point p1, Point p2); 26 | float ReturnAverage() const; 27 | float ReturnStddev(); 28 | void ReturnExtrema(Pair* p) const; 29 | 30 | private: 31 | float* m_Bits; 32 | short m_Xmin; 33 | short m_Xmax; 34 | short m_Ymin; 35 | short m_Ymax; 36 | float m_Valmin; 37 | float m_Valmax; 38 | float m_Average; 39 | short unsigned m_Width; 40 | short unsigned m_Height; 41 | unsigned m_Area; 42 | }; 43 | } // namespace iseg 44 | -------------------------------------------------------------------------------- /Interface/CollapsibleWidget.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegInterface.h" 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | class Spoiler : public QWidget 22 | { 23 | Q_OBJECT 24 | public: 25 | explicit Spoiler(const QString& title = "", const int animationDuration = 300, QWidget* parent = nullptr); 26 | void SetContentLayout(QLayout* contentLayout); 27 | 28 | private slots: 29 | void OnCollapse(bool checked); 30 | 31 | private: 32 | QGridLayout m_MainLayout; 33 | QToolButton m_ToggleButton; 34 | QFrame m_HeaderLine; 35 | QParallelAnimationGroup m_ToggleAnimation; 36 | QScrollArea m_ContentArea; 37 | int m_AnimationDuration{300}; 38 | }; -------------------------------------------------------------------------------- /Interface/RecentPlaces.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegInterface.h" 13 | 14 | #include 15 | 16 | #include 17 | 18 | class QWidget; 19 | 20 | namespace iseg { 21 | 22 | class ISEG_INTERFACE_API RecentPlaces 23 | { 24 | public: 25 | static QString GetOpenFileName(QWidget* parent = nullptr, const QString& caption = QString(), const QString& dir = QString(), const QString& filter = QString()); 26 | 27 | static QString GetSaveFileName(QWidget* parent = nullptr, const QString& caption = QString(), const QString& dir = QString(), const QString& filter = QString()); 28 | 29 | static void AddRecent(const QString& dir_or_file_path); 30 | 31 | static QString LastDirectory(); 32 | 33 | static std::deque RecentDirectories(); 34 | }; 35 | 36 | } // namespace iseg 37 | -------------------------------------------------------------------------------- /iSeg/TissueCleaner.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Data/Types.h" 13 | 14 | #include 15 | 16 | namespace iseg { 17 | 18 | class TissueCleaner 19 | { 20 | public: 21 | TissueCleaner(tissues_size_t** slices1, unsigned short n1, unsigned short width1, unsigned short height1); 22 | ~TissueCleaner(); 23 | bool Allocate(); 24 | void ConnectedComponents(); 25 | void Clean(float ratio, unsigned minsize); 26 | void MakeStat(); 27 | 28 | private: 29 | int BaseConnection(int c); 30 | std::vector m_Map; 31 | std::vector m_Tissuemap; 32 | std::vector m_Volumes; 33 | unsigned m_Totvolumes[TISSUES_SIZE_MAX + 1]; 34 | int* m_Volume; 35 | tissues_size_t** m_Slices; 36 | size_t m_Width, m_Height; 37 | size_t m_Nrslices; 38 | }; 39 | 40 | } // namespace iseg 41 | -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Tobias Post, Christina Gillmann, Thomas Wischgoll, Hans Hagen 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 The Foundation for Research on Information Technologies in Society (IT'IS) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Plugins/GraphCut/GraphCutPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Interface/Plugin.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | class GCBoneSegmentationPlugin : public Plugin 17 | { 18 | public: 19 | GCBoneSegmentationPlugin(); 20 | ~GCBoneSegmentationPlugin(); 21 | 22 | std::string Name() const override { return "CT Auto-Bone"; } 23 | std::string Description() const override; 24 | WidgetInterface* CreateWidget() const override; 25 | }; 26 | 27 | class GCTissueSeparatorPlugin : public Plugin 28 | { 29 | public: 30 | GCTissueSeparatorPlugin(); 31 | ~GCTissueSeparatorPlugin(); 32 | 33 | std::string Name() const override { return "Tissue Separator"; } 34 | std::string Description() const override; 35 | WidgetInterface* CreateWidget() const override; 36 | }; 37 | 38 | }} // namespace iseg::plugin 39 | -------------------------------------------------------------------------------- /Core/MultidimensionalGamma.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | namespace iseg { 15 | 16 | class ISEG_CORE_API MultidimensionalGamma 17 | { 18 | public: 19 | MultidimensionalGamma(); 20 | void Init(short unsigned w, short unsigned h, short nrclass, short dimension, float** bit, float* weight, float** centers1, float* tol_f1, float* tol_d1, float dx1, float dy1); 21 | void Execute(); 22 | void ReturnImage(float* result_bits); 23 | ~MultidimensionalGamma(); 24 | 25 | private: 26 | short* m_M; 27 | short m_Nrclasses; 28 | short m_Dim; 29 | float** m_Bits; 30 | float* m_Weights; 31 | float** m_Centers; 32 | float* m_TolF; 33 | float* m_TolD; 34 | float* m_Minvals; 35 | float m_Dx; 36 | float m_Dy; 37 | short unsigned m_Width; 38 | short unsigned m_Height; 39 | unsigned m_Area; 40 | }; 41 | 42 | } // namespace iseg 43 | -------------------------------------------------------------------------------- /Plugins/GraphCut/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | OPTION(PLUGIN_GRAPHCUT "build Graph Cut support" ON) 11 | IF(PLUGIN_GRAPHCUT) 12 | INCLUDE_DIRECTORIES( 13 | ${CMAKE_SOURCE_DIR}/Thirdparty/Gc 14 | ) 15 | 16 | USE_BOOST() 17 | 18 | QT4_WRAP_CPP(MOCSrcsext 19 | BoneSegmentationWidget.h 20 | TissueSeparatorWidget.h 21 | ) 22 | 23 | FILE(GLOB PLUGIN_HEADERS *h *.hxx) 24 | 25 | ADD_LIBRARY(GraphCut.ext SHARED 26 | GraphCutPlugin.cpp 27 | BoneSegmentationWidget.cpp 28 | TissueSeparatorWidget.cpp 29 | ${PLUGIN_HEADERS} 30 | ${MOCSrcsext}) 31 | 32 | # todo check libs in linker command 33 | TARGET_LINK_LIBRARIES( GraphCut.ext PRIVATE 34 | iSegData 35 | iSegInterface 36 | Gc 37 | ${MY_EXTERNAL_LINK_LIBRARIES} 38 | ) 39 | VS_SET_PROPERTY(GraphCut.ext "Plugins") 40 | 41 | SET(PLUGIN_NAMES ${PLUGIN_NAMES};GraphCut.ext CACHE INTERNAL "") 42 | ENDIF() 43 | -------------------------------------------------------------------------------- /Data/ItkProgressObserver.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegData.h" 13 | 14 | #include "ProgressInfo.h" 15 | 16 | #include 17 | #include 18 | 19 | namespace iseg { 20 | 21 | class ISEG_DATA_API ItkProgressObserver : public itk::Command 22 | { 23 | public: 24 | using Self = ItkProgressObserver; // NOLINT 25 | using Superclass = itk::Command; // NOLINT 26 | using Pointer = itk::SmartPointer; 27 | 28 | itkNewMacro(ItkProgressObserver); 29 | 30 | public: 31 | void SetProgressInfo(ProgressInfo* p) { m_ProgressInfo = p; } 32 | 33 | void Execute(itk::Object* caller, const itk::EventObject& event) override; 34 | void Execute(const itk::Object* object, const itk::EventObject& event) override; 35 | 36 | protected: 37 | ItkProgressObserver() = default; 38 | 39 | ProgressInfo* m_ProgressInfo = nullptr; 40 | }; 41 | 42 | } // namespace iseg 43 | -------------------------------------------------------------------------------- /Data/Types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | #define TISSUES_SIZE_TYPEDEF // TODO: Used to mark file IO where change of tissues size type still needs to be handled. 15 | 16 | namespace iseg { 17 | 18 | /* 19 | * Tissues size type 20 | */ 21 | #ifdef TISSUES_SIZE_TYPEDEF 22 | # define TISSUES_SIZE_MAX 65535 23 | using tissues_size_t = std::uint16_t; 24 | #else // TISSUES_SIZE_TYPEDEF 25 | # define TISSUES_SIZE_MAX 255 26 | using tissues_size_t = std::uint8_t; // Original tissues size type 27 | #endif // TISSUES_SIZE_TYPEDEF 28 | 29 | /* 30 | * Tissue layers size type 31 | */ 32 | #define TISSUELAYERS_SIZE_MAX 255 33 | using tissuelayers_size_t = std::uint8_t; 34 | 35 | enum eScaleMode { 36 | kArbitraryRange = 1, ///< assumes an arbitrary range 37 | kFixedRange = 2 ///< intensities are assumed to be in range [0,255] 38 | }; 39 | 40 | } // namespace iseg 41 | -------------------------------------------------------------------------------- /Interface/ProgressDialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegInterface.h" 13 | 14 | #include "../Data/ProgressInfo.h" 15 | 16 | #include 17 | 18 | #include 19 | 20 | class QWidget; 21 | class QProgressDialog; 22 | 23 | namespace iseg { 24 | 25 | class ISEG_INTERFACE_API ProgressDialog 26 | : public QObject 27 | , public ProgressInfo 28 | { 29 | Q_OBJECT 30 | public: 31 | ProgressDialog(const char* msg, QWidget* parent); 32 | 33 | void SetNumberOfSteps(int N) override; 34 | void Increment() override; 35 | bool WasCanceled() const override; 36 | void SetValue(int percent) override; 37 | 38 | signals: 39 | void OnValueChanged(int); 40 | 41 | private slots: 42 | void Cancel(); 43 | void UpdateValue(int); 44 | 45 | private: 46 | bool m_Canceled = false; 47 | QProgressDialog* m_Progress = nullptr; 48 | std::atomic m_Count; 49 | }; 50 | 51 | } // namespace iseg 52 | -------------------------------------------------------------------------------- /Build/bootstrapThirdpartiesMacOS.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # TODO: passing directory names as argument would help to sync script with .travis.yml 4 | 5 | # this is intentional, we want to install relative to calling directory, 6 | # not inside script directory. 7 | DEPS_DIR="${PWD}" 8 | 9 | # lets define some travis stuff, so this script can run wo travis locally 10 | `travis_retry` || alias travis_retry='' 11 | 12 | # install via brew 13 | which cmake || brew install cmake 14 | brew ls --versions boost || brew install boost 15 | brew ls --versions hdf5 || brew install hdf5 16 | brew ls --versions vtk || brew install vtk 17 | brew tap cartr/qt4 && brew tap-pin cartr/qt4 && (brew ls --versions qt@4 || brew install qt@4) 18 | 19 | # install from source (could not find ITK tap) 20 | ITK_URL="http://downloads.sourceforge.net/project/itk/itk/4.13/InsightToolkit-4.13.1.tar.gz" 21 | test -d itk/lib || ((test -d itk/src || mkdir -p itk/src) && travis_retry wget --no-check-certificate --quiet -O - ${ITK_URL} | tar --strip-components=1 -xz -C itk/src && mkdir -p itk/build && cd itk/build && cmake ../src -DCMAKE_INSTALL_PREFIX=$PWD/.. -DModule_ITKReview=ON -DCMAKE_RULE_MESSAGES=OFF && make -j4 && make install && cd ${DEPS_DIR}) 22 | -------------------------------------------------------------------------------- /Plugins/TracingTubularStructures/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | OPTION(PLUGIN_TRACE_TUBES "Build tubular structures tracing plugin" OFF) 11 | IF(PLUGIN_TRACE_TUBES) 12 | ADD_SUBDIRECTORY(testsuite) 13 | 14 | USE_BOOST() 15 | USE_VTK() 16 | USE_ITK() # for gdcm 17 | 18 | INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/Thirdparty) 19 | 20 | QT4_WRAP_CPP(MOCSrcs 21 | AutoTubeWidget.h 22 | TraceTubesWidget.h) 23 | 24 | FILE(GLOB PLUGIN_HEADERS *.h) 25 | 26 | ADD_LIBRARY(TraceTubesWidget.ext SHARED 27 | AutoTubeWidget.cpp 28 | TraceTubesWidget.cpp 29 | TracingPlugin.cpp 30 | ${PLUGIN_HEADERS} 31 | ${MOCSrcs} 32 | ) 33 | 34 | TARGET_LINK_LIBRARIES( TraceTubesWidget.ext PRIVATE 35 | iSegData 36 | iSegInterface 37 | ${MY_EXTERNAL_LINK_LIBRARIES} 38 | ) 39 | VS_SET_PROPERTY(TraceTubesWidget.ext "Plugins") 40 | 41 | SET(PLUGIN_NAMES ${PLUGIN_NAMES};TraceTubesWidget.ext CACHE INTERNAL "") 42 | ENDIF() 43 | -------------------------------------------------------------------------------- /Plugins/TracingTubularStructures/TracingPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Interface/Plugin.h" 13 | 14 | namespace iseg { namespace plugin { 15 | 16 | class TracingPlugin : public Plugin 17 | { 18 | public: 19 | TracingPlugin() = default; 20 | ~TracingPlugin() = default; 21 | 22 | std::string Name() const override { return "Tracing Plugin "; } 23 | 24 | std::string Description() const override { return "Tracing Plugin"; } 25 | 26 | WidgetInterface* CreateWidget() const override; 27 | }; 28 | 29 | class AutoTracingPlugin : public Plugin 30 | { 31 | public: 32 | AutoTracingPlugin() = default; 33 | ~AutoTracingPlugin() = default; 34 | 35 | std::string Name() const override { return "AutoTracing Plugin "; } 36 | 37 | std::string Description() const override { return "AutoTracing Plugin"; } 38 | 39 | WidgetInterface* CreateWidget() const override; 40 | }; 41 | 42 | }} // namespace iseg::plugin 43 | -------------------------------------------------------------------------------- /docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | services: 3 | build: 4 | image: ${BUILDKIT_IMAGE} 5 | volumes: &vol 6 | - ../:/data/osparc-iseg 7 | - /tmp/.X11-unix:/tmp/.X11-unix 8 | - iseg-build-volume:/data/build 9 | environment: &env 10 | - BUILD_DIR=/data/build/${BUILD_TYPE} 11 | - DISPLAY=${DISPLAY} 12 | - LD_LIBRARY_PATH=/data/build/${BUILD_TYPE}/bin 13 | - BUILD_TYPE=${BUILD_TYPE} 14 | command: 15 | - /bin/bash 16 | - -i 17 | - /data/osparc-iseg/docker/build.sh 18 | shell: 19 | image: ${BUILDKIT_IMAGE} 20 | ipc: host 21 | volumes: *vol 22 | environment: *env 23 | command: 24 | - /bin/bash 25 | run: 26 | image: ${BUILDKIT_IMAGE} 27 | ipc: host 28 | volumes: *vol 29 | environment: *env 30 | command: 31 | - /data/build/${BUILD_TYPE}/bin/iSeg 32 | # - -I 33 | # - /data/osparc-iseg/assets/segmentation.nii.gz 34 | vscode-container-iseg: 35 | image: ${BUILDKIT_IMAGE} 36 | ipc: host 37 | volumes: *vol 38 | environment: *env 39 | entrypoint: 40 | - /bin/bash 41 | stdin_open: true 42 | tty: true 43 | volumes: 44 | iseg-build-volume: 45 | name: iseg-build-volume -------------------------------------------------------------------------------- /Core/IndexPriorityQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | namespace iseg { 20 | 21 | class ISEG_CORE_API IndexPriorityQueue 22 | { 23 | public: 24 | IndexPriorityQueue(unsigned size2, float* valuemap1); 25 | unsigned Pop(); 26 | unsigned Size() const; 27 | void Insert(unsigned pos); 28 | void Insert(unsigned pos, float value); 29 | void Change(unsigned pos, float value); 30 | void MakeSmaller(unsigned pos, float value); 31 | void MakeLarger(unsigned pos, float value); 32 | void Remove(unsigned pos); 33 | void PrintQueue(); 34 | bool Empty() const; 35 | void Clear(); 36 | bool InQueue(unsigned pos); 37 | ~IndexPriorityQueue(); 38 | 39 | private: 40 | int* m_Indexmap; 41 | float* m_Valuemap; 42 | std::vector m_Q; 43 | unsigned m_L; 44 | unsigned m_Size1; 45 | }; 46 | } // namespace iseg 47 | -------------------------------------------------------------------------------- /Thirdparty/QDarkStyleSheet/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | #find_package(QT NAMES Qt4 COMPONENTS Widgets REQUIRED) 3 | #find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED) 4 | #set(CMAKE_AUTOMOC ON) 5 | #set(CMAKE_AUTORCC ON) 6 | USE_QT4() 7 | 8 | QT4_ADD_RESOURCES(RCCSrcs dark/style.qrc) 9 | 10 | add_library(QDarkStyleSheet OBJECT 11 | dark.cpp 12 | ${RCCSrcs} 13 | ${RESOURCE_FILES} 14 | ) 15 | 16 | target_include_directories( 17 | QDarkStyleSheet PUBLIC 18 | $ 19 | $ 20 | ) 21 | 22 | target_link_libraries( 23 | QDarkStyleSheet 24 | #Qt${QT_VERSION_MAJOR}::Widgets 25 | ${QT_LIBRARIES} 26 | ) 27 | 28 | # todo: implement as build event? 29 | if (APPLE) 30 | file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dark DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/iSeg.app/Contents/MacOS/) 31 | elseif(MSVC) 32 | foreach(BUILD_TYPE ${CMAKE_CONFIGURATION_TYPES}) 33 | string(TOLOWER ${BUILD_TYPE} bt) 34 | file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dark DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${bt}/) 35 | endforeach() 36 | else() 37 | file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/dark DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/) 38 | endif() 39 | 40 | vs_set_property(QDarkStyleSheet Thirdparty) 41 | -------------------------------------------------------------------------------- /Data/Signals.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegData.h" 13 | 14 | #ifndef Q_MOC_RUN 15 | # include 16 | #endif 17 | 18 | #include 19 | 20 | namespace iseg { 21 | 22 | template 23 | boost::signals2::connection Connect(S& signal, const boost::shared_ptr& slot_owner, F func) 24 | { 25 | return signal.connect(typename S::slot_type(std::move(func)).track(slot_owner)); 26 | } 27 | 28 | template 29 | boost::signals2::connection Connect(S& signal, const std::shared_ptr& slot_owner, F func) 30 | { 31 | return signal.connect(typename S::slot_type(std::move(func)).track_foreign(slot_owner)); 32 | } 33 | 34 | template 35 | boost::signals2::connection Connect(S& signal, const C& slot_owner, F func) 36 | { 37 | return signal.connect(typename S::slot_type(std::move(func)).track_foreign(slot_owner)); 38 | } 39 | 40 | } // namespace iseg 41 | -------------------------------------------------------------------------------- /Data/Point.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | namespace iseg { 15 | 16 | struct Point 17 | { 18 | short px, py; // NOLINT 19 | }; 20 | 21 | inline float dist2(Point* p) 22 | { 23 | return static_cast(p->px) * p->px + static_cast(p->py) * p->py; 24 | } 25 | inline float dist(Point* p) { return std::sqrt(dist2(p)); } 26 | inline float dist2_b(Point* p1, Point* p2) 27 | { 28 | return (float)((*p1).px - (*p2).px) * (float)((*p1).px - (*p2).px) + 29 | (float)((*p1).py - (*p2).py) * (float)((*p1).py - (*p2).py); 30 | } 31 | inline float dist_b(Point* p1, Point* p2) { return std::sqrt(dist2_b(p1, p2)); } 32 | inline float scalar(Point* p1, Point* p2) 33 | { 34 | return static_cast(p1->px) * p2->px + static_cast(p1->py) * p2->py; 35 | } 36 | inline float cross(Point* p1, Point* p2) 37 | { 38 | return std::abs(static_cast(p1->px) * p2->py - static_cast(p1->py) * p2->px); 39 | } 40 | 41 | } // namespace iseg 42 | -------------------------------------------------------------------------------- /TestRunner/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | IF(ISEG_BUILD_TESTING) 11 | USE_BOOST() 12 | 13 | ADD_EXECUTABLE(TestRunner TestRunner.cpp) 14 | TARGET_LINK_LIBRARIES(TestRunner ${CMAKE_DL_LIBS} ${MY_EXTERNAL_LINK_LIBRARIES}) 15 | VS_SET_PROPERTY(TestRunner "TestSuite") 16 | 17 | IF(MSVC) 18 | ADD_TEST(NAME TestSuite COMMAND TestRunner --log_level=message) 19 | ELSE() # worked on APPLE, not sure if MSVC (above) is any different 20 | ADD_TEST(NAME TestSuite 21 | COMMAND TestRunner --log_level=message 22 | WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) 23 | IF(NOT APPLE) 24 | SET(lib_paths $ENV{LD_LIBRARY_PATH}) 25 | FOREACH(p ${ITK_RUNTIME_LIBRARY_DIRS}) 26 | SET(lib_paths "${p}:${lib_paths}") 27 | ENDFOREACH() 28 | FOREACH(p ${VTK_RUNTIME_LIBRARY_DIRS}) 29 | SET(lib_paths "${p}:${lib_paths}") 30 | ENDFOREACH() 31 | SET_TESTS_PROPERTIES(TestSuite PROPERTIES 32 | ENVIRONMENT "LD_LIBRARY_PATH=${lib_paths}") 33 | ENDIF() 34 | ENDIF() 35 | ENDIF() -------------------------------------------------------------------------------- /Core/UndoQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include "UndoElem.h" 15 | 16 | namespace iseg { 17 | 18 | class ISEG_CORE_API UndoQueue 19 | { 20 | public: 21 | UndoQueue(); 22 | ~UndoQueue(); 23 | void AddUndo(UndoElem* ue); 24 | void MergeUndo(UndoElem* ue); 25 | bool AddUndo(MultiUndoElem* ue); 26 | UndoElem* Undo(); 27 | UndoElem* Redo(); 28 | void ClearUndo(); 29 | unsigned ReturnNrredo() const; 30 | unsigned ReturnNrundo() const; 31 | unsigned ReturnNrundoarraysmax() const; 32 | unsigned ReturnNrundomax() const; 33 | void SetNrundoarraysmax(unsigned nr); 34 | void SetNrundo(unsigned nr); 35 | void ReverseUndosliceorder(unsigned short nrslices); 36 | 37 | private: 38 | unsigned m_Nrundo; 39 | unsigned m_Nrundoarraysmax; 40 | void SubAddUndo(UndoElem* ue); 41 | unsigned m_Nrundoarrays; 42 | std::vector m_Undos; 43 | unsigned m_First; 44 | unsigned m_Nrnow; 45 | unsigned m_Nrin; 46 | }; 47 | 48 | } // namespace iseg 49 | -------------------------------------------------------------------------------- /Interface/Plugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegInterface.h" 13 | 14 | #include "WidgetInterface.h" 15 | 16 | #include "Data/SlicesHandlerInterface.h" 17 | 18 | #include 19 | #include 20 | 21 | namespace iseg { 22 | class SlicesHandlerInterface; 23 | } 24 | 25 | namespace iseg { namespace plugin { 26 | 27 | class ISEG_INTERFACE_API Plugin 28 | { 29 | public: 30 | Plugin(); 31 | ~Plugin() = default; 32 | 33 | void InstallSliceHandler(SlicesHandlerInterface* slice_handler); 34 | SlicesHandlerInterface* SliceHandler() const { return m_SliceHandler; } 35 | 36 | virtual std::string Name() const = 0; 37 | 38 | virtual std::string Description() const = 0; 39 | 40 | virtual WidgetInterface* CreateWidget() const = 0; 41 | 42 | private: 43 | SlicesHandlerInterface* m_SliceHandler; 44 | }; 45 | 46 | class ISEG_INTERFACE_API PluginRegistry 47 | { 48 | public: 49 | static std::vector RegisteredPlugins(); 50 | }; 51 | 52 | }} // namespace iseg::plugin 53 | -------------------------------------------------------------------------------- /iSeg/UserDir.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | namespace iseg { 15 | 16 | QDir TempDir() 17 | { 18 | QDir tmpdir = QDir::home(); 19 | if (!tmpdir.exists("iSeg")) 20 | { 21 | std::cerr << "iSeg folder does not exist, creating...\n"; 22 | if (!tmpdir.mkdir(QString("iSeg"))) 23 | { 24 | std::cerr << "failed to create iSeg folder, exiting...\n"; 25 | exit(EXIT_FAILURE); 26 | } 27 | } 28 | if (!tmpdir.cd("iSeg")) 29 | { 30 | std::cerr << "failed to enter iSeg folder, exiting...\n"; 31 | exit(EXIT_FAILURE); 32 | } 33 | 34 | if (!tmpdir.exists("tmp")) 35 | { 36 | std::cerr << "tmp folder does not exist, creating...\n"; 37 | if (!tmpdir.mkdir(QString("tmp"))) 38 | { 39 | std::cerr << "failed to create tmp folder, exiting...\n"; 40 | exit(EXIT_FAILURE); 41 | } 42 | } 43 | if (!tmpdir.cd("tmp")) 44 | { 45 | std::cerr << "failed to enter tmp folder, exiting...\n"; 46 | exit(EXIT_FAILURE); 47 | } 48 | return tmpdir; 49 | } 50 | } // namespace iseg -------------------------------------------------------------------------------- /Data/ScopeExit.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | 11 | #pragma once 12 | 13 | namespace iseg { 14 | 15 | /** This simple template class allows to execute arbitrary code when leaving a scope. 16 | 17 | \note Instances can only be moved, not copied. 18 | */ 19 | template 20 | struct ScopeExit 21 | { 22 | explicit ScopeExit(F f) 23 | : f(std::move(f)) 24 | , m_Empty(false) 25 | {} 26 | ~ScopeExit() 27 | { 28 | if (!m_Empty) 29 | f(); 30 | } 31 | 32 | F f; 33 | 34 | ScopeExit(ScopeExit && rhs) noexcept 35 | : f(std::move(rhs.f)) 36 | { 37 | rhs.m_Empty = true; 38 | m_Empty = false; 39 | } 40 | 41 | private: 42 | ScopeExit(const ScopeExit & rhs) = delete; 43 | void operator=(const ScopeExit & rhs) = delete; 44 | bool m_Empty; 45 | }; 46 | 47 | /// Creates 48 | template 49 | ScopeExit MakeScopeExit(F f) 50 | { 51 | return std::move(ScopeExit(std::move(f))); 52 | }; 53 | 54 | } // namespace iseg -------------------------------------------------------------------------------- /Core/VoxelSurface.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegCore.h" 13 | 14 | #include "Data/Transform.h" 15 | 16 | #include 17 | 18 | class vtkPolyData; // NOLINT 19 | 20 | namespace iseg { 21 | 22 | class Transform; 23 | 24 | class ISEG_CORE_API VoxelSurface 25 | { 26 | public: 27 | VoxelSurface(float fg = 255.f) : m_ForeGroundValue(fg) {} 28 | 29 | enum eSurfaceImageOverlap { 30 | kNone = 0, 31 | kContained = 1, 32 | kPartial = 2 33 | }; 34 | 35 | eSurfaceImageOverlap Voxelize(vtkPolyData* polydata, std::vector& all_slices, const unsigned dims[3], const Vec3& spacing, const Transform& transform, unsigned startslice, unsigned endslice) const; 36 | 37 | eSurfaceImageOverlap Intersect(vtkPolyData* surface, std::vector& all_slices, const unsigned dims[3], const Vec3& spacing, const Transform& transform, unsigned startslice, unsigned endslice, double relative_tolerance = 0.1) const; 38 | 39 | private: 40 | float m_ForeGroundValue; 41 | }; 42 | 43 | } // namespace iseg 44 | -------------------------------------------------------------------------------- /Thirdparty/VTK/GUISupport/Qt/QVTKWin32Header.h: -------------------------------------------------------------------------------- 1 | /*========================================================================= 2 | 3 | Program: Visualization Toolkit 4 | Module: QVTKWin32Header.h 5 | 6 | Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 7 | All rights reserved. 8 | See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 9 | 10 | This software is distributed WITHOUT ANY WARRANTY; without even 11 | the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 12 | PURPOSE. See the above copyright notice for more information. 13 | 14 | =========================================================================*/ 15 | /*------------------------------------------------------------------------- 16 | Copyright 2008 Sandia Corporation. 17 | Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 18 | the U.S. Government retains certain rights in this software. 19 | -------------------------------------------------------------------------*/ 20 | #ifndef __QVTKWin32Header_h 21 | #define __QVTKWin32Header_h 22 | 23 | #if defined(WIN32) 24 | #if defined(QVTK_EXPORTS) 25 | #define QVTK_EXPORT __declspec(dllexport) 26 | #else 27 | #define QVTK_EXPORT __declspec(dllimport) 28 | #endif 29 | #else 30 | #define QVTK_EXPORT 31 | #endif 32 | 33 | #endif /*__QVTKWin32Header_h*/ 34 | -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:18.04 2 | 3 | RUN apt-get update -y && \ 4 | apt-get install -y --no-install-recommends \ 5 | gcc \ 6 | gdb \ 7 | g++ \ 8 | libboost-chrono-dev \ 9 | libboost-date-time-dev \ 10 | libboost-filesystem-dev \ 11 | libboost-program-options-dev \ 12 | libboost-random-dev \ 13 | libboost-test-dev \ 14 | libboost-thread-dev \ 15 | libboost-timer-dev \ 16 | libeigen3-dev \ 17 | libhdf5-dev \ 18 | libqt4-opengl-dev \ 19 | libsm-dev \ 20 | libssl-dev \ 21 | libxt-dev \ 22 | software-properties-common \ 23 | wget && \ 24 | rm -rf /var/lib/apt/lists 25 | 26 | RUN export CMAKE_VERSION=3.22.3 && export PREFIX=/tmp/cmake && \ 27 | wget https://github.com/Kitware/CMake/releases/download/v3.22.3/cmake-3.22.3-linux-x86_64.sh && \ 28 | chmod +x cmake-${CMAKE_VERSION}-linux-x86_64.sh && \ 29 | mkdir -p ${PREFIX} && \ 30 | ./cmake-${CMAKE_VERSION}-linux-x86_64.sh --prefix=${PREFIX} --skip-license && \ 31 | cp ${PREFIX}/bin/* /usr/local/bin && \ 32 | cp -r ${PREFIX}/share/cmake-3.22 /usr/local/share && \ 33 | rm cmake-${CMAKE_VERSION}-linux-x86_64.sh 34 | 35 | WORKDIR /data 36 | 37 | RUN mkdir -p /data/deps 38 | 39 | COPY --from=itisfoundation/iseg-ubuntu-vtk:8.2 /work /data/deps/vtk 40 | COPY --from=itisfoundation/iseg-ubuntu-itk:5.2.1 /work /data/deps/itk 41 | -------------------------------------------------------------------------------- /Build/bootstrapThirdpartiesUbuntu.sh: -------------------------------------------------------------------------------- 1 | sudo apt-get update 2 | sudo apt-get install cmake 3 | sudo apt-get install libboost-date-time-dev 4 | sudo apt-get install libboost-filesystem-dev 5 | sudo apt-get install libboost-program-options-dev 6 | sudo apt-get install libboost-random-dev 7 | sudo apt-get install libboost-test-dev 8 | sudo apt-get install libboost-thread-dev 9 | sudo apt-get install libboost-timer-dev 10 | sudo apt-get install libhdf5-dev 11 | sudo apt-get install libeigen3-dev 12 | sudo apt-get install libqt4-opengl-dev 13 | 14 | export ISEG_DIR=/home/lloyd/src/iSeg 15 | export DEPS_DIR=${ISEG_DIR}/deps 16 | 17 | mkdir ${ISEG_DIR} 18 | mkdir ${ISEG_DIR}/build 19 | git clone https://github.com/ITISFoundation/osparc-iseg.git ${ISEG_DIR}/src 20 | 21 | docker pull itisfoundation/iseg-ubuntu-vtk:8.2 22 | docker create --name vtkcontainer itisfoundation/iseg-ubuntu-vtk:8.2 bash 23 | docker cp vtkcontainer:/work ${DEPS_DIR}/vtk 24 | docker pull itisfoundation/iseg-ubuntu-itk:5.0.1 25 | docker create --name itkcontainer itisfoundation/iseg-ubuntu-itk:5.0.1 bash 26 | docker cp itkcontainer:/work ${DEPS_DIR}/itk 27 | cmake -S${ISEG_DIR}/src -B${ISEG_DIR}/build -DCMAKE_BUILD_TYPE=Release \ 28 | -DHDF5_ROOT=/usr -DVTK_DIR=`ls -d -1 ${DEPS_DIR}/vtk/lib/cmake/vtk*` \ 29 | -DITK_DIR=`ls -d -1 ${DEPS_DIR}/itk/lib/cmake/ITK*` \ 30 | -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4 -Wdev 31 | -------------------------------------------------------------------------------- /Data/Mark.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "Point.h" 13 | #include "Types.h" 14 | 15 | #include 16 | 17 | namespace iseg { 18 | 19 | struct Mark 20 | { 21 | Mark(unsigned label = 0) : mark(label) {} 22 | Mark(const Mark& r) : p(r.p), mark(r.mark), name(r.name) {} 23 | 24 | static const tissues_size_t red = -1; 25 | static const tissues_size_t green = -2; 26 | static const tissues_size_t blue = -3; 27 | static const tissues_size_t white = -4; 28 | 29 | union { 30 | Point p; // NOLINT 31 | struct 32 | { 33 | short px, py; // NOLINT 34 | }; 35 | }; 36 | unsigned mark; // NOLINT 37 | std::string name; // NOLINT 38 | }; 39 | 40 | struct AugmentedMark 41 | { 42 | Point p; // NOLINT 43 | unsigned short slicenr; // NOLINT 44 | unsigned mark; // NOLINT 45 | std::string name; // NOLINT 46 | }; 47 | 48 | inline bool operator!=(AugmentedMark a, AugmentedMark b) 49 | { 50 | return (a.p.px != b.p.px) || (a.p.py != b.p.py) || (a.slicenr != b.slicenr) || (a.mark != b.mark) || (a.name != b.name); 51 | } 52 | 53 | } // namespace iseg 54 | -------------------------------------------------------------------------------- /CMake/ThirdPartyBlosc.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Define how to use third party, i.e. 3 | # - include directory 4 | # - library 5 | # - preprocessor definitions needed by package 6 | # 7 | OPTION(ISEG_WITH_BLOSC "Build with Blosc HDF5 compression filter" OFF) 8 | IF(ISEG_WITH_BLOSC) 9 | IF(NOT BLOSC_ROOT) 10 | set(BLOSC_ROOT "not defined" CACHE PATH "path to BLOSC root folder") 11 | message(FATAL_ERROR "Please define BLOSC root folder") 12 | endif(NOT BLOSC_ROOT) 13 | if (BLOSC_ROOT STREQUAL "not defined") 14 | message(FATAL_ERROR "Please define BLOSC root folder") 15 | endif(BLOSC_ROOT STREQUAL "not defined") 16 | 17 | SET(BLOSC_DEFINITIONS "-DUSE_HDF5_BLOSC") 18 | IF(MSCV) 19 | SET(BLOSC_LIBRARIES ${BLOSC_ROOT}/lib/blosc_filter.dll) 20 | ELSEIF(APPLE) 21 | SET(BLOSC_LIBRARIES ${BLOSC_ROOT}/lib/libblosc_filter.dylib ${BLOSC_ROOT}/lib/libblosc.a) 22 | ENDIF() 23 | ENDIF() 24 | 25 | 26 | MACRO(USE_BLOSC) 27 | IF(ISEG_WITH_BLOSC) 28 | INCLUDE_DIRECTORIES(${BLOSC_ROOT}/include) 29 | ADD_DEFINITIONS(${BLOSC_DEFINITIONS}) 30 | 31 | LIST( APPEND MY_EXTERNAL_LINK_LIBRARIES ${BLOSC_LIBRARIES}) 32 | REMEMBER_TO_CALL_THIS_INSTALL_MACRO( INSTALL_RUNTIME_LIBRARIES_BLOSC ) 33 | ENDIF() 34 | ENDMACRO() 35 | 36 | MACRO(INSTALL_RUNTIME_LIBRARIES_BLOSC) 37 | MESSAGE( STATUS "--> ThirdPartyBlosc: installing BLOSC library ..." ) 38 | IF(MSVC) 39 | # anything to copy? 40 | ENDIF() 41 | ENDMACRO() -------------------------------------------------------------------------------- /iSeg/LogTable.h: -------------------------------------------------------------------------------- 1 | #ifndef QLOGTABLE_H 2 | #define QLOGTABLE_H 3 | 4 | #include 5 | #include 6 | 7 | class QLogTable : public QAbstractScrollArea 8 | { 9 | Q_OBJECT 10 | 11 | public: 12 | enum eLimit { 13 | NoLimit = -1 14 | }; 15 | 16 | QLogTable(int numCols, QWidget* parent = nullptr); 17 | ~QLogTable() override; 18 | 19 | void SetLimit(int l); 20 | void setFont(QFont&); 21 | void SetColumnsNumber(int); 22 | 23 | friend QTextStream& operator<<(QTextStream&, const QLogTable&); 24 | 25 | protected: 26 | void paintEvent(QPaintEvent* event) override; 27 | void resizeEvent(QResizeEvent* event) override; 28 | void keyPressEvent(QKeyEvent* e) override; 29 | virtual void Paint(QPainter* p, QPaintEvent* e); 30 | 31 | void UpdateScrollbar(); 32 | 33 | public slots: 34 | void ClearBuffer(); 35 | void AppendRow(const QStringList&); 36 | 37 | protected: 38 | QList>* m_Content; // widget data 39 | int* m_ColWidth; // columns width 40 | QFont m_CurFont; // current font 41 | int m_RowHeight; // column height get from curFont (internally used) 42 | int m_NumberOfLines; // number of lines/rows 43 | int m_NumberOfColumns; // number of columns 44 | int m_Limit; // limit for number of lines (not implemented) 45 | 46 | private: 47 | void ManageLimit(); 48 | }; 49 | 50 | #endif // QLOGTEXT_H 51 | -------------------------------------------------------------------------------- /iSeg/SelectColorButton.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #include "Precompiled.h" 11 | 12 | #include "SelectColorButton.h" 13 | 14 | #include "Interface/QtConnect.h" 15 | 16 | #include 17 | 18 | namespace iseg { 19 | 20 | SelectColorButton::SelectColorButton(QWidget* parent) 21 | : m_Color(255, 255, 255) // default white 22 | { 23 | UpdateColor(); 24 | 25 | QObject_connect(this, SIGNAL(clicked()), this, SLOT(ChangeColor())); 26 | } 27 | 28 | void SelectColorButton::UpdateColor() 29 | { 30 | setStyleSheet("background-color: " + m_Color.name()); 31 | } 32 | 33 | void SelectColorButton::ChangeColor() 34 | { 35 | QColor new_color = QColorDialog::getColor(m_Color, parentWidget(), "Select Outline Color"); 36 | if (new_color.isValid() && new_color != m_Color) 37 | { 38 | SetColor(new_color); 39 | emit OnColorChanged(new_color); 40 | } 41 | } 42 | 43 | void SelectColorButton::SetColor(const QColor& color) 44 | { 45 | this->m_Color = color; 46 | UpdateColor(); 47 | } 48 | 49 | const QColor& SelectColorButton::GetColor() 50 | { 51 | return m_Color; 52 | } 53 | 54 | } // namespace iseg 55 | -------------------------------------------------------------------------------- /CMake/ThirdPartyHDF5.cmake: -------------------------------------------------------------------------------- 1 | # 2 | # Define how to use third party, i.e. 3 | # - include directory 4 | # - library 5 | # - preprocessor definitions needed by package 6 | # 7 | cmake_policy(SET CMP0074 NEW) 8 | if(NOT HDF5_ROOT) 9 | set(HDF5_ROOT "not defined" CACHE PATH "path to HDF5 root folder") 10 | message(WARNING "Please define HDF5 root folder") 11 | endif(NOT HDF5_ROOT) 12 | if (HDF5_ROOT STREQUAL "not defined") 13 | message(WARNING "Please define HDF5 root folder") 14 | set(HDF5_NO_FIND_PACKAGE_CONFIG_FILE ON) 15 | endif(HDF5_ROOT STREQUAL "not defined") 16 | 17 | FIND_PACKAGE(HDF5 COMPONENTS C REQUIRED) 18 | SET(HDF5_DEFINITIONS "-DH5_USE_16_API") 19 | 20 | MACRO(USE_HDF5) 21 | INCLUDE_DIRECTORIES(${HDF5_INCLUDE_DIR}) 22 | ADD_DEFINITIONS(${HDF5_DEFINITIONS}) 23 | 24 | LIST( APPEND MY_EXTERNAL_LINK_LIBRARIES ${HDF5_LIBRARIES} ) 25 | REMEMBER_TO_CALL_THIS_INSTALL_MACRO( INSTALL_RUNTIME_LIBRARIES_HDF5 ) 26 | ENDMACRO() 27 | 28 | MACRO(INSTALL_RUNTIME_LIBRARIES_HDF5) 29 | MESSAGE( STATUS "--> ThirdPartyHdf5: installing HDF5 library ..." ) 30 | IF(MSVC) 31 | SET(MSVC_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES}) 32 | FOREACH(BUILD_TYPE ${MSVC_CONFIGURATION_TYPES}) 33 | FILE(COPY ${HDF5_INCLUDE_DIRS}/../bin/ 34 | DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${BUILD_TYPE} 35 | FILES_MATCHING PATTERN "*.dll" PATTERN "*.exe" EXCLUDE ) 36 | ENDFOREACH() 37 | ENDIF() 38 | ENDMACRO() -------------------------------------------------------------------------------- /Thirdparty/Gc/System/Algo/Basic.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Graph Cut (Gc) combinatorial optimization library. 3 | Copyright (C) 2008-2010 Centre for Biomedical Image Analysis (CBIA) 4 | Copyright (C) 2008-2010 Ondrej Danek 5 | 6 | This library is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU Lesser General Public License as published 8 | by the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | Gc is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with Graph Cut library. If not, see . 18 | */ 19 | 20 | /** 21 | @file 22 | Very basic data transformation algorithms. 23 | 24 | @author Ondrej Danek 25 | @date 2010 26 | */ 27 | 28 | #ifndef GC_SYSTEM_ALGO_BASIC_H 29 | #define GC_SYSTEM_ALGO_BASIC_H 30 | 31 | #include "../../Type.h" 32 | 33 | namespace Gc { 34 | namespace System { 35 | /** Basic data transformation algorithms. */ 36 | namespace Algo { 37 | } 38 | } 39 | } // namespace Gc::System 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /iSeg/AvwReader.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | 14 | namespace iseg { namespace avw { 15 | 16 | enum eDataType { ushort = 0, 17 | uchar = 1, 18 | sshort = 2, 19 | schar = 3 }; 20 | bool ReadHeader(const char* filename, unsigned short& w, unsigned short& h, unsigned short& nrofslices, float& dx1, float& dy1, float& thickness1, eDataType& type); 21 | void* ReadData(const char* filename, unsigned short slicenr, unsigned short& w, unsigned short& h, eDataType& type); 22 | 23 | template 24 | static T ReadValueFromLine(const std::string& line, const char separator) 25 | { 26 | T result; 27 | unsigned int pos = line.find_last_of(separator) + 1; 28 | std::stringstream t_stream(line.substr(pos, line.size())); 29 | t_stream >> result; 30 | return result; 31 | } 32 | static std::string ReadNameFromLine(const std::string& line, const char separator) 33 | { 34 | std::string result; 35 | auto pos = line.find_last_of(separator); 36 | if (pos == std::string::npos) 37 | { 38 | return line; 39 | } 40 | return line.substr(0, pos); 41 | } 42 | 43 | }} // namespace iseg::avw 44 | -------------------------------------------------------------------------------- /Data/Color.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "iSegData.h" 13 | 14 | #include 15 | #include 16 | 17 | namespace iseg { 18 | 19 | class ISEG_DATA_API Color 20 | { 21 | public: 22 | union { 23 | std::array v; // NOLINT 24 | struct 25 | { 26 | float r, g, b; // NOLINT 27 | }; 28 | }; 29 | 30 | Color() : r(0.f), g(0.f), b(0.f) {} 31 | Color(float R, float G, float B) : r(R), g(G), b(B) {} 32 | Color(unsigned char R, unsigned char G, unsigned char B) : r(R / 255.f), g(G / 255.f), b(B / 255.f) {} 33 | 34 | float& operator[](int pos) { return v[pos]; } 35 | const float& operator[](int pos) const { return v[pos]; } 36 | 37 | /// given any current color, return the next color in a sequency of random colors 38 | static Color NextRandom(const Color& prev); 39 | 40 | std::tuple ToUChar() const; 41 | 42 | std::tuple ToHsl() const; 43 | 44 | static Color FromHsl(float fh, float fs, float fl); 45 | 46 | private: 47 | static float Hue2rgb(float p, float q, float t); 48 | }; 49 | 50 | } // namespace iseg 51 | -------------------------------------------------------------------------------- /Core/PolyLines.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | namespace iseg { 19 | 20 | /** \brief Function which receives topological edges and returns polylines, which are split at non-manifold verts 21 | */ 22 | template 23 | void EdgesToPolylines(const std::vector& edges, std::vector>& polylines); 24 | 25 | template 26 | void EdgesConnectivity(const std::vector& edges, std::vector>& connected_regions); 27 | 28 | /** \brief Function to extract edges from polylines 29 | */ 30 | template 31 | void PolylinesToEdges(const std::vector>& polylines, std::vector& edges); 32 | 33 | /** \brief Remove duplicate edges (order does not matter) 34 | */ 35 | template 36 | void RemoveDuplicateEdges(std::vector& edges); 37 | 38 | } // namespace iseg 39 | 40 | #include "PolyLines.inl" 41 | -------------------------------------------------------------------------------- /Plugins/KalmanFilterTracing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | ## 4 | ## This file is part of iSEG 5 | ## (see https://github.com/ITISFoundation/osparc-iseg). 6 | ## 7 | ## This software is released under the MIT License. 8 | ## https://opensource.org/licenses/MIT 9 | ## 10 | OPTION(PLUGIN_KALMAN_TRACER "Build Kalman filter tracing plugin" OFF) 11 | IF(PLUGIN_KALMAN_TRACER) 12 | #ADD_SUBDIRECTORY(testsuite) 13 | 14 | USE_BOOST() 15 | USE_ITK() # for gdcm 16 | USE_EIGEN() 17 | 18 | INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/Thirdparty) 19 | INCLUDE_DIRECTORIES(../TracingTubularStructures) 20 | 21 | QT4_WRAP_CPP(MOCSrcs 22 | AutoTubePanel.h 23 | ) 24 | 25 | IF(MSVC) 26 | SET_SOURCE_FILES_PROPERTIES(AutoTubePanel.cpp PROPERTIES COMPILE_FLAGS /bigobj) 27 | ENDIF() 28 | 29 | FILE(GLOB PLUGIN_HEADERS *.h) 30 | 31 | ADD_LIBRARY(KalmanFilterTracingWidget.ext SHARED 32 | AutoTubePanel.cpp 33 | KalmanFilter.cpp 34 | TracingPlugin.cpp 35 | ${PLUGIN_HEADERS} 36 | ${MOCSrcs} 37 | ) 38 | 39 | TARGET_LINK_LIBRARIES( KalmanFilterTracingWidget.ext PRIVATE 40 | iSegData 41 | iSegInterface 42 | ${MY_EXTERNAL_LINK_LIBRARIES} 43 | Eigen3::Eigen 44 | ) 45 | VS_SET_PROPERTY(KalmanFilterTracingWidget.ext "Plugins") 46 | 47 | SET(PLUGIN_NAMES ${PLUGIN_NAMES};KalmanFilterTracingWidget.ext CACHE INTERNAL "") 48 | ENDIF() 49 | -------------------------------------------------------------------------------- /CMake/vtkDependentOption.cmake: -------------------------------------------------------------------------------- 1 | # Macro to provide an option only if a set of other variables are ON. 2 | # Example invocation: 3 | # 4 | # VTK_DEPENDENT_OPTION(USE_FOO "Use Foo" ON "USE_BAR;USE_ZOT" OFF) 5 | # 6 | # If both USE_BAR and USE_ZOT are true, this provides an option called 7 | # USE_FOO that defaults to ON. Otherwise, it sets USE_FOO to OFF. If 8 | # the status of USE_BAR or USE_ZOT ever changes, any value for the 9 | # USE_FOO option is saved so that when the option is re-enabled it 10 | # retains its old value. 11 | # 12 | MACRO(VTK_DEPENDENT_OPTION option doc default depends force) 13 | IF(${option}_ISSET MATCHES "^${option}_ISSET$") 14 | SET(${option}_AVAILABLE 1) 15 | FOREACH(d ${depends}) 16 | IF(NOT ${d}) 17 | SET(${option}_AVAILABLE 0) 18 | ENDIF(NOT ${d}) 19 | ENDFOREACH(d) 20 | 21 | IF(${option}_AVAILABLE) 22 | OPTION(${option} "${doc}" "${default}") 23 | SET(${option} "${${option}}" CACHE BOOL "${doc}" FORCE) 24 | ELSE(${option}_AVAILABLE) 25 | IF(NOT ${option} MATCHES "^${option}$") 26 | SET(${option} "${${option}}" CACHE INTERNAL "${doc}") 27 | ENDIF(NOT ${option} MATCHES "^${option}$") 28 | SET(${option} ${force}) 29 | ENDIF(${option}_AVAILABLE) 30 | 31 | ELSE(${option}_ISSET MATCHES "^${option}_ISSET$") 32 | SET(${option} "${${option}_ISSET}") 33 | ENDIF(${option}_ISSET MATCHES "^${option}_ISSET$") 34 | ENDMACRO(VTK_DEPENDENT_OPTION) 35 | -------------------------------------------------------------------------------- /Interface/QSliderEditableRange.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | #pragma clang system_header 12 | 13 | #include "iSegInterface.h" 14 | 15 | #include 16 | 17 | class QLineEdit; 18 | class QSlider; 19 | 20 | namespace iseg { 21 | 22 | class ISEG_INTERFACE_API QSliderEditableRange : public QWidget 23 | { 24 | Q_OBJECT 25 | public: 26 | QSliderEditableRange(QWidget* parent = nullptr, Qt::WindowFlags flags = Qt::Widget); 27 | 28 | void setValue(int v); 29 | int value() const; 30 | 31 | void setRange(int vmin, int vmax); 32 | 33 | void setMinimum(int v); 34 | int minimum() const; 35 | 36 | void setMaximum(int v); 37 | int maximum() const; 38 | 39 | void setMinimumVisible(bool v); 40 | void setMaximumVisible(bool v); 41 | 42 | signals: 43 | void valueChanged(int value); 44 | 45 | void sliderPressed(); 46 | void sliderMoved(int position); 47 | void sliderReleased(); 48 | void rangeChanged(int min, int max); 49 | void actionTriggered(int action); 50 | 51 | private slots: 52 | void Edited(); 53 | 54 | private: 55 | QSlider* m_Slider; 56 | QLineEdit* m_MinEdit; 57 | QLineEdit* m_MaxEdit; 58 | }; 59 | 60 | } // namespace iseg 61 | -------------------------------------------------------------------------------- /CMake/GetGitRevisionDescription.cmake.in: -------------------------------------------------------------------------------- 1 | # 2 | # Internal file for GetGitRevisionDescription.cmake 3 | # 4 | # Requires CMake 2.6 or newer (uses the 'function' command) 5 | # 6 | # Original Author: 7 | # 2009-2010 Ryan Pavlik 8 | # http://academic.cleardefinition.com 9 | # Iowa State University HCI Graduate Program/VRAC 10 | # 11 | # Copyright Iowa State University 2009-2010. 12 | # Distributed under the Boost Software License, Version 1.0. 13 | # (See accompanying file LICENSE_1_0.txt or copy at 14 | # http://www.boost.org/LICENSE_1_0.txt) 15 | 16 | set(HEAD_HASH) 17 | 18 | file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) 19 | 20 | string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) 21 | if(HEAD_CONTENTS MATCHES "ref") 22 | # named branch 23 | string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") 24 | if(EXISTS "@GIT_DIR@/${HEAD_REF}") 25 | configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) 26 | else() 27 | configure_file("@GIT_DIR@/packed-refs" "@GIT_DATA@/packed-refs" COPYONLY) 28 | file(READ "@GIT_DATA@/packed-refs" PACKED_REFS) 29 | if(${PACKED_REFS} MATCHES "([0-9a-z]*) ${HEAD_REF}") 30 | set(HEAD_HASH "${CMAKE_MATCH_1}") 31 | endif() 32 | endif() 33 | else() 34 | # detached HEAD 35 | configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) 36 | endif() 37 | 38 | if(NOT HEAD_HASH) 39 | file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) 40 | string(STRIP "${HEAD_HASH}" HEAD_HASH) 41 | endif() 42 | -------------------------------------------------------------------------------- /Data/DataSelection.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2021 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | /// Common definitions for iSeg project. 13 | namespace iseg { 14 | 15 | enum eEndUndoAction { 16 | NoUndo, 17 | EndUndo, 18 | MergeUndo, 19 | AbortUndo, 20 | ClearUndo 21 | }; 22 | 23 | struct DataSelection 24 | { 25 | inline void CombineSelection(DataSelection& other) 26 | { 27 | bmp = bmp || other.bmp; 28 | work = work || other.work; 29 | tissues = tissues || other.tissues; 30 | vvm = vvm || other.vvm; 31 | limits = limits || other.limits; 32 | marks = marks || other.marks; 33 | tissueHierarchy = tissueHierarchy || other.tissueHierarchy; 34 | } 35 | 36 | inline bool DataSelected() const 37 | { 38 | return bmp || work || tissues || vvm || limits || marks || tissueHierarchy; 39 | } 40 | 41 | bool bmp = false; // NOLINT 42 | bool work = false; // NOLINT 43 | bool tissues = false; // NOLINT 44 | bool vvm = false; // NOLINT 45 | bool limits = false; // NOLINT 46 | bool marks = false; // NOLINT 47 | bool tissueHierarchy = false; // NOLINT 48 | 49 | bool allSlices = false; // NOLINT 50 | unsigned short sliceNr = 0; // NOLINT 51 | }; 52 | 53 | } // namespace iseg 54 | -------------------------------------------------------------------------------- /docker/vscode_dot_devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Osparc iSeg Build", 3 | "dockerComposeFile": "../docker/docker-compose.yml", 4 | "service": "vscode-container-iseg", 5 | "runServices": [ 6 | "vscode-container-iseg" 7 | ], 8 | "remoteEnv": { 9 | "LD_LIBRARY_PATH": "/data/build/Debug/bin", 10 | }, 11 | "workspaceFolder": "/data/osparc-iseg", 12 | "extensions": [ 13 | "ms-vscode.cpptools", 14 | ], 15 | "settings": { 16 | "C_Cpp.default.configurationProvider": "vector-of-bool.cmake-tools", 17 | "launch": { 18 | "version": "0.2.0", 19 | "configurations": [ 20 | { 21 | "name": "Debug iSeg", 22 | "type": "cppdbg", 23 | "request": "launch", 24 | "program": "/data/build/Debug/bin/iSeg", 25 | "stopAtEntry": false, 26 | "cwd": "/data/build/Debug/bin", 27 | "externalConsole": false, 28 | "MIMode": "gdb", 29 | "setupCommands": [ 30 | { 31 | "description": "Enable pretty-printing for gdb", 32 | "text": "-enable-pretty-printing", 33 | "ignoreFailures": true 34 | } 35 | ] 36 | } 37 | ] 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /iSeg/images.qrc: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | images/contour.png 13 | images/edge.png 14 | images/feature.png 15 | images/filenew.png 16 | images/fileopen.png 17 | images/filesave.png 18 | images/folderlock1.png 19 | images/folderlock2.png 20 | images/fuzzy.png 21 | images/growing.png 22 | images/help.png 23 | images/histo.png 24 | images/iftrg.png 25 | images/interpolate.png 26 | images/lock.png 27 | images/measurement.png 28 | images/morphology.png 29 | images/next.png 30 | images/olc.png 31 | images/previous.png 32 | images/redo.png 33 | images/smoothing.png 34 | images/swap.png 35 | images/thresholding.png 36 | images/undo.png 37 | images/unzoom.png 38 | images/vessel.png 39 | images/watershed.png 40 | images/zoomin.png 41 | images/zoomout.png 42 | 43 | -------------------------------------------------------------------------------- /Thirdparty/OpenThinning/itkMedialAxisImageFilter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2018 The Foundation for Research on Information Technologies in Society (IT'IS). 3 | * 4 | * This file is part of iSEG 5 | * (see https://github.com/ITISFoundation/osparc-iseg). 6 | * 7 | * This software is released under the MIT License. 8 | * https://opensource.org/licenses/MIT 9 | */ 10 | #pragma once 11 | 12 | #include "itkOpenThinning.h" 13 | 14 | namespace itk 15 | { 16 | 17 | template 18 | class MedialAxisImageFilter : public OpenThinning 19 | { 20 | public: 21 | /** Standard class type aliases. */ 22 | using Self = MedialAxisImageFilter; 23 | using Superclass = OpenThinning; 24 | using Pointer = SmartPointer; 25 | using ConstPointer = SmartPointer; 26 | 27 | /** Method for creation through the object factory */ 28 | itkNewMacro(Self); 29 | 30 | /** Run-time type information (and related methods). */ 31 | itkTypeMacro(MedialAxisImageFilter, OpenThinning); 32 | 33 | protected: 34 | MedialAxisImageFilter() = default; 35 | ~MedialAxisImageFilter() override = default; 36 | 37 | /** Compute thinning Image. */ 38 | void 39 | GenerateData() override; 40 | 41 | private: 42 | MedialAxisImageFilter(const Self &) = delete; 43 | void 44 | operator=(const Self &) = delete; 45 | }; 46 | 47 | } // namespace itk 48 | 49 | #ifndef ITK_MANUAL_INSTANTIATION 50 | # include "itkMedialAxisImageFilter.hxx" 51 | #endif 52 | -------------------------------------------------------------------------------- /Thirdparty/Gc/Math/Constant.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Graph Cut (Gc) combinatorial optimization library. 3 | Copyright (C) 2008-2010 Centre for Biomedical Image Analysis (CBIA) 4 | Copyright (C) 2008-2010 Ondrej Danek 5 | 6 | This library is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU Lesser General Public License as published 8 | by the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | Gc is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU Lesser General Public License for more details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with Graph Cut library. If not, see . 18 | */ 19 | 20 | /** 21 | @file 22 | Mathematical constants. 23 | 24 | @author Ondrej Danek 25 | @date 2009 26 | */ 27 | 28 | #ifndef GC_MATH_CONSTANT_H 29 | #define GC_MATH_CONSTANT_H 30 | 31 | #include "../Type.h" 32 | 33 | namespace Gc { 34 | namespace Math { 35 | /** Mathematical constants. */ 36 | namespace Constant { 37 | /** \f$ \pi \f$ number. */ 38 | const Float64 Pi = 3.14159265358979323846; 39 | /** Euler number. */ 40 | const Float64 E = 2.7182818284590452354; 41 | } // namespace Constant 42 | } 43 | } // namespace Gc::Math 44 | 45 | #endif 46 | --------------------------------------------------------------------------------