Slicer merge requestshttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests2019-03-08T19:27:02-05:00https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/952ENH: C++11 modernize NULL and 0 to nullptr.2019-03-08T19:27:02-05:00phcerdanENH: C++11 modernize NULL and 0 to nullptr.ITK5.0 uses c++11 nullptr instead of NULL and 0.
I was getting errors explained here: https://marcofoco.com/use-nullptr-if-you-can-0-if-you-need-but-please-dont-use-null/
```
error: call to 'a' is ambiguous
```
STEPs to use clang-...ITK5.0 uses c++11 nullptr instead of NULL and 0.
I was getting errors explained here: https://marcofoco.com/use-nullptr-if-you-can-0-if-you-need-but-please-dont-use-null/
```
error: call to 'a' is ambiguous
```
STEPs to use clang-tidy:
Generate compile_commands.json with CMake option: `-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON`.
This generates a `compile_commands.json` in your build directory at configure time.
install clang and clang tools, that includes clang-tidy and run-clang-tidy.py.
(In Archlinux: sudo pacman -S clang, in other systems might be clang-extra-tools or similar)
Docs: http://clang.llvm.org/extra/clang-tidy/
And in the build folder of slicer, execute:
```
run-clang-tidy.py -header-filter='.*' -checks='-*,modernize-use-nullptr' -fix
```
This will iteratively check files for updates. It takes a while. The sources are only modified at the end of the process, so you could cancel anytime before with no consequences.
Issue in Mantis: https://issues.slicer.org/view.php?id=4560https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/951BUG: Closed slicer.util displays references deleted2018-05-26T22:48:08-04:00Sam HorvathBUG: Closed slicer.util displays references deleted*Created by: jamesobutler*
Fixes https://issues.slicer.org/view.php?id=4536
Slicer.util displays (infoDisplay, warningDisplay, errorDisplay, etc) that use `messageBox` were still visible when hovering over Slicer's Windows 10 taskbar...*Created by: jamesobutler*
Fixes https://issues.slicer.org/view.php?id=4536
Slicer.util displays (infoDisplay, warningDisplay, errorDisplay, etc) that use `messageBox` were still visible when hovering over Slicer's Windows 10 taskbar preview even though they were closed. This was causing confusion about whether the displays had actually been closed.
References are now scheduled for deletion when the display is closed.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/950ENH: update python commit hash, fixes #45552018-05-24T09:33:39-04:00IsaiahENH: update python commit hash, fixes #4555Fixes 'import sqlite3' in python.
```
git shortlog 16d41fe7aeb24c..c3b8d532242ef
Christian Löpke (1):
PythonApplyPatches: Ensure git found is unused to inialize repo
Isaiah Norton (1):
Fix sqlite3 import by ...Fixes 'import sqlite3' in python.
```
git shortlog 16d41fe7aeb24c..c3b8d532242ef
Christian Löpke (1):
PythonApplyPatches: Ensure git found is unused to inialize repo
Isaiah Norton (1):
Fix sqlite3 import by matching upstream build option for load_extension
Jean-Christophe Fillion-Robin (2):
Merge branch 'fix-PythonApplyPatches'
Merge pull request #223 from ihnorton/fix_sqlite3
```https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/949BUG: Fix pydicom check when using system python2018-05-25T12:19:48-04:00phcerdanBUG: Fix pydicom check when using system pythonhttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/948BUG: Add rpath to python-real executable on macOS2018-05-23T18:23:57-04:00Sam HorvathBUG: Add rpath to python-real executable on macOS*Created by: cquammen*
This is needed to resolve unresolved Qt dependencies referenced from
VTK shared libraries.
Fixes https://issues.slicer.org/view.php?id=4554.*Created by: cquammen*
This is needed to resolve unresolved Qt dependencies referenced from
VTK shared libraries.
Fixes https://issues.slicer.org/view.php?id=4554.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/947BUG: Fix PYTHONPATH in installation so that vtk can be imported2018-05-23T18:23:16-04:00Sam HorvathBUG: Fix PYTHONPATH in installation so that vtk can be imported*Created by: cquammen*
Add an additional path (different on each OS) so that the vtk
Python package can be found.
Fixes https://issues.slicer.org/view.php?id=4556.*Created by: cquammen*
Add an additional path (different on each OS) so that the vtk
Python package can be found.
Fixes https://issues.slicer.org/view.php?id=4556.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/946BUG: Fix install path for python-real2018-05-15T21:09:29-04:00Sam HorvathBUG: Fix install path for python-real*Created by: cquammen*
python-real is inside the same directory as SlicerPython, so the
installation subdirectory should be . instead of Slicer_BIN_DIR.
Fixes https://issues.slicer.org/view.php?id=4553.*Created by: cquammen*
python-real is inside the same directory as SlicerPython, so the
installation subdirectory should be . instead of Slicer_BIN_DIR.
Fixes https://issues.slicer.org/view.php?id=4553.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/945ENH: skip PythonQt imports in non-embedded Python interpreter2018-05-15T11:13:00-04:00IsaiahENH: skip PythonQt imports in non-embedded Python interpreterThis allows to `import slicer` when running Slicer's `python` as a stand-alone executable, by avoiding the segfault while attempting to initialize PythonQt (during Qt library self-registration).
concretely:
> $ source /tmp/s5env # fr...This allows to `import slicer` when running Slicer's `python` as a stand-alone executable, by avoiding the segfault while attempting to initialize PythonQt (during Qt library self-registration).
concretely:
> $ source /tmp/s5env # from launcher-dump-env...
> $ /opt/bld/s5nj/python-install/bin/python
> In [1]: import slicer
> Detected non-embedded Python interpreter. Skipping module 'qMRMLWidgetsPythonQt'
> Detected non-embedded Python interpreter. Skipping module 'qSlicerBaseQTCorePythonQt'
> Detected non-embedded Python interpreter. Skipping module 'qSlicerBaseQTGUIPythonQt'
> Detected non-embedded Python interpreter. Skipping module 'qSlicerBaseQTAppPythonQt'
> Detected non-embedded Python interpreter. Skipping module 'qSlicerBaseQTCLIPythonQt'
>
> In [2]:https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/944BUG: fix QtWebEngineProcess for extension manager on linux2018-05-07T15:50:22-04:00IsaiahBUG: fix QtWebEngineProcess for extension manager on linuxQWebEngineProcess could not find resource paths due to an upstream bug.
The fix is not available until Qt 5.11, so work-around is to include qt.conf
file next to the QtWebEngineProcess executable, setting the relative path
to 'resou...QWebEngineProcess could not find resource paths due to an upstream bug.
The fix is not available until Qt 5.11, so work-around is to include qt.conf
file next to the QtWebEngineProcess executable, setting the relative path
to 'resources/'
https://issues.slicer.org/view.php?id=4544
upstream
bug: https://bugreports.qt.io/browse/QTBUG-66346
fix: https://codereview.qt-project.org/#/c/220734/https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/943COMP: remove hard QtPositioning dependency2018-10-08T16:52:13-04:00IsaiahCOMP: remove hard QtPositioning dependencyIt is only a soft (Qt) build-time dependency so we don't need to enforce it here:
https://bugreports.qt.io/browse/QTBUG-57418It is only a soft (Qt) build-time dependency so we don't need to enforce it here:
https://bugreports.qt.io/browse/QTBUG-57418https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/942SegmentEditor used too much space after returning to None effect2018-12-06T10:25:51-05:00Christian HerzSegmentEditor used too much space after returning to None effect# Before changes
| Paint Effect | None |
| ------------- |:-------------:|
| ![before01](https://user-images.githubusercontent.com/10195822/39368610-05e5aaa6-4a08-11e8-8f4e-989397831360.png)| ![before02](https://us...# Before changes
| Paint Effect | None |
| ------------- |:-------------:|
| ![before01](https://user-images.githubusercontent.com/10195822/39368610-05e5aaa6-4a08-11e8-8f4e-989397831360.png)| ![before02](https://user-images.githubusercontent.com/10195822/39368612-05f0d584-4a08-11e8-9171-3c46c32c730b.png) |
# After changes
| Paint Effect | None |
| ------------- |:-------------:|
| ![after01](https://user-images.githubusercontent.com/10195822/39368792-8cc05706-4a08-11e8-9dcb-2ce3bd7f547e.png) | ![after02](https://user-images.githubusercontent.com/10195822/39368769-7c88341c-4a08-11e8-9f63-8b1e85467d65.png) |
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/941ENH: Add color support to 3D view controllers2018-04-28T20:03:35-04:00Csaba PinterENH: Add color support to 3D view controllersThe layout view property 'viewcolor' was only available for slice views. By sinking the LayoutColor member variable from vtkMRMLSliceNode to vtkMRMLAbstractViewNode, and adding accessor functions to qMRMLThreeDWidget and controller simil...The layout view property 'viewcolor' was only available for slice views. By sinking the LayoutColor member variable from vtkMRMLSliceNode to vtkMRMLAbstractViewNode, and adding accessor functions to qMRMLThreeDWidget and controller similar to those in the slice widgets, this property can now be set to 3D views as well.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/940BUG: Added API to add border around fullscreen app window2018-04-26T15:28:37-04:00Andras LassoBUG: Added API to add border around fullscreen app windowOn Windows, when turning on OpenGL and using the full screen mode (mainWindow=slicer.util.mainWindow().showFullScreen()),
menus and tooltips were no longer visible.
By enabling setHasBorderInFullScreen, a one-pixel border is added ar...On Windows, when turning on OpenGL and using the full screen mode (mainWindow=slicer.util.mainWindow().showFullScreen()),
menus and tooltips were no longer visible.
By enabling setHasBorderInFullScreen, a one-pixel border is added around the window, which fixes the problem.
See http://doc.qt.io/qt-5/windows-issues.html#fullscreen-opengl-based-windowshttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/939ENH: Add ability to load custom volume rendering presets2018-04-25T08:22:38-04:00Csaba PinterENH: Add ability to load custom volume rendering presetsAdded the option to use custom presets scene instead of the default one by calling the LoadCustomPresetsScene function of the volume rendering logic. This might be needed for specific applications when only a subset of the presets need t...Added the option to use custom presets scene instead of the default one by calling the LoadCustomPresetsScene function of the volume rendering logic. This might be needed for specific applications when only a subset of the presets need to be shown, or if new presets need to be added.
Added showIcons property to the presets combobox classes. This is useful if new presets in the custom presets scene do not have icons, or simply when showing icons are not desired. Default is showing icons.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/938BUG: Error in caused mark_as_superbuild items to be missed2018-06-02T00:01:11-04:00Hans JohnsonBUG: Error in caused mark_as_superbuild items to be missed```
set(XYZ "DUMMY")
mark_as_superbuild(
VAR
XYZ:STRING
PROJECTS MYPROJECT
)
ExternalProject_Include_Dependencies( MYPROJECT
PROJECT_VAR proj
EP_ARGS_VAR MYTEST_EP_ARGS
DEPENDS_VAR MYPRO...```
set(XYZ "DUMMY")
mark_as_superbuild(
VAR
XYZ:STRING
PROJECTS MYPROJECT
)
ExternalProject_Include_Dependencies( MYPROJECT
PROJECT_VAR proj
EP_ARGS_VAR MYTEST_EP_ARGS
DEPENDS_VAR MYPROJECT_DEPENDENCIES
)
```
would fail to propagate the XYZ variable to the `MYTEST_EP_ARGS` variable.
The "if(_all)" was always evaluating to false, even
when "${_all}" was a list with 100's of elements.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/937ENH: add arrayFromVolume support for vtkMRMLDiffusionWeightedVolumeNode2018-04-17T22:15:58-04:00IsaiahENH: add arrayFromVolume support for vtkMRMLDiffusionWeightedVolumeNodecc @pieper cc @pieper https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/936ENH: Added new volume rendering quality option: Normal2018-04-17T21:31:51-04:00Andras LassoENH: Added new volume rendering quality option: NormalSetLockSampleDistanceToInputSpacing usually provides good quality rendering at acceptable speed, but on slow computers or in virtual reality views (where very high frame rate is needed), it is still necessary to allow choose between volu...SetLockSampleDistanceToInputSpacing usually provides good quality rendering at acceptable speed, but on slow computers or in virtual reality views (where very high frame rate is needed), it is still necessary to allow choose between volume rendering speed and quality.
Added a new option to clearly distinguish between quality settings:
- adaptive: sampling computed from desired fps
- normal: sampling computed from input volume
- maximum quality: sampling computed from input volume, with 10x oversamplinghttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/935BUG: Fixed conventional layout size2018-04-16T15:13:41-04:00Andras LassoBUG: Fixed conventional layout sizeFixed view sizes in layouts where splitter was used. Splitter size is now explicitly set to get the desired size ratio between views.
Fixes https://issues.slicer.org/view.php?id=4530
Requires this CTK improvement: https://github.co...Fixed view sizes in layouts where splitter was used. Splitter size is now explicitly set to get the desired size ratio between views.
Fixes https://issues.slicer.org/view.php?id=4530
Requires this CTK improvement: https://github.com/commontk/CTK/pull/795
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/934Multi volume rendering2018-04-19T16:04:06-04:00Csaba PinterMulti volume renderingVolume rendering displayable manager has been completely reimplemented to support displaying multiple volumes.
Volume rendering displayable manager has been completely reimplemented to support displaying multiple volumes.
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/933ENH: Use new filters for isosurface extraction and plane cutting2018-04-17T09:58:02-04:00Andras LassoENH: Use new filters for isosurface extraction and plane cuttingOptimized versions of isosurface extraction and plane cutting filters have been introduced a while ago in VTK, but Slicer kept using the existing filters.
Filters updated in this commit:
- vtkDiscreteMarchingCubes => vtkDiscreteFlyingE...Optimized versions of isosurface extraction and plane cutting filters have been introduced a while ago in VTK, but Slicer kept using the existing filters.
Filters updated in this commit:
- vtkDiscreteMarchingCubes => vtkDiscreteFlyingEdges3D
- vtkCutter => vtkPlaneCutter
With default SMP backend (Sequential), performance may be slightly improved. With TBB backend, computation time for complex surfaces (e.g., obtained by thresholding a noisy grayscale volume) is decreased by 30-500%.