-
Notifications
You must be signed in to change notification settings - Fork 8
Roadmap
The following list presents different milestones planned for OpenMA. This gives you a good picture of where the focus will be put during development. You can see the advancements in the Milestones tab. Any addition can be requested by submitting an issue or a pull request at any time.
Any contribution is welcomed to help in the development of each milestone!
Code name: Knock knock, I am ready for a first release
- Generic C++ data structure to store the content of a movement acquisition:
- Trial
- TimeSequences (e.g. marker, analog, event, force, pose)
- Hardware (e.g. force plate)
- Functions to read/write from/to a C3D file
- Force plate implementation and management (types 2, 3, 4, 5)
- Wrench computation at different location (e.g COP, PWA)
- Soft reset integration
- CMake script to integrate OpenMA in a third party product
- Documentation
- Build guide
- General concepts
- Data stored for movement acquisitions
- C++ reference
- Contributors
- Benchmarks and validation
Code name: Let simplify third party integration
- Dynamic plug-in mechanism to add new file formats
- Dynamic plug-in mechanism to add new hardwares
- Documentation
- Plug-in loading mechanism
- Tutorial to implement a plug-in
Code name: OpenMA + SWIG = Python bindings
- Implement wrapping functions and classes to used OpenMA within Python
- Design an API close to pure Python library (e.g. no iterators, etc.)
- Focus on native Python types (e.g. list, array, NumPy)
- Documentation
- Build guide
- Python reference
- Python tutorials to retrieve and modify data
- Binary
- OpenMA for Python 2.7 32/64-bit (Linux, MacOS, Windows)
- OpenMA for Python 3.x 32/64-bit (Linux, MacOS, Windows)
Code name: OpenMA + SWIG = Matlab bindings
- Implement wrapping functions and classes to used OpenMA within Matlab
- Use the same API in Matlab than the one designed in Python
- Focus on native Matlab types (e.g. Matrix, Cell)
- Take into account the 1-based index
- Documentation
- Build guide
- Matlab reference
- Matlab tutorials to retrieve and modify data
- Binary
- OpenMA for Matlab R2008b and greater 32/64-bit (MacOS, Windows)
Code name: I can do like Biomechanical ToolKit
- Merge trials
- Concat trials
- Plugin for the Motion Analysis Corp. formats: ANB, ANC, CAL, TRB, TRC, XLS
- Improve the ASCII parsers to be more robust (see issue #59)
- Improve the CAL parser as its content can be more general
- Plugin for the Ascension Technology Corp. format: EMF
- Plugin for the AMTI Inc. format: BSF
- Plugin for the BTS Bioengineering formats: ANG, EMG, GR*, MOM, PWR, RAH, RAW, RIC, RIF, TDF
- Improve the TDF parser to support analog channels with different sample frequency.
- Plugin for the Content Inc. format: CLB
- Plugin for the Delsys Inc. format: EMG
- Plugin for the Charnwood Dynamics Ltd (Codamotion) formats: MDF, XMOVE
- Bindings
- Update of the Python and Matlab bindings
- Documentation
- Supported formats
- Difference between merge and concat operations
Code name: OpenMA + SWIG = R bindings
- Implement wrapping functions and classes to used OpenMA within Matlab
- Use the same API in R than the one designed in other bindings
- Focus on native R types (e.g. Matrix, List)
- Take into account the 1-based index
- Documentation
- R reference
- R tutorials
- Binary
- OpenMA for R 3.3.2 greater 32/64-bit (Linux, MacOS, Windows)
Code name: Let's introduce raw data processing
- New 'processing' module
- Trim/cut/resize operations on trial.
- Reorientation of a trial (e.g modify the vertical axis)
- Butterworth filter on TimeSequence objects
- GCV filter on TimeSequence objects
- Analog data processing (e.g rectification, envelope)
- Dynamic plug-in mechanism to add new algorithms
- Bindings
- Update of the bindings to access the content of the 'processing' module
- Documentation
- Tutorials associated with data processing
Code name: Did you say biomechanical models?
- New 'body' module
- Create your own model
- Adapt existing model definitions
- Predefined models
- Plug-in gait and these variants (KAD and KADMed)
- Lyon Whole Body Model (Dumas et al.)
- Pose estimator (non-optimal, least-square)
- Inverse dynamics computation
- Body segment inertial parameters estimation
- Dempster
- Dumas, McConville, and Young
- Extract joint kinematics and kinetics
- Dynamic plug-in mechanism to add new models and components
- Bindings
- Update of the bindings to access the content of the 'body' module
- Documentation
- Concepts behind the 'body' module
- Model template and these components (e.g. Segments, Joints, Probes)
- Calibration steps
- Fitting (reconstruction) step
- Tutorials
- Concepts behind the 'body' module
Code name: I detect, you detect, we detect
- New 'analysis' module
- C++ structure to represent a task cycle
- Data interpolation
- Task event detection algorithms
- Gait event detection: Zeni et al. (2007)
- Gait event detection: Bruening and ridge (2014)
- Outcome scores (e.g. GPS, GDI)
Code name: What is this Multibody Kinematic Optimization?
- Pose estimator based on joint constraint