Changesets: Import 2017-06-07 23:51:09
master be33d138 2016-05-31 02:11:39 Details Diff |
ENH: MeasureStartupTimes: Add option to load only specific modules git-svn-id: http://svn.slicer.org/Slicer4/trunk@25130 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py | Diff File | ||
master 7f6df8f0 2016-05-31 02:11:38 Details Diff |
ENH: MeasureStartupTimes: Add option to include one module at a time git-svn-id: http://svn.slicer.org/Slicer4/trunk@25129 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py | Diff File | ||
master 47ff0147 2016-05-31 02:11:35 Details Diff |
STYLE: Simplify import of Logic/MRML/DisplayableManager python modules Instead of creating intermediate python scripts, this commit updates loadable modules wrapping and import mechanism to directly use the shared library. The management of PythonQt and VTK*Python module is now identical. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25128 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTGUI/qSlicerLoadableModule.cxx | Diff File | ||
mod - CMake/SlicerMacroPythonWrapModuleVTKLibrary.cmake | Diff File | ||
master c3872ba0 2016-05-31 02:11:33 Details Diff |
STYLE: Do not explicitly import "freesurfer" into "slicer" module FreeSurfer classes are expected to be used by explicitly importing the module. The classes are not used in either Slicer core or any of the extensions available in the extensions index. Slicer core: $ for class in $(ls -1 ./Libs/FreeSurfer/vtk*.h | cut -d"/" -f4 | cut -d"." -f1); do echo "Looking for $class [$(pwd)]"; ack --py $class; done Looking for vtkFreeSurferWin32Header [/home/jcfr/Projects/Slicer] Looking for vtkFSIO [/home/jcfr/Projects/Slicer] Looking for vtkFSLookupTable [/home/jcfr/Projects/Slicer] Looking for vtkFSSurfaceAnnotationReader [/home/jcfr/Projects/Slicer] Looking for vtkFSSurfaceHelper [/home/jcfr/Projects/Slicer] Looking for vtkFSSurfaceLabelReader [/home/jcfr/Projects/Slicer] Looking for vtkFSSurfaceReader [/home/jcfr/Projects/Slicer] Looking for vtkFSSurfaceScalarReader [/home/jcfr/Projects/Slicer] Looking for vtkFSSurfaceWFileReader [/home/jcfr/Projects/Slicer] Extensions: $ for class in $(cd /home/kitware/Dashboards/Nightly/Slicer-0; ls -1 ./Libs/FreeSurfer/vtk*.h | cut -d"/" -f4 | cut -d"." -f1); do echo "Looking for $class [$(pwd)]"; ack-grep --py $class; done Looking for vtkFreeSurferWin32Header [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSIO [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSLookupTable [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSSurfaceAnnotationReader [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSSurfaceHelper [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSSurfaceLabelReader [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSSurfaceReader [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSSurfaceScalarReader [/home/kitware/Dashboards/Nightly/S-0-E-b] Looking for vtkFSSurfaceWFileReader [/home/kitware/Dashboards/Nightly/S-0-E-b] git-svn-id: http://svn.slicer.org/Slicer4/trunk@25127 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/CMakeLists.txt | Diff File | ||
master c1739bf0 2016-05-31 02:11:31 Details Diff |
STYLE: Update python script to explicitly import teem git-svn-id: http://svn.slicer.org/Slicer4/trunk@25126 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/vtkITK/Testing/vtkITKArchetypeDiffusionTensorReaderFile.py | Diff File | ||
mod - Libs/vtkITK/Testing/vtkITKArchetypeScalarReaderFile.py | Diff File | ||
mod - Modules/Scripted/DataProbe/DataProbe.py | Diff File | ||
mod - Modules/Scripted/EditorLib/LabelStructureListWidget.py | Diff File | ||
master 1b6cd332 2016-05-31 02:11:29 Details Diff |
STYLE: slicer/__init__: Improve comments git-svn-id: http://svn.slicer.org/Slicer4/trunk@25125 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/__init__.py | Diff File | ||
master 65115cfa 2016-05-31 02:11:26 Details Diff |
STYLE: Relocate logging initialization from slicer/__init__ to slicerqt.py Relocate configuration of the application loggers into the application initialization script. This is done anticipating the possible introduction of lazy loading of slicer module attributes. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25124 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/__init__.py | Diff File | ||
mod - Base/Python/slicer/slicerqt.py | Diff File | ||
master 626b78f5 2016-05-30 11:25:44 Details Diff |
BUG: Fixed site name propagation to extension dashboard git-svn-id: http://svn.slicer.org/Slicer4/trunk@25123 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Extensions/CMake/SlicerBlockUploadExtension.cmake | Diff File | ||
mod - Extensions/CMake/SlicerExtensionsDashboardDriverScript.cmake | Diff File | ||
master 69d00eab 2016-05-26 19:29:34 Details Diff |
BUG: Fix loading of PythonQt module from visual studio build tree This commit fixes a regression introduced in r25115 (STYLE: Simplify loading of loadable module python modules) Module like "qSlicer*PythonQt.*" are built in the intermediate directory. Thanks: Andras Lasso <lasso@queensu.ca> Thanks: Csaba Pinter <csaba.pinter@queensu.ca> git-svn-id: http://svn.slicer.org/Slicer4/trunk@25122 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTGUI/qSlicerLoadableModule.cxx | Diff File | ||
master 93db7ee6 2016-05-26 18:34:47 Details Diff |
STYLE: slicerqt-with-tcl: Remove redundant 'mrmlLogic' package mrmlLogic is already included in mrml.py git-svn-id: http://svn.slicer.org/Slicer4/trunk@25121 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/slicerqt-with-tcl.py | Diff File | ||
master cc141426 2016-05-26 18:28:50 Details Diff |
STYLE: Remove redundant modules 'mrmlLogic' and 'mrmlcli' These modules are already imported in mrml.py git-svn-id: http://svn.slicer.org/Slicer4/trunk@25120 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/CMakeLists.txt | Diff File | ||
rm - Base/Python/mrmlLogic.py | Diff File | ||
rm - Base/Python/mrmlcli.py | Diff File | ||
master 3833366b 2016-05-25 15:46:00 Details Diff |
BUG: Fixes widget and logic python module loading regression This commit fixes regressions introduced in r25115 and r25116. * Ensure vtkSlicerCLIModuleLogic (in Base/QTCLI/) python wrapping is loaded. * Update EMSegment to a version referencing python widget and logic from the "slicer" namespace. Reported-by: Andras Lasso <lasso@queensu.ca> git-svn-id: http://svn.slicer.org/Slicer4/trunk@25119 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Cpp/qSlicerApplicationTpyclEMSegmentIntegrationTest.cxx | Diff File | ||
mod - Base/Python/CMakeLists.txt | Diff File | ||
mod - SuperBuild.cmake | Diff File | ||
master 33d2a396 2016-05-24 14:41:32 naucoin Details Diff |
COMP: fix illegal character compiler warning Change invalid character to an apostrophe in Tables module acknowledgement text. Fixes the following compiler warning: Slicer/Modules/Loadable/Tables/qSlicerTablesModule.cxx:95:187: warning: illegal character encoding in string literal [-Winvalid-source-encoding] ...funded by OCAIRO, the Applied Cancer Research Unit program of Cancer Care Ontario, and Department of Anesthesia and Critical Care Medicine, Children<92>s Hospital of Philadelphia."; git-svn-id: http://svn.slicer.org/Slicer4/trunk@25118 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Loadable/Tables/qSlicerTablesModule.cxx | Diff File | ||
master c8d55be8 2016-05-23 02:14:08 Details Diff |
PERF: Improve slicer.util.importModuleObjects to avoid repeat same file glob To justify the added complexity, startup times has been measured for the last 5 commits and, given the experimental setup, it confirms that this commit slight reduce the startup time. 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 For each commit, the performance have been measured by averaging the startup time over 15 runs where disk has been flushed before each run using: sudo sysctl vm.drop_caches=1 Results are the following: * Baseline: ENH: MeasureStartupTimes: Add option to benchmark only regular startup 5.19s * Improvement 1: PERF: slicer.util.importClassesFromDirectory: Compile regex outside for loop 5.18s * Improvement 2: STYLE: slicer.util.importModuleObjects: Simplify code 5.16s * Improvement 3: STYLE: Simplify loading of loadable module python modules 5.18s * Improvement 4: PERF: Import loadable module python extension only into 'slicer' module 5.19s * Improvement 5: [THIS COMMIT] 5.07s Automatic collection of stats have been done using shell script including code like this one: 8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<-- what=improvement-5 && commit=1234567 && desc="PERF: Improve slicer.util.importModuleObjects to avoid repeat same file glob" && echo "" && echo "$what: $desc" && (cd ~/Projects/Slicer && git reset --hard $commit) && cmake . && make qSlicerBaseQTCore/fast && make qSlicerBaseQTGUI/fast && make CopySlicerPythonScriptFiles/fast -B && make CompileSlicerPythonFiles/fast -B && (~/Projects/Slicer/Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py --normal --drop-cache --repeat 15 ./Slicer) && cp ./StartupTimesNormal.json ./StartupTimesNormal-$what.json 8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<-- git-svn-id: http://svn.slicer.org/Slicer4/trunk@25117 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/util.py | Diff File | ||
master 628f83fe 2016-05-23 02:14:06 Details Diff |
PERF: Import loadable module python extension only into 'slicer' module Since the modules "slicer.moduledm", "slicer.modulelogic", "slicer.modulemrml" and "slicer.modulewidget" were not used, this commit removes them and avoid the overhead of updating their respective dictionaries. It is a follow up of r19775 (STYLE: Prevent future issue related to refactoring by referencing all MRML node from 'slicer' module.). git-svn-id: http://svn.slicer.org/Slicer4/trunk@25116 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/CMakeLists.txt | Diff File | ||
rm - Base/Python/slicer/moduledm/__init__.py | Diff File | ||
rm - Base/Python/slicer/modulelogic/__init__.py | Diff File | ||
rm - Base/Python/slicer/modulemrml/__init__.py | Diff File | ||
rm - Base/Python/slicer/modulewidget/__init__.py | Diff File | ||
mod - Base/Python/slicer/util.py | Diff File | ||
mod - Base/QTGUI/qSlicerLoadableModule.cxx | Diff File | ||
master 9cb5668f 2016-05-23 02:14:03 Details Diff |
STYLE: Simplify loading of loadable module python modules This commit removes the special case and ensures all loadable module python dependencies (Logic, MRML, MRMLDisplayableManager and Widget) are loaded using the method "qSlicerLoadableModule::importModulePythonExtensions". Since prior to this change, moduledm, modulelogic, modulemrml and modulewidget where imported into slicer from within slicer/__init__.py, this commit updates "slicer.util.importModuleObjects" to explicitly add the classes to the slicer module. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25115 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/moduledm/__init__.py | Diff File | ||
mod - Base/Python/slicer/modulelogic/__init__.py | Diff File | ||
mod - Base/Python/slicer/modulemrml/__init__.py | Diff File | ||
mod - Base/Python/slicer/modulewidget/__init__.py | Diff File | ||
mod - Base/Python/slicer/util.py | Diff File | ||
mod - Base/QTGUI/qSlicerLoadableModule.cxx | Diff File | ||
mod - Base/QTGUI/qSlicerLoadableModule.h | Diff File | ||
master acda657d 2016-05-23 02:14:00 Details Diff |
STYLE: slicer.util.importModuleObjects: Simplify code git-svn-id: http://svn.slicer.org/Slicer4/trunk@25114 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/util.py | Diff File | ||
master b978865e 2016-05-23 02:13:58 Details Diff |
PERF: slicer.util.importClassesFromDirectory: Compile regex outside for loop While no significant improvements could be measured, compiling the regex only once is a sensible choice. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25113 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/Python/slicer/util.py | Diff File | ||
master 4095862b 2016-05-23 02:13:56 Details Diff |
ENH: MeasureStartupTimes: Add option to benchmark only regular startup git-svn-id: http://svn.slicer.org/Slicer4/trunk@25112 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py | Diff File | ||
master d9eaf675 2016-05-23 02:13:54 Details Diff |
ENH: MeasureStartupTimes: Add option to flush disk cache This commit adds the option "--drop-cache" to the script. See http://unix.stackexchange.com/questions/87908/how-do-you-empty-the-buffers-and-cache-on-a-linux-system Only supported only on Linux. If the --drop-cache option is used on other platform, an exception is raised. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25111 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py | Diff File | ||
mod - Applications/SlicerApp/Testing/Python/SlicerAppTesting.py | Diff File | ||
master 35e29b63 2016-05-23 02:13:52 Details Diff |
STYLE: Remove obsolete variable VTK_USE_INSTANTIATOR_NEW Explicitly setting this variable is not required by VTK since kitware/VTK@1b707d4 from 2002-08-16. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25110 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/MRML/DisplayableManager/CMakeLists.txt | Diff File | ||
mod - Libs/MRML/DisplayableManager/Testing/Cxx/CMakeLists.txt | Diff File | ||
mod - Modules/Loadable/Annotations/MRMLDM/CMakeLists.txt | Diff File | ||
mod - Modules/Loadable/Markups/MRMLDM/CMakeLists.txt | Diff File | ||
mod - Modules/Loadable/Transforms/MRMLDM/CMakeLists.txt | Diff File | ||
mod - Modules/Loadable/VolumeRendering/MRMLDM/CMakeLists.txt | Diff File | ||
master 61afd870 2016-05-23 02:13:48 Details Diff |
ENH: Update VTK to include vtkPythonUtil tweak This change prevents crashes observed while investigating the impact of python module loading on the startup time. Merge request has been submitted upstream. See https://gitlab.kitware.com/vtk/vtk/merge_requests/1515 $ git shortlog fe92273..1c30cb0 --no-merges Jean-Christophe Fillion-Robin (1): BUG: vtkPythonUtil: Check if vtkPythonMap is valid git-svn-id: http://svn.slicer.org/Slicer4/trunk@25109 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_VTKv6.cmake | Diff File | ||
master ffcbce3c 2016-05-23 02:13:47 Details Diff |
ENH: Update CTK $ git shortlog a479422..adc88bf --no-merges Jean-Christophe Fillion-Robin (2): ENH: Update PythonQt BUG: ctkAbstractPythonManager: Handle case when PythonQt is not initialized git-svn-id: http://svn.slicer.org/Slicer4/trunk@25108 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild/External_CTK.cmake | Diff File | ||
master 877a086a 2016-05-21 20:07:33 Details Diff |
COMP: Fixed build error on windows Standard output did not accept const string with the << operator: http://slicer.cdash.org/viewBuildError.php?buildid=831173 If my fix of choice is not satisfactory, please feel free to override. git-svn-id: http://svn.slicer.org/Slicer4/trunk@25107 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/vtkAddon/vtkAddonTestingUtilities.cxx | Diff File | ||
mod - Libs/vtkAddon/vtkAddonTestingUtilities.txx | Diff File | ||
master 7a1d7300 2016-05-21 19:03:04 Details Diff |
BUG: 0004191 back out optimization that broke tests https://github.com/Slicer/Slicer/pull/505 From: Steve Pieper <pieper@isomics.com> git-svn-id: http://svn.slicer.org/Slicer4/trunk@25106 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Loadable/Markups/MRMLDM/vtkMRMLMarkupsFiducialDisplayableManager2D.cxx | Diff File | ||
mod - Modules/Loadable/Markups/MRMLDM/vtkMRMLMarkupsFiducialDisplayableManager3D.cxx | Diff File |