|
|
| 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
| |