MedianFilteredLinearConvertedValue.h
Go to the documentation of this file.
1
#pragma once
2
3
4
// TODO: Should not depend on the whole ethercat library.
5
#include <
armarx/control/ethercat/DataInterface.h
>
6
#include <
armarx/control/rt_filters/RtMedianFilter.h
>
7
8
namespace
armarx::control::rt_filters
9
{
10
template
<
typename
T>
11
class
MedianFilteredLinearConvertedValue
12
{
13
public
:
14
MedianFilteredLinearConvertedValue
() =
default
;
15
MedianFilteredLinearConvertedValue
(
MedianFilteredLinearConvertedValue
&&) =
default
;
16
MedianFilteredLinearConvertedValue
(
const
MedianFilteredLinearConvertedValue
&) =
default
;
17
MedianFilteredLinearConvertedValue
&
18
operator=
(
MedianFilteredLinearConvertedValue
&&) =
default
;
19
MedianFilteredLinearConvertedValue
&
20
operator=
(
const
MedianFilteredLinearConvertedValue
&) =
default
;
21
22
void
23
init
(
T
* raw,
24
const
DefaultRapidXmlReaderNode
& node,
25
float
defaultValue = std::nan(
"1"
),
26
bool
offsetBeforeFactor =
true
,
27
const
char
* nameForDebugging =
""
)
28
{
29
lcv
.init(raw, node, defaultValue, offsetBeforeFactor, nameForDebugging);
30
median
=
RtMedianFilter
{node.
attribute_as
<std::size_t>(
"median_filter_width"
)};
31
}
32
33
void
34
read
()
35
{
36
lcv
.read();
37
value
=
median
.
update
(
lcv
.value);
38
}
39
40
ethercat::LinearConvertedValue<T>
lcv
;
41
RtMedianFilter
median
;
42
float
value
= 0;
43
};
44
45
}
// namespace armarx::control::rt_filters
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::lcv
ethercat::LinearConvertedValue< T > lcv
Definition:
MedianFilteredLinearConvertedValue.h:40
armarx::DefaultRapidXmlReaderNode
Definition:
DefaultRapidXmlReader.h:36
armarx::control::ethercat::LinearConvertedValue
Brief description of class LinearConvertedValue.
Definition:
LinearConvertedValue.h:43
armarx::control::rt_filters
Definition:
AverageFilter.cpp:3
DataInterface.h
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::init
void init(T *raw, const DefaultRapidXmlReaderNode &node, float defaultValue=std::nan("1"), bool offsetBeforeFactor=true, const char *nameForDebugging="")
Definition:
MedianFilteredLinearConvertedValue.h:23
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::MedianFilteredLinearConvertedValue
MedianFilteredLinearConvertedValue()=default
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::value
float value
Definition:
MedianFilteredLinearConvertedValue.h:42
RtMedianFilter.h
armarx::control::rt_filters::MedianFilteredLinearConvertedValue
Definition:
MedianFilteredLinearConvertedValue.h:11
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::read
void read()
Definition:
MedianFilteredLinearConvertedValue.h:34
T
float T
Definition:
UnscentedKalmanFilterTest.cpp:38
armarx::DefaultRapidXmlReaderNode::attribute_as
void attribute_as(const std::string &attrName, T &value) const
Definition:
DefaultRapidXmlReader.h:239
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::operator=
MedianFilteredLinearConvertedValue & operator=(MedianFilteredLinearConvertedValue &&)=default
armarx::control::rt_filters::MedianFilteredLinearConvertedValue::median
RtMedianFilter median
Definition:
MedianFilteredLinearConvertedValue.h:41
armarx::control::rt_filters::RtMedianFilter::update
float update(float value)
Definition:
RtMedianFilter.cpp:14
armarx::control::rt_filters::RtMedianFilter
Definition:
RtMedianFilter.h:13
armarx
control
rt_filters
MedianFilteredLinearConvertedValue.h
Generated on Sat Mar 29 2025 09:17:35 for armarx_documentation by
1.8.17