- Author
- Thomas Egger
- Date
- 2011-01-22
#include <WindowedFilter.h>
|
| WindowedFilter (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &name, const Config &cfg, const bool &skipWindowParams=false) |
| Construct a WindowedFilter Object. This is for filters that require a certain window of data. More...
|
|
void | setWindowFParams (const std::vector< std::pair< std::string, std::string > > &vecArgs) |
| Parse the arguments in order to retrieve the user parameters for the data window. The following parameters are recognized: More...
|
|
const std::vector< const MeteoData * > & | get_window (const size_t &index, const std::vector< MeteoData > &ivec) |
| A function that cuts out the desired window for the 'index' element within ivec, the window elements are stored into vec_window Calls to this function have to start with index 0, then 1, 2, 3, ... vec_window is not allowed to be changed between two calls. More...
|
|
bool | get_window_specs (const size_t &index, const std::vector< MeteoData > &ivec, size_t &start, size_t &end) const |
| A function that computes the start and end for a window for the 'index' element from ivec The principle is to compute the first index that matches the minimum number of points criteria, and the one that matches the minimum time window, then combine them (with the equivalent of OR: we take the MIN index). Afterward, we compute the last index [...] for number of points and the last index [...] for the time window and combine them (with the equivalent of OR: we take the MIN index) or vice versa for right centering. More...
|
|
| ProcessingBlock (const std::vector< std::pair< std::string, std::string > > &vecArgs, const std::string &name, const Config &cfg) |
| protected constructor only to be called by children More...
|
|
|
static void | readCorrections (const std::string &filter, const std::string &filename, std::vector< double > &X, std::vector< double > &Y) |
| Read a data file structured as X Y value on each lines. More...
|
|
static void | readCorrections (const std::string &filter, const std::string &filename, std::vector< double > &X, std::vector< double > &Y1, std::vector< double > &Y2) |
| Read a data file structured as X Y1 Y2 value on each lines. More...
|
|
static std::vector< double > | readCorrections (const std::string &filter, const std::string &filename, const size_t &col_idx, const char &c_type, const double &init) |
| Read a correction file applicable to repeating time period. More...
|
|
static std::vector< offset_spec > | readCorrections (const std::string &filter, const std::string &filename, const double &TZ, const size_t &col_idx=2) |
| Read a correction file, ie a file structured as timestamps followed by values on each lines. More...
|
|
static std::map< std::string, std::vector< DateRange > > | readDates (const std::string &filter, const std::string &filename, const double &TZ) |
| Read a list of date ranges by stationIDs from a file. More...
|
|
static void | extract_dbl_vector (const unsigned int ¶m, const std::vector< MeteoData > &ivec, std::vector< double > &ovec) |
|
static void | extract_dbl_vector (const unsigned int ¶m, const std::vector< const MeteoData * > &ivec, std::vector< double > &ovec) |
|
static const double | soil_albedo = .23 |
|
static const double | snow_albedo = .85 |
|
static const double | snow_thresh = .1 |
| parametrize the albedo from HS More...
|
|
◆ Centering
Enumerator |
---|
left | left centered window
|
center | centered window
|
right | right centered window
|
◆ WindowedFilter()
mio::WindowedFilter::WindowedFilter |
( |
const std::vector< std::pair< std::string, std::string > > & |
vecArgs, |
|
|
const std::string & |
name, |
|
|
const Config & |
cfg, |
|
|
const bool & |
skipWindowParams = false |
|
) |
| |
|
protected |
Construct a WindowedFilter Object. This is for filters that require a certain window of data.
- Parameters
-
[in] | vecArgs | Vector containing all the filter's arguments |
[in] | name | Name of the filter (used to report errors) |
[in] | cfg | Config object to allow reading additional information |
[in] | skipWindowParams | if set to true, do NOT read and initialize the Window parameters (default: false) so they can be initialized later. |
◆ get_window()
const std::vector< const MeteoData * > & mio::WindowedFilter::get_window |
( |
const size_t & |
index, |
|
|
const std::vector< MeteoData > & |
ivec |
|
) |
| |
|
protected |
A function that cuts out the desired window for the 'index' element within ivec, the window elements are stored into vec_window Calls to this function have to start with index 0, then 1, 2, 3, ... vec_window is not allowed to be changed between two calls.
- Parameters
-
index | The index of the element in ivec that requires a window |
ivec | The original sequence of data points |
◆ get_window_specs()
bool mio::WindowedFilter::get_window_specs |
( |
const size_t & |
index, |
|
|
const std::vector< MeteoData > & |
ivec, |
|
|
size_t & |
start, |
|
|
size_t & |
end |
|
) |
| const |
|
protected |
A function that computes the start and end for a window for the 'index' element from ivec The principle is to compute the first index that matches the minimum number of points criteria, and the one that matches the minimum time window, then combine them (with the equivalent of OR: we take the MIN index). Afterward, we compute the last index [...] for number of points and the last index [...] for the time window and combine them (with the equivalent of OR: we take the MIN index) or vice versa for right centering.
- Parameters
-
index | The index of the element in ivec that requires a window |
ivec | The original sequence of data points |
start | the start index of the window |
end | the end index of the window |
- Returns
- true if success, false if a window could not be computed
◆ process()
virtual void mio::WindowedFilter::process |
( |
const unsigned int & |
param, |
|
|
const std::vector< MeteoData > & |
ivec, |
|
|
std::vector< MeteoData > & |
ovec |
|
) |
| |
|
pure virtual |
◆ setWindowFParams()
void mio::WindowedFilter::setWindowFParams |
( |
const std::vector< std::pair< std::string, std::string > > & |
vecArgs | ) |
|
|
protected |
Parse the arguments in order to retrieve the user parameters for the data window. The following parameters are recognized:
- CENTERING: the time-centering of the data window can be either left, right or center;
- MIN_PTS: minimum number of points that the window must contain;
- MIN_SPAN: minimum time width of the data window (in seconds).
- Parameters
-
[in] | vecArgs | Vector containing all the filter's arguments NOTE: the "soft" argument is also processed. |
◆ centering
This is filled in the constructor by calling setWindowFParams.
◆ is_soft
bool mio::WindowedFilter::is_soft |
|
protected |
◆ last_end
size_t mio::WindowedFilter::last_end |
|
protected |
◆ last_start
size_t mio::WindowedFilter::last_start |
|
protected |
◆ min_data_points
size_t mio::WindowedFilter::min_data_points |
|
protected |
This is filled in the constructor by calling setWindowFParams.
◆ min_time_span
Duration mio::WindowedFilter::min_time_span |
|
protected |
This is filled in the constructor by calling setWindowFParams.
The documentation for this class was generated from the following files: