|
|
Line 1: |
Line 1: |
− | <br /> | + | <big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [http://www.slicer.org/slicerWiki/index.php/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
| |