10 likes | 107 Vues
This project focuses on enhancing the CIS library to make it more portable, maintainable, and user-friendly by introducing new modules and architecture safeguarded by CMake and CVS. It addresses the need for modularity, documentation, and testing, catering to diverse CISST applications. The impact includes rapid, modular development, robustness, SWIG wrapping for rapid prototyping, and innovation in cisstVector design. The project involves graduate students, faculty, and staff and aims to finish the library redesign, publish cisstVector design, and deploy under an open-source license.
E N D
TEST RESULTS TEST APPLICATIONS LIBRARY BINARIES Robot & Tracker Applications DOCUMENTATION (Compiled LaTeX Document) CISST Software Development Kit& Methodology • THE SOLUTION • Rearchitecting CIS library to improve maintainability, portability and usability. • Library architecture safeguarded by CMake, CVS • New modules for: • Operating system abstraction • Unit testing framework based on CPPUNIT • Use SWIG to automate wrapping of C++ code for interpreted languages (Python, TCL). • Online debugging and command-line interaction (see IRE) • Redesign in testing for: • Common data structures and tools • Fixed size vectors • Other CIS modules (numerical methods, …) pending. • THE PROBLEM • Many software components can be common to diverse CISST applications, but they must be: • Portable (compilers and operating systems). • Modular, so that dependencies are minimized. • Well documented. • Easily tested (e.g., for regression testing). • Researchers use C++ (sometimes Java), which do not provide interactive development/scripting. • Existing CIS library has been invaluable, but does not adequately address these needs. • THE IMPACT • Modular design of CISST permits rapid object-orientated, “parts-assembly” style development • Regular test builds ensure robustness • SWIG wrapping enables rapid prototyping and creation of interactive environments (see IRE) • Innovative design of cisstVector based on template meta-programming provides: • Efficiency • Scalability (different vector sizes) • Different data types • Stride Some other picture here. Maybe something for cisstVector? • PEOPLE INVOLVED • Graduate Students: Ankur Kapoor, Andy LaMora, Ofri Sadowsky, Anand Viswanathan • Engineering Faculty: Peter Kazanzides, Russell Taylor • Staff: Anton Deguet, Csaba Csoma • THE FUTURE • Finish redesign of CIS library • Submit publication describing cisstVector design • Deploy software under open source license • SUPPORTED BY: • Core NSF CISST/ERC • PUBLICATIONS • There are publications that I will add later… Engineering Research Center for Computer Integrated Surgical Systems and Technology