|As a||CEP developer|
|I would like to||add easily manipulate array of data (values, signals, vectors...) to any type of component (not MeshComponent nor ImageComponent)|
|So that||I can visualize/interact data as colors on a mesh, as graph/curve|
Description / Overview
The epic is called "Interface Data" or how to include 1D temporal signal in CamiTK.
This is a new facet for
Component that enables storage, manipulation, visualization and interaction with/of array of data. The idea is to offer data abstraction and minimal default behaviour for signal and temporal values.
In the design stage, first check:
- Check the Pulse project to check how they store the signals
- Check the work done by Nico (see
incubator-local/respirmCEP) in order to handle 1D signal and their representation using a dedicated viewer based on vtkChart library (and some action to process them). In particular check the viewer and the defined actions.
- Check open-source application that help manipulate data and display charts to deduce best practices
- Check for standard in signal processing data format and processing library (if any)
One idea would be to be able to use a python interface/shell/script in order to process the signal directly from a console...
As for any creation of interface in CamiTK, this can be done following these steps:
- Create a new interface that add the management of a list of
- Create the corresponding helper class
- Create the corresponding viewer (using vtkChart and the possibility to add data as if it was a live physiological signal) and integrate it to camitk-imp
- Create another viewer to display data in a table/spreadsheet
- Take into account the fact that
MeshComponentcan project the data as colors
- move addPointData/addCellData in
InterfaceGeometryor to the new
InterfaceDatainterface (may be use an enum for
- a new tutorial component that shows how to add/remove/show these data in the new viewer
- a new tutorial MeshComponent that shows how data can be displayed directly on the mesh surface
- a new tutorial that shows generates random value based on a sinus function to show how update/acquisition can be done
/label Track Technology Integration