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

Separate a collection of points in five categories to be able to distinguish real markers from the others. More...

#include <btkSeparateKnownVirtualMarkersFilter.h>

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

Classes

struct  StringAxes
 Structure to store the four labels used for a refrence frame. More...
 

Public Types

enum  {
  AllMarkers = 4, Markers = 0, VirtualReferenceFrames = 1, VirtualMarkers = 2,
  OtherPoints = 3
}
 
typedef btkSharedPtr< const
SeparateKnownVirtualMarkersFilter
ConstPointer
 
typedef btkSharedPtr
< SeparateKnownVirtualMarkersFilter
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 AppendVirtualMarker (const std::string &label)
 
void AppendVirtualMarkers (const std::list< std::string > &labels)
 
void AppendVirtualReferenceFrame (const std::string &o, const std::string &a1, const std::string &a2, const std::string &a3)
 
void AppendVirtualReferenceFrame (const StringAxes &label)
 
void AppendVirtualReferenceFrames (const std::list< StringAxes > &labels)
 
PointCollection::Pointer GetInput ()
 
const std::string & GetLabelPrefix () const
 
PointCollection::Pointer GetOutput (int idx)
 
const std::list< std::string > & GetVirtualMarkers () const
 
const std::list< StringAxes > & GetVirtualReferenceFrames () const
 
void ResetDefinitions ()
 
void SetInput (PointCollection::Pointer input)
 
void SetLabelPrefix (const std::string &prefix)
 
void SetVirtualMarkers (const std::list< std::string > &labels)
 
void SetVirtualReferenceFrames (const std::list< StringAxes > &labels)
 
- 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 ()
 
PointCollection::Pointer GetInput (int idx)
 
virtual DataObject::Pointer MakeOutput (int idx)
 
 SeparateKnownVirtualMarkersFilter ()
 
- 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

Separate a collection of points in five categories to be able to distinguish real markers from the others.

These categories are:

  1. all kind of markers (real and virtual) as stored in the acquisition
  2. markers
  3. virtual reference frames (origin and 3 axes)
  4. virtual markers (CenterOfMass, ...)
  5. other points (angle, force, moment, power, ...)

To select the output corresponding to the chosen category, you can use the method GetOutput() with one of these enum values: AllMarkers, Markers, VirtualReferenceFrames, VirtualMarkers, OtherPoints.

By default, the list of labels known as virtual markers used for frame is:

By default, the list of labels known as other virtual markers is:

You can also add a prefix for the markers' label by using the method SetLabelPrefix. This prefix will be concatenated to the markers' label during the separation.

This filter only copies the pointer associated which each point instead of using a deep copy of it.

Member Typedef Documentation

Smart pointer associated with a const SeparateKnownVirtualMarkersFilter object.

Smart pointer associated with a SeparateKnownVirtualMarkersFilter object.

Member Enumeration Documentation

anonymous enum
Enumerator
AllMarkers 

Contains all kind of markers (real and virtual) as stored in the acquisition

Markers 

Contains only real markers.

VirtualReferenceFrames 

Contains markers used to create virutal frames

VirtualMarkers 

Contains markers used to define compute 3D position along the time (e.g center of mass)

OtherPoints 

Contains all the other points (i.e angle, force, moment, power, etc.)

Constructor & Destructor Documentation

btk::SeparateKnownVirtualMarkersFilter::SeparateKnownVirtualMarkersFilter ( )
protected

Constructor. Sets the number of inputs to 1 and outputs to 5.

Member Function Documentation

void btk::SeparateKnownVirtualMarkersFilter::AppendVirtualMarker ( const std::string &  label)

Append a label to the list of virtual markers used in another context than virtual frames.

void btk::SeparateKnownVirtualMarkersFilter::AppendVirtualMarkers ( const std::list< std::string > &  labels)

Append a list of labels to the list of virtual markers used in another context than virtual frames.

void btk::SeparateKnownVirtualMarkersFilter::AppendVirtualReferenceFrame ( const std::string &  o,
const std::string &  a1,
const std::string &  a2,
const std::string &  a3 
)
inline

Convenient method to append labels used for a frame to the list of virtual frames.

void btk::SeparateKnownVirtualMarkersFilter::AppendVirtualReferenceFrame ( const StringAxes label)

Appends labels used for a frame to the list of virtual frames.

void btk::SeparateKnownVirtualMarkersFilter::AppendVirtualReferenceFrames ( const std::list< StringAxes > &  labels)

Appends a list of labels to the list of virtual markers used for the virtual frames. Each label is checked before to be inserted to not have duplication.

void btk::SeparateKnownVirtualMarkersFilter::GenerateData ( )
protectedvirtual

Generates the outputs' data.

Implements btk::ProcessObject.

PointCollection::Pointer btk::SeparateKnownVirtualMarkersFilter::GetInput ( )
inline

Gets the input registered with this process.

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

Returns the input at the index idx.

const std::string & btk::SeparateKnownVirtualMarkersFilter::GetLabelPrefix ( ) const
inline

Returns the prefix which will be concatenated to the markers' label during the separation.

PointCollection::Pointer btk::SeparateKnownVirtualMarkersFilter::GetOutput ( int  idx)
inline

Returns the output at the index idx.

const std::list< std::string > & btk::SeparateKnownVirtualMarkersFilter::GetVirtualMarkers ( ) const
inline

Returns the list of labels for the virtual markers used in another context than virtual frames.

const std::list< std::string > & btk::SeparateKnownVirtualMarkersFilter::GetVirtualReferenceFrames ( ) const
inline

Returns the list of labels for the virtual markers used to create virtual frames.

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

Creates a PointCollection:Pointer object and return it as a DataObject::Pointer.

Implements btk::ProcessObject.

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

Creates a smart pointer associated with a SeparateKnownVirtualMarkersFilter object.

void btk::SeparateKnownVirtualMarkersFilter::ResetDefinitions ( )

Reset the list of labels used to define virtual markers and virtual frames to their default value.

By default, the list of labels used for virtual frames is:

  • HED(O|A|L|P): HEDO, HEDA, HEDL, HELP
  • LCL(O|A|L|P)
  • LFE(O|A|L|P)
  • LFO(O|A|L|P)
  • LHN(O|A|L|P)
  • LHU(O|A|L|P)
  • LRA(O|A|L|P)
  • LTI(O|A|L|P)
  • LTO(O|A|L|P)
  • PEL(O|A|L|P)
  • RCL(O|A|L|P)
  • RFE(O|A|L|P)
  • RFO(O|A|L|P)
  • RHN(O|A|L|P)
  • RHU(O|A|L|P)
  • RRA(O|A|L|P)
  • RTI(O|A|L|P)
  • RTO(O|A|L|P)
  • TRX(O|A|L|P)

By default, the list of labels for virtual markers is:

  • CenterOfMass
  • CenterOfMassFloor
void btk::SeparateKnownVirtualMarkersFilter::SetInput ( PointCollection::Pointer  input)
inline

Sets the input required with this process.

void btk::SeparateKnownVirtualMarkersFilter::SetLabelPrefix ( const std::string &  prefix)

Sets the prefix which will be concatenated to the markers' label during the separation.

void btk::SeparateKnownVirtualMarkersFilter::SetVirtualMarkers ( const std::list< std::string > &  labels)

Sets the list of labels for the virtual markers used in another context than virtual frames. Each label is checked before to be inserted to not have duplication.

void btk::SeparateKnownVirtualMarkersFilter::SetVirtualReferenceFrames ( const std::list< StringAxes > &  labels)

Sets the list of labels for the virtual markers used to create virtual frames.