Slicer merge requestshttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests2018-10-08T16:52:08-04:00https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/497Add ctk cli22018-10-08T16:52:08-04:00Francois BudinAdd ctk cli2@jcfr This is the new branch I created to address your comments from #493
@jcfr This is the new branch I created to address your comments from #493
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/507Rename teem to vtk teem2019-03-14T14:35:10-04:00Sam HorvathRename teem to vtk teem*Created by: jcfr*
*Created by: jcfr*
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/509[PREVIEW-WIP] PERF: Improve startup time by 8% with lazy loading of wrapped l...2019-03-14T14:35:08-04:00Sam Horvath[PREVIEW-WIP] PERF: Improve startup time by 8% with lazy loading of wrapped libraries*Created by: jcfr*
**\* WORK IN PROGRESS: For now, you have to make sure SlicerApp-real and
Slicer launcher are built to ensure the successful generation of the json
files ***
Startup time reduced from 3.8s to 3.5s with a "cold cache"
...*Created by: jcfr*
**\* WORK IN PROGRESS: For now, you have to make sure SlicerApp-real and
Slicer launcher are built to ensure the successful generation of the json
files ***
Startup time reduced from 3.8s to 3.5s with a "cold cache"
and from 2.7s to 2.38s with a "warm cache".
For each logic/mrml/dm/widgets python modules, a json files listing
the associated attributes is generated. Then, when the application is
initialized, the "slicer" module is created as a "lazy" module with
the attributes associated with logic/mrml/dm/widgets set as "not loaded".
Finally, as soon as an attribute not yet loaded is accessed, the specialized
`__getattribute__` loads the associated python module and update the module
dictionary.
The "lazy" module has been adapted from "itkLazy.py"
Results have been gathered on Ubuntu 15.10 on a workstation with the
following specs: 64GB / M.2 PCIe NVMe SSD / Quad Core 3.80GHz
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/591ENH: when using createProgressDialog QProgressDialog needs to be always on top2018-11-28T11:55:09-05:00Christian HerzENH: when using createProgressDialog QProgressDialog needs to be always on top- otherwise it would be hidden behind the main window and gives the impression, that the process finished
- also added another keyword argument windowFlags for specifying other flags if needed
fixes https://github.com/SlicerProstate/mpR...- otherwise it would be hidden behind the main window and gives the impression, that the process finished
- also added another keyword argument windowFlags for specifying other flags if needed
fixes https://github.com/SlicerProstate/mpReview/issues/146
TODO: We could also think about some parameter for disabling the mainWindow for the duration of that process
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/609WIP: Continuous integration of Slicer on centos (updated & rebased)2018-10-08T16:52:10-04:00Mayeul ChassagnardWIP: Continuous integration of Slicer on centos (updated & rebased)Update of https://github.com/Slicer/Slicer/pull/607
Update of https://github.com/Slicer/Slicer/pull/607
https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/686ENH: User and developer guide as RestructuredText **WIP**2019-01-29T14:54:20-05:00Sam HorvathENH: User and developer guide as RestructuredText **WIP***Created by: jcfr*
This is a first draft of the user and developer documentation rendered on http://slicer.readthedocs.io
Documentations is organized in two directories
* `Docs/user_guide`
* `Docs/developer_guide`
For now, read...*Created by: jcfr*
This is a first draft of the user and developer documentation rendered on http://slicer.readthedocs.io
Documentations is organized in two directories
* `Docs/user_guide`
* `Docs/developer_guide`
For now, readthedocs will automatically regenerate the documentation each time the branch [Slicer/Slicer@rst-user-and-dev-guide](https://github.com/Slicer/Slicer/tree/rst-user-and-dev-guide) is updated.
Configuration files is [Docs/conf.py](https://github.com/Slicer/Slicer/blob/rst-user-and-dev-guide/Docs/conf.py).
After running:
```
cd Slicer
pip install -r requirements-dcos.txt
```
on either Windows or Unix, it can locally be generated running:
```
cd Docs
make html
```
Notes
* Consider both installing the requirement and running ``make html`` from a virtual environment.
* I think sections like News, Image Gallery, Tutorials, Slicer Community, Labs, Developer Hangout, FAQs should probably remain on the wiki.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/690STYLE: Update CONTRIBUTING.md to test slicer/apidocs webhook2018-10-08T16:52:10-04:00Sam HorvathSTYLE: Update CONTRIBUTING.md to test slicer/apidocs webhook*Created by: jcfr*
This PR is indented to test that the slicer API docs builder is effectively triggered.*Created by: jcfr*
This PR is indented to test that the slicer API docs builder is effectively triggered.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/849WIP: Update build system introducing Slicer_BUILD_SEGMENTATION_SUPPORT option2019-03-14T14:37:51-04:00Sam HorvathWIP: Update build system introducing Slicer_BUILD_SEGMENTATION_SUPPORT option*Created by: jcfr*
This allows to build Slicer without segmentation support. This is
particularly useful when building custom application based on Slicer.*Created by: jcfr*
This allows to build Slicer without segmentation support. This is
particularly useful when building custom application based on Slicer.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/851WIP: Add support for conditionally building with ITKFactoryRegistration2018-10-08T16:52:11-04:00Sam HorvathWIP: Add support for conditionally building with ITKFactoryRegistration*Created by: jcfr*
This commit is **NOT** ready for integration or review. It depends on #852
This commit introduces option Slicer_USE_ITKFactoryRegistration allowing
to conditionally build with ITKFactoryRegistration. Since latest...*Created by: jcfr*
This commit is **NOT** ready for integration or review. It depends on #852
This commit introduces option Slicer_USE_ITKFactoryRegistration allowing
to conditionally build with ITKFactoryRegistration. Since latest version
of ITK is expected to address IOFactory issues originally fixed by
introducing ITKFactoryRegistration library, this new option will allow
to easily build Slicer and test that it effectively works without it.
List of SlicerExecutionModel changes:
```
$ git shortlog 1d3e9a2..edfcb22 --no-merges
Andrey Fedorov (1):
ENH: add pointer to the wiki documentation
Jean-Christophe Fillion-Robin (1):
COMP: Add SEMConfigure.h and update config with SlicerExecutionModel_USE_ITKFactoryRegistration
```https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/870RFC: COMP: use relative includes for VTK and ITK2018-10-08T16:52:11-04:00IsaiahRFC: COMP: use relative includes for VTK and ITKOpening for discussion, ref https://discourse.slicer.org/t/duplicated-includes/1862
- script: https://gist.github.com/ihnorton/b9d0a18b3ae00bb5fb78b143eda79d70
- how to spot-check (in slicer source dir "s5"):
```
:s5 $ cat `fin...Opening for discussion, ref https://discourse.slicer.org/t/duplicated-includes/1862
- script: https://gist.github.com/ihnorton/b9d0a18b3ae00bb5fb78b143eda79d70
- how to spot-check (in slicer source dir "s5"):
```
:s5 $ cat `find ./ -name *.cxx -or -name *.h` | egrep "#include.*itk" | less
:s5 $ cat `find ./ -name *.cxx -or -name *.h` | egrep "#include.*vtk" | less
```
- Build system TODO
- [ ] Teach build system to clone {vtk,itk} in e.g. `SuperBuild/VTKv9/vtk`
- [ ] Teach build system to pass single include path for vtk as e.g. `SuperBuild/VTKv9/`
- [ ] ? Fix bundling cmakescript ?https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/889ENH: RFC bundle fixup script in python2018-10-08T16:52:12-04:00IsaiahENH: RFC bundle fixup script in pythonSee commit message for more detailed information. The goal here is to make the packaging system easier to use and debug. Using python allows for shorter code, and makes the fixup step much faster: the total packaging time is reduced to ~...See commit message for more detailed information. The goal here is to make the packaging system easier to use and debug. Using python allows for shorter code, and makes the fixup step much faster: the total packaging time is reduced to ~3 min as compared to ~1 hr (`make package` in an up-to-date build tree). The script can also be debugged with pdb. Hopefully this makes other build system improvements easier to test and iterate, because the turn-around to test changes will be shorter.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/898Plenty chinese i18n ts files and code modification2019-03-14T14:38:35-04:00Sam HorvathPlenty chinese i18n ts files and code modification*Created by: u8621011*
Below is what this PR includes
1. traditional/simplified Chinese translation files
2. i18n related cmake script for loadable module
3. i18n related code fixes.*Created by: u8621011*
Below is what this PR includes
1. traditional/simplified Chinese translation files
2. i18n related cmake script for loadable module
3. i18n related code fixes.https://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/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/970WIP: Add Pinch and Rotate gesture interactions to 3D view2018-11-13T22:02:12-05:00SunderlandkylWIP: Add Pinch and Rotate gesture interactions to 3D viewWill not be functional until VTK forwards gesture events from QVTKOpenGLWidget using QVTKInteractorAdapter.cxx. (see merge request https://gitlab.kitware.com/vtk/vtk/merge_requests/4398/)
Example video:
https://www.dropbox.com/s/6k76...Will not be functional until VTK forwards gesture events from QVTKOpenGLWidget using QVTKInteractorAdapter.cxx. (see merge request https://gitlab.kitware.com/vtk/vtk/merge_requests/4398/)
Example video:
https://www.dropbox.com/s/6k76e17d2hvcdgy/gesture_interaction.mp4?dl=0
Cc: @lassoan https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/1010PREVIEW: Planes and splines2019-03-14T14:39:46-04:00Sam HorvathPREVIEW: Planes and splines*Created by: vovythevov*
### **DO NOT MERGE**
This is a preview PR intended to discuss the Splines and Planes module.
CC: @lassoan, @jcfr, @cpinter*Created by: vovythevov*
### **DO NOT MERGE**
This is a preview PR intended to discuss the Splines and Planes module.
CC: @lassoan, @jcfr, @cpinterhttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/1012ENH: Allow the developer to pass ITK build options2018-12-18T16:41:45-05:00phcerdanENH: Allow the developer to pass ITK build optionsUsing CACHE variable: Slicer_ITK_EXTRA_CMAKE_ARGS:STRING
This allows to build modules that might be needed for Modules, or
custom apps.
Example:
-DSlicer_ITK_EXTRA_CMAKE_ARGS:STRING=-DModule_XXX:BOOL=ON;Using CACHE variable: Slicer_ITK_EXTRA_CMAKE_ARGS:STRING
This allows to build modules that might be needed for Modules, or
custom apps.
Example:
-DSlicer_ITK_EXTRA_CMAKE_ARGS:STRING=-DModule_XXX:BOOL=ON;https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/1017ENH: Add generic storage node for Markups2019-03-14T14:39:53-04:00Sam HorvathENH: Add generic storage node for Markups*Created by: vovythevov*
Markups did not have a generic storage node that worked for all for types
of markups. This new storage nodes aims to fill this need. It is also meant
to be easily extensible in potential markup subclasses.
...*Created by: vovythevov*
Markups did not have a generic storage node that worked for all for types
of markups. This new storage nodes aims to fill this need. It is also meant
to be easily extensible in potential markup subclasses.
The new generic storage exports markups to JSON for ease of interface with
the web, python and other applications.
The existing Markups Fiducial reader is left as-is and is still the default
for fiducials.
CC: @jcfrhttps://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/1018BUG: Report error if --python-script associated with non-existent file2019-03-14T14:39:49-04:00Sam HorvathBUG: Report error if --python-script associated with non-existent file*Created by: jcfr*
This commit ensures an exception is raised when the python script does not
exist. When associated with the --exit-after-startup option, a non-zero status
code is now returned when Slicer exit.*Created by: jcfr*
This commit ensures an exception is raised when the python script does not
exist. When associated with the --exit-after-startup option, a non-zero status
code is now returned when Slicer exit.https://gitlab.kitware.com/sjh26/Slicer/-/merge_requests/1022Improve macos packaging for Slicer extension2019-03-14T14:39:53-04:00Sam HorvathImprove macos packaging for Slicer extension*Created by: jcfr*
This PR is here for review. More testing will be performed after I am back of traveling two weeks.
These changes were originally motivated to support packaging of SlicerSALT (a custom Slicer application used to dis...*Created by: jcfr*
This PR is here for review. More testing will be performed after I am back of traveling two weeks.
These changes were originally motivated to support packaging of SlicerSALT (a custom Slicer application used to disseminate powerful shape analysis methodology based on 3D Slicer open-source software). See http://salt.slicer.org/