BTK  0.3dev.0
Open-source library to visualize/process biomechanical data
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
btk::VerticalGroundReactionForceGaitEventDetector Class Reference

Detect heel strike and toe-off events during gait from vertical ground reaction wrench. More...

Inheritance diagram for btk::VerticalGroundReactionForceGaitEventDetector:
Inheritance graph
[legend]

Public Types

typedef btkSharedPtr< const
VerticalGroundReactionForceGaitEventDetector
ConstPointer
 
typedef btkSharedPtr
< VerticalGroundReactionForceGaitEventDetector
Pointer
 
- Public Types inherited from btk::ProcessObject
typedef btkSharedPtr< const
ProcessObject
ConstPointer
 
typedef btkSharedPtr
< ProcessObject
Pointer
 
- Public Types inherited from btk::Object
typedef btkSharedPtr< const
Object
ConstPointer
 
typedef btkSharedPtr< ObjectPointer
 

Public Member Functions

void GetAcquisitionInformation (int &firstFrame, double &freq, std::string &subjectName)
 
const std::vector< std::string > & GetForceplateContextMapping () const
 
WrenchCollection::Pointer GetInput ()
 
EventCollection::Pointer GetOutput ()
 
const int * GetRegionOfInterest () const
 
int GetThresholdValue () const
 
void SetAcquisitionInformation (int firstFrame, double freq, const std::string &subjectName)
 
void SetForceplateContextMapping (const std::vector< std::string > &mapping)
 
void SetInput (Wrench::Pointer input)
 
void SetInput (WrenchCollection::Pointer input)
 
void SetRegionOfInterest (int lb=-1, int ub=-1)
 
void SetThresholdValue (int threshold)
 
- Public Member Functions inherited from btk::ProcessObject
int GetInputNumber () const
 
int GetOutputNumber () const
 
int GetValidInputNumber () const
 
void ResetState ()
 
void Update ()
 
- Public Member Functions inherited from btk::Object
unsigned long int GetTimestamp () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual void GenerateData ()
 
WrenchCollection::Pointer GetInput (int idx)
 
EventCollection::Pointer GetOutput (int idx)
 
virtual DataObject::Pointer MakeOutput (int idx)
 
 VerticalGroundReactionForceGaitEventDetector ()
 
- Protected Member Functions inherited from btk::ProcessObject
int GetInputIndex (DataObject::Pointer input)
 
DataObject::Pointer GetNthInput (int idx)
 
DataObject::ConstPointer GetNthInput (int idx) const
 
DataObject::Pointer GetNthOutput (int idx)
 
DataObject::ConstPointer GetNthOutput (int idx) const
 
int GetOutputIndex (DataObject::Pointer output)
 
bool IsModified () const
 
void Modified ()
 
 ProcessObject ()
 
void SetInputNumber (int num)
 
virtual void SetNthInput (int idx, DataObject::Pointer input)
 
virtual void SetNthOutput (int idx, DataObject::Pointer output)
 
void SetOutputNumber (int num)
 
virtual ~ProcessObject ()
 
- Protected Member Functions inherited from btk::Object
 Object ()
 
 Object (const Object &toCopy)
 
virtual ~Object ()
 

Additional Inherited Members

- Protected Attributes inherited from btk::Object
unsigned long int m_Timestamp
 

Detailed Description

Detect heel strike and toe-off events during gait from vertical ground reaction wrench.

To fill exactly the detected events, you need to give some extra information to this filter:

To detect the heel strike and toe-off events you can set some options:

The algorithm works as following: Based on the region of interest, the maximum is searched. If the maximum is higher than the threshold set, then the frame of the value on the left side of this maximum lower than the threshold is used to create a heel strike event. On the other hand, the value on the right side of the maximum lower than the threshold is used to create a toe-off event.

Note
: The design of this class is not perfect as it cannot be used in a pipeline without to update the part before to know some acquisition's information (first frame, sample frequency, subject's name). This class (or the pipeline mechanism) could be modified in a future version of BTK to make up this problem.

Member Typedef Documentation

Smart pointer associated with a const VerticalGroundReactionForceGaitEventDetector object.

Smart pointer associated with a VerticalGroundReactionForceGaitEventDetector object.

Constructor & Destructor Documentation

btk::VerticalGroundReactionForceGaitEventDetector::VerticalGroundReactionForceGaitEventDetector ( )
protected

Constructor. By default, the treshold is set to 10 newtons and the algoritm search events on all the frames.

Member Function Documentation

void btk::VerticalGroundReactionForceGaitEventDetector::GenerateData ( )
protectedvirtual

Algorithm used to detect events during the gait.

Implements btk::ProcessObject.

void btk::VerticalGroundReactionForceGaitEventDetector::GetAcquisitionInformation ( int &  firstFrame,
double &  freq,
std::string &  subjectName 
)

Returns the informations required to set correctly the detected events.

const std::vector< std::string > & btk::VerticalGroundReactionForceGaitEventDetector::GetForceplateContextMapping ( ) const
inline

Returns the mapping between the wrenches in the input and the gait events to detect.

EventCollection::Pointer btk::VerticalGroundReactionForceGaitEventDetector::GetInput ( )
inline

Gets the input registered with this process.

Acquisition::Pointer btk::VerticalGroundReactionForceGaitEventDetector::GetInput ( int  idx)
inlineprotected

Returns the input at the index idx.

EventCollection::Pointer btk::VerticalGroundReactionForceGaitEventDetector::GetOutput ( )
inline

Gets the output created with this process.

Acquisition::Pointer btk::VerticalGroundReactionForceGaitEventDetector::GetOutput ( int  idx)
inlineprotected

Returns the output at the index idx.

const int * btk::VerticalGroundReactionForceGaitEventDetector::GetRegionOfInterest ( ) const
inline

Returns the region of interest to use to detect gait events.

int btk::VerticalGroundReactionForceGaitEventDetector::GetThresholdValue ( ) const
inline

Returns the threshold used to detect gait events.

DataObject::Pointer btk::VerticalGroundReactionForceGaitEventDetector::MakeOutput ( int  idx)
protectedvirtual

Generate the output used by this filter.

Implements btk::ProcessObject.

static Pointer btk::VerticalGroundReactionForceGaitEventDetector::New ( )
inlinestatic

Creates a smart pointer associated with a VerticalGroundReactionForceGaitEventDetector object.

void btk::VerticalGroundReactionForceGaitEventDetector::SetAcquisitionInformation ( int  firstFrame,
double  freq,
const std::string &  subjectName 
)

Set the informations required to set correctly the detected events.

void btk::VerticalGroundReactionForceGaitEventDetector::SetForceplateContextMapping ( const std::vector< std::string > &  mapping)

Sets the mapping between the given wrenches and the side of the detected events. If no mapping is given, then all the detected events will be set as "General" events.

void btk::VerticalGroundReactionForceGaitEventDetector::SetInput ( Wrench::Pointer  input)
inline

Sets the input required with this process. This input is transformed in a collection wrenches with a single force platform.

void btk::VerticalGroundReactionForceGaitEventDetector::SetInput ( WrenchCollection::Pointer  input)
inline

Sets the input required with this process.

void btk::VerticalGroundReactionForceGaitEventDetector::SetRegionOfInterest ( int  lb = -1,
int  ub = -1 
)

Sets the region of interest to use to detect gait events.

Warning
The boundaries must be set using zero-based indices.
void btk::VerticalGroundReactionForceGaitEventDetector::SetThresholdValue ( int  threshold)

Sets the threshold used to detect gait events.