Difference between revisions of "Roadmap"

From Slicer Wiki
Jump to: navigation, search
Tag: 2017 source edit
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<div class="nonumtoc">__TOC__</div>
+
__NOTOC__
  
== Goals ==
+
The roadmap help organize and prioritize development activities based on input of Slicer community and the needs of funded projects (NA-MIC, NAC, NCIGT, SlicerRT, etc...)
This page is a place to organize and prioritize development activities into a roadmap based on input of Slicer community and the needs of funded projects (NA-MIC, NAC, NCIGT, SlicerRT, etc...)
 
  
The list of issues targeted for each release are reported on mantis: http://na-mic.org/Mantis/roadmap_page.php
+
The list of issues targeted for each release are listed on the issue tracker:
  
The topics listed below includes Slicer application and dependent ToolKit. For the specific strategy and feature lists covering modules and extensions, visit their respective roadmaps and other documentation.
+
{{documentation/banner
 +
| text  = https://github.com/Slicer/Slicer/milestones
 +
| background-color = FFFFFF }}
  
== Priorities ==
+
Discussions are found on the labs pages in the [[Documentation/Labs#Roadmap|roadmap]] section.
  
=== As of February, 2013 ===
+
<!--
 
+
For the specific strategy and feature lists covering modules and extensions, visit their respective roadmaps and other documentation.
* {{done}} [[Documentation/Labs/ITKv4|ITKv4 integration]]
+
-->
* {{wip}} Ability to install python package using pip
 
* {{done}} Improve extension catalog frontend
 
* {{wip}} Faster Slicer start time
 
* {{wip}} [http://www.na-mic.org/Bug/view.php?id=2039 Support of python command line module]
 
* {{done}} Walk-thru documentation that clearly shows new developers step-by-step instructions to create and publish extensions.
 
 
 
== Deprecation / API Changes ==
 
 
 
List of deprecated methods / classes: http://slicer.org/doc/html/deprecated.html
 
 
 
Mantis tag '''Deprecation''': http://www.na-mic.org/Bug/search.php?project_id=3&sticky_issues=on&sortby=last_updated&dir=DESC&hide_status_id=80&tag_string=Deprecation
 
 
 
 
 
=== Pending ===
 
 
 
This section list the change that should be announced/discussed on the list before been integrated into Slicer trunk.
 
 
 
* CMake -  Minimum required CMake version will be 2.8.11 for all platforms.
 
 
 
 
 
=== Planned ===
 
 
 
This section list the change that have been announced/discussed on the list and will be integrated shortly into [[#Trunk|Slicer trunk]].
 
 
 
==== 4.4 ====
 
* Library:
 
** ITKv3 support will be removed from build system.
 
** Transition to VTK6
 
** Initial support for 4.8.5
 
 
 
* MRML - Default value for HideFromEditors will be change to False. See [http://www.na-mic.org/Bug/view.php?id=2906 #2906].
 
 
 
* Wigdets - Remove deprecated method <code>currentNodeId</code>. For reference see [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22059 r22059].
 
 
 
* Rename / Move - <code>vtkSlicerTransformLogic</code> will be renamed into <code>vtkSlicerTransformModuleLogic</code> and moved into <code>Modules/Loadable/Transform/Logic</code> - Consider updating the CMakeLists.txt and code of your modules. See instruction [[Documentation/Nightly/Developers/Tutorials/CreateLoadableModule#Dependency_between_modules|here]]. Associated issue [http://www.na-mic.org/Bug/view.php?id=2926 #2926]
 
 
 
* Remove <code>vtkMRMLScene::SceneEditedEvent</code>. See [http://www.na-mic.org/Bug/view.php?id=3472 #3472]
 
 
 
* CMake - Rename file <code>SlicerMacroBuildQtModule.cmake</code> into <code>SlicerMacroBuildLoadableModule.cmake</code>. See issue [http://www.na-mic.org/Bug/view.php?id=3332 #3332]
 
 
 
==== trunk  ====
 
* Remove vtkMRMLScene::Edited method and associated SceneEditedEvent. See [http://www.na-mic.org/Bug/view.php?id=3472 #3472] and [https://github.com/jcfr/Slicer/tree/3472-remove-vtkMRMLScene-edited 3472-remove-vtkMRMLScene-edited]
 
** Impact: Update EMSegment tcl files
 
 
 
* Remove VTK4 classes. Slicer Code refactoring to use pure VTK5 API. See [http://www.na-mic.org/Bug/view.php?id=3485 #3485]
 
 
 
=== Effective ===
 
 
 
==== Trunk ====
 
* Add Slicer_ADDITIONAL_REQUIRED_QT_MODULES to add QT modules. <del>See [https://github.com/finetjul/Slicer/tree/slicer-required-qt-modules-trunk finetjul/Slicer@slicer-required-qt-modules-trunk] </del> Fixed in [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22756 r22756], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22757 r22757] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22758 r22758]
 
* Clean logic header includes. <del>See [https://github.com/finetjul/Slicer/tree/vtkmrmlabstractlogic-clean-includes-trunk finetjul/Slicer@vtkmrmlabstractlogic-clean-includes-trunk]</del>. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22759 r22759] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22761 r22761]
 
** Impact: You may have to explicitly (1) forward declare classes or (2) include headers in your extension cpp files.
 
** <del>Anticipated issues: [http://www.na-mic.org/Bug/view.php?id=3493 #3493], [http://www.na-mic.org/Bug/view.php?id=3494 #3494]</del> Fixed in [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22693 r22693] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22712 r22712].
 
* Rename qSlicer.*IO classes into qSlicer.*Reader. <del>See [https://github.com/jcfr/Slicer/tree/rename-io-class-to-reader rename-io-class-to-reader]. See http://slicer-devel.65872.n3.nabble.com/Feedback-Rename-of-qSlicerXXXIO-class-into-qSlicerXXXReader-class-tt4030298.html</del>. Fixed in [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22762 r22762]. See http://slicer-devel.65872.n3.nabble.com/Extension-If-including-qSlicerXXXIO-class-consider-renaming-to-qSlicerXXXReader-class-was-Feedback-R-tt4030440.html
 
** Impact: <del>Rename class in DataStore module</del>. Fixed in [https://github.com/Slicer/Slicer-DataStore/commit/70aaedaa801d7d289435ae4399ad302f54073b3a Slicer/Slicer-DataStore@70aaedaa8]
 
* Consolidate qSlicerAppMainWindow. <del>See [https://github.com/finetjul/Slicer/tree/consolidate-qslicerappmainwindow-trunk finetjul/Slicer@consolidate-qslicerappmainwindow-trunk]</del> Fixed in [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22763 r22763]
 
** Extension/module depending on main window action name will have to be updated. See http://slicer-devel.65872.n3.nabble.com/Extension-If-referencing-MainWindow-menu-entry-by-name-consider-updating-your-code-tt4030441.html
 
 
 
==== 4.3.0 ====
 
* const std::vector<vtkMRMLDisplayNode*>& vtkMRMLDisplayableNode::GetDisplayNodes(); - Obsolete utility function that provides an unsafe API. Please use GetNumberOfDisplayNodes() and GetNthDisplayNode() instead
 
* CMake - Macro <code>slicerMacroBuildQtModule</code> will be renamed into <code>slicerMacroBuildLoadableModule</code>. See [http://www.na-mic.org/Bug/view.php?id=2648 #2648]
 
* CMake - Macro <code>slicerMacroBuildScriptedModule</code> should be used to build Scripted modules. See [https://github.com/xtk/SlicerWebGLExport/blob/0cd62734ad809bfc87aa422939c9732360d119df/WebGLExport/CMakeLists.txt#L32-36 here] for an example.
 
* Library - ITKv3 support is deprecated / not maintained.
 
* Scripted module should be built using <code>SlicerMacroBuildScriptedModule</code> instead of <code>ctkMacroCompilePythonScript</code>. See [https://github.com/Slicer/Slicer/commits/master/CMake/SlicerMacroBuildScriptedModule.cmake here].
 
* Generic tests associated with Loadable and Scripted module should be built specifying the <code>WITH_GENERIC_TESTS</code> option. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21768 r21768].
 
* Test driver associated with loadable module should be configured using <code>SlicerMacroConfigureModuleCxxTestDriver</code>. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21769 r21769].
 
* CMake - Minimum required CMake version will be 2.8.9 for Windows/Linux, CMake 2.8.11 for MacOSX - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21682 r21682]
 
* Library - ITKv4 will be enabled by default - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21688 r21688]
 
* Library - Qt 4.8.4 will be the recommended/required version
 
* Core - Removed unused class <code>Base/Logic/vtkSlicerROILogic</code> - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21744 r21744]
 
* Move Editor icons from "Base/Logic" into "EditorLib/Resources/Icons". See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21765 r21765]
 
* CMake - Macro <code>slicer_parse_arguments</code> has been removed. Consider using <code>cmake_parse_arguments</code> instead. See [http://www.cmake.org/cmake/help/v2.8.10/cmake.html#module:CMakeParseArguments CMakeParseArguments] - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21774 r21774]
 
* Slicer default Python version is <code>2.7.3</code> - See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21863 r21863], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21867 r21867], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21869 r21869], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21879 r21879], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21891 r21891]
 
* Python function PyRun_OpenFile/CloseFile have been removed. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21960 r21960]
 
* The <code>qMRMLNodeComboBox</code> property <code>currentNodeId</code> was renamed <code>currentNodeID</code>. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22052 22052]. The function <code>setCurrentNode(const QString &)</code> and <code>currentNodeId()</code> should be removed. See also [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22072 r22072].
 
* When using Visual Studio 8, installation of Service Pack 1 is now enforced by the build system. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22096 r22096], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22098 r22098]
 
* <code>if(NOT Slicer_SOURCE_DIR)</code> not required any more in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22063 r22063]
 
* <code>project()</code> statment now allowed in extension CMakeLists.txt. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22038 r22038], [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22115 r22115]
 
* <code>vtkMRMLDisplayableNode::GetNthDisplayNodeByClass()</code> has been removed
 
* <code>vtkMRMLSelectionNode::AddNewAnnotationIDToList()</code> has been renamed into <code>vtkMRMLSelectionNode::AddNewPlaceNodeClassNameToList()</code>
 
* <code>vtkMRMLSelectionNode::SetReferenceActiveAnnotationID()</code> has been renamed into <code>vtkMRMLSelectionNode::SetReferenceActivePlaceNodeClassName</code>
 
 
 
===== SlicerExecutionModel =====
 
* CMake - CMake 2.8.4 will be required. Macro <code>Pre283CMakeParseArguments.cmake</code> will be removed. See [https://github.com/jcfr/SlicerExecutionModel/commit/ce6205807d7a8ce1b4c486a5507c94876636bec1 ce620580]
 
* CMake - Macro <code>slicerMacroBuildCLI</code> will be removed. Use <code>SEMMacroBuildCLI</code> instead.
 
* CMake - Parameter <code>CLI_SHARED_LIBRARY_WRAPPER_CXX</code> of macro <code>SEMMacroBuildCLI</code> is removed. Use <code>CLI_LIBRARY_WRAPPER_CXX</code> instead.
 
 
 
==== 4.2.0 ====
 
===== SlicerExecutionModel =====
 
* CMake - Macro <code>slicerMacroBuildCLI</code> marked as deprecated. See [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=21634 r21634] and [http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=17781 r17781].
 
* CMake - Parameter <code>CLI_SHARED_LIBRARY_WRAPPER_CXX</code> of macro <code>slicerMacroBuildCLI / SEMMacroBuildCLI</code> is deprecated. Use <code>CLI_LIBRARY_WRAPPER_CXX</code> instead.
 

Latest revision as of 00:28, 17 May 2021

Home < Roadmap


The roadmap help organize and prioritize development activities based on input of Slicer community and the needs of funded projects (NA-MIC, NAC, NCIGT, SlicerRT, etc...)

The list of issues targeted for each release are listed on the issue tracker:

https://github.com/Slicer/Slicer/milestones

Discussions are found on the labs pages in the roadmap section.