View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002794||Slicer4||Core: Base Code||public||2012-11-28 04:21||2014-05-12 23:32|
|Priority||normal||Severity||feature||Reproducibility||have not tried|
|Target Version||Fixed in Version|
|Summary||0002794: fast startup slice viewer|
Some users (Andrey, Jayashree) mentioned that they tend to use software other than slicer when they want to quickly review images because slice takes so long to start up.
It would be great to have a minimal slicer configuration that can load and display images passed on the command line.
The same tool could optionally also launch the full slicer application in the background and then switch over to it when it has been loaded.
I started looking at this and did a quick test.
I found that if I enable the ctkSimplePython shell in the ctk build and then launch it with a simple startup script I can get an image display in about 3 seconds (includes time to import vtk, slicer, qt into python, plus loading the volume).
But if I bring up slicer on the same machine it takes about 15 seconds, not including time to load volume.
This test was done on a mac mini with a debug build of slicer.
% ./Slicer-build/Slicer --launcher-no-splash --launch CTK-build/CTK-build/bin/ctkSimplePythonShell ~/Dropbox/hacks/slicer/slite.py
Contents of slite.py
for m in modules:
mrmlScene = slicer.vtkMRMLScene()
volumesLogic = vtkSlicerVolumesModuleLogic.vtkSlicerVolumesLogic()
Here's an experimental branch to move module loading out of the 'splash screen' phase of the start up process:
This works, in the sense that the GUI appears quickly. But then as expected it freezes while the module discovery process goes on.
What needs to happen next is to move the module discovery into threads.
Care will need to be taken on several fronts:
Is this something you plan on completing ? A prototype implementation to get a better understanding about the pros and cons of the approach ?
I might work on it now and then as time permits -- I tend to get motivated for it while waiting for slicer to startup :P
But I wanted to put this into the bug report so that if someone else can spend some time on it (perhaps as part of the end-of-year work for NAC) they will have some idea where to start. The nice thing about this project is that a programmer could work on it without really needing to know much about medical imaging or about how slicer works in general.
Make sens. Yeapp it is indeed a fun topic to tackle :)
|2012-11-28 04:21||pieper||New Issue|
|2012-11-28 04:21||pieper||Status||new => assigned|
|2012-11-28 04:21||pieper||Assigned To||=> jcfr|
|2012-11-30 12:52||jcfr||Category||RSNA2012 => Base Code|
|2012-11-30 12:52||jcfr||Target Version||=> Slicer 4.4.0|
|2012-11-30 12:53||jcfr||Tag Attached: RSNA2012|
|2012-11-30 13:04||pieper||Note Added: 0007396|
|2013-03-27 04:18||pieper||Note Added: 0008247|
|2013-03-27 07:17||jcfr||Note Added: 0008250|
|2013-03-27 09:41||pieper||Note Added: 0008251|
|2013-03-27 15:02||jcfr||Note Added: 0008255|
|2014-05-12 23:32||jcfr||Status||assigned => acknowledged|
|2014-05-12 23:32||jcfr||Target Version||Slicer 4.4.0 =>|