Difference between revisions of "Slicer3:Slicer3 Requirements"

From NAMIC Wiki
Jump to: navigation, search
m (Update from Wiki)
 
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
−
<br />
+
<big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [https://www.slicer.org/wiki/Slicer3:Slicer3_Requirements  here]</font></big>
−
 
 
−
== High level requirements discussed at the February 2006 meetings in Clifton Park ==
 
−
 
 
−
=== General Requirements ===
 
−
 
 
−
* User interface will be single threaded
 
−
* Cross session state
 
−
* Tracing
 
−
* Algorithms can be multi-threaded
 
−
* Undo/Redo
 
−
* Guaranteed performance
 
−
* Exceptions vs events vs error messages
 
−
* Events are more robust
 
−
* MRML
 
−
** Independent of vtk/itk
 
−
** Is it a Slicer project or for a larger community
 
−
* Handling of meta data
 
−
** Mixture of vtk/itk + mrml
 
−
** Mrml only
 
−
 
 
−
=== Requirements - Languages ===
 
−
 
 
−
* Scripting language
 
−
** Not in Slicer base
 
−
** But should be wrappable
 
−
** Modules can use whatever
 
−
*** C++ preferred
 
−
*** Tcl, python, shell scripts allowed
 
−
* Programming language – C++
 
−
* Data model – MRML
 
−
* Module description language – JSON XML ??
 
−
 
 
−
=== Requirements - Toolkits ===
 
−
 
 
−
* UI toolkit – kwwidgets
 
−
* System toolkit – kwsys
 
−
** May need enhancements
 
−
** Sockets, pipes …
 
−
* Logging
 
−
** ??
 
−
* Imaging/Segmentation/Registration toolkit – itk2.x
 
−
* Visualization toolkit – vtk5.x
 
−
* Structured Image I/O – itk IO factory
 
−
** Headerless – nrrd, meta
 
−
* DICOM
 
−
** gdcm
 
−
* DICOM Query/Retrieve
 
−
** dcmtk
 
−
* Other dataset I/O – vtk
 
−
* Containers - Standard template library
 
−
** Level of exposure
 
−
* Command line parser
 
−
** Candidates
 
−
*** Tclap
 
−
*** meta
 
−
*** Kwsys
 
−
*** Cli
 
−
 
 
−
=== Requirements - Software Engineering ===
 
−
 
 
−
* System build – CMake
 
−
* System test – Dart 2/CTest
 
−
* System packaging - CPack
 
−
* Style
 
−
* Kwstyle
 
−
** Each toolkit will use its own style
 
−
** Slicer
 
−
*** Vtk/itk
 
−
* Documentation
 
−
** Object Classes with doxygen style
 
−
** Word/Powerpoint
 
−
** Courseware
 
−
** Powerpoint/html
 
−
* Future Issuse
 
−
** Process
 
−
** Backward compatibility
 
−
** Software Review process
 

Latest revision as of 18:07, 10 July 2017

Home < Slicer3:Slicer3 Requirements

Note: We are migrating this content to the slicer.org domain - The newer page is here