forward declaration
class IterativeFDiffFilter is an iteration loop that applies FDiffFilters to the data, rejecting outliers and fixing slips in each iteration.
Definition at line 113 of file FDiffFilter.hpp.
#include <FDiffFilter.hpp>
Public Member Functions | |
int | analysis () |
bool | doResetSigma (bool doit) |
(re)set sigma limit More... | |
bool | doSmallSlips () |
get flag to do small slips More... | |
bool | doSmallSlips (bool doit) |
set flag to do small slips More... | |
bool | doVerbose (bool doit) |
make output verbose More... | |
int | editArrays (std::vector< T > &data, std::vector< int > &flags, bool doInt=true, const int badFlag=1) |
T | getEstimatedSigmaLimit () |
get computed sigma limit (= robust outlier limit) after analysis() More... | |
std::vector< unsigned int > | getHighSigmaIndex () |
get the indexes of high-sigma points (only if indexHighSigmas(true)) More... | |
std::string | getLabel () |
get the label in dump More... | |
T | getLimit () |
get limit More... | |
unsigned int | getNhighSigma () |
get the number of remaining high-sigma points after analysis() More... | |
std::vector< FilterHit< T > > | getResults () |
get results vector of FilterHit More... | |
T | getSigma () |
get sigma limit More... | |
T | getUsedSigmaLimit () |
get sigma limit used in last iteration More... | |
unsigned int | getWidth () |
get window width More... | |
bool | indexHighSigmas (bool doit) |
set indexing flag More... | |
bool | indexingHighSigmas () |
get indexing flag More... | |
IterativeFDiffFilter (const std::vector< T > &x, const std::vector< T > &d, const std::vector< int > &f, std::ostream &os=std::cout) | |
void | setLabel (const std::string doit) |
define the label in dump More... | |
void | setLimit (T val) |
set limit More... | |
void | setprecision (int p) |
set precision for dump More... | |
void | setSigma (T val) |
set sigma limit More... | |
void | setw (int w) |
set width for dump More... | |
void | setWidth (unsigned int w) |
set window width More... | |
Private Attributes | |
const std::vector< T > & | data |
reference to data to be filtered More... | |
bool | doSmall |
if true, include small slips (<fdlim) in results More... | |
T | Esiglim |
Estimated sigma limit computed from robust stats. More... | |
T | fdlim |
|first diff| must be > this to be outlier/slip More... | |
const std::vector< int > & | flags |
reference to flags, parallel to data, 0 == good More... | |
unsigned int | itermax |
maximum number of itertions (3) More... | |
bool | keepSigIndex |
if true, keep vector of HighSigmaIndex More... | |
std::string | label |
put on output lines when verbose More... | |
std::ostream & | logstrm |
write to output stream More... | |
unsigned int | Nsig |
filter()'s count of high sigma - analysis needed More... | |
unsigned int | Nwind |
size of sliding window More... | |
int | osp |
width and precision for dump(), (default 8,3) More... | |
int | osw |
bool | resetSigma |
if true, set siglim to Esiglim in each iteration More... | |
std::vector< FilterHit< T > > | results |
vector of results of the iterative analysis More... | |
std::vector< unsigned int > | sigIndexes |
saved indexes of Nsig high sigma pts More... | |
T | siglim |
sigma > this indicates possible outlier/slip More... | |
T | siguse |
sigma limit used in last iteration More... | |
bool | verbose |
output comments and dump FDiffFilters More... | |
const std::vector< T > & | xdata |
reference to xdata - 'time'; if empty use count More... | |
|
inline |
Constructor with three parallel arrays, xdata (~time), data, flags (0=good). Flags f may be empty (size 0), but on output of analysis() it will be filled.
x | const vector<T> of 'times' values, |
d | const vector<T> of data values |
f | const vector<int> of flags, 0 means good. this array may be empty. |
Definition at line 781 of file FDiffFilter.hpp.
int gnsstk::IterativeFDiffFilter< T >::analysis |
Analyze the data using FDiffFilters, optionally computing new sigma outlier limit, in an interative loop. Best for single differenced phase. If doResetSigma(true), sigma limit is reduced, if possible, to outlier limit. Flags array may be empty (size 0), but on output it will be filled. analyze the output of the filter(), filling the results array with outliers Return results in Nsig, Esiglim, and vector<FilterHit> results.
Analyze the data using FDiffFilters, optionally computing new sigma outlier limit, in an interative loop. Best for single differenced phase.
Definition at line 913 of file FDiffFilter.hpp.
|
inline |
(re)set sigma limit
Definition at line 825 of file FDiffFilter.hpp.
|
inline |
get flag to do small slips
Definition at line 822 of file FDiffFilter.hpp.
|
inline |
set flag to do small slips
Definition at line 815 of file FDiffFilter.hpp.
|
inline |
make output verbose
Definition at line 842 of file FDiffFilter.hpp.
int gnsstk::IterativeFDiffFilter< T >::editArrays | ( | std::vector< T > & | data, |
std::vector< int > & | flags, | ||
bool | doInt = true , |
||
const int | badFlag = 1 |
||
) |
Edit the data for the caller using results created by analysis().
data | vector<T> of data values |
flags | vector<int> of flags, 0 means good. this array may be empty. |
doInt | if true, integerize the slips before fixing (T) |
badFlag | set flags[] to this int when marking it bad (1) |
Definition at line 1215 of file FDiffFilter.hpp.
|
inline |
get computed sigma limit (= robust outlier limit) after analysis()
Definition at line 861 of file FDiffFilter.hpp.
|
inline |
get the indexes of high-sigma points (only if indexHighSigmas(true))
Definition at line 873 of file FDiffFilter.hpp.
|
inline |
get the label in dump
Definition at line 852 of file FDiffFilter.hpp.
|
inline |
get limit
Definition at line 806 of file FDiffFilter.hpp.
|
inline |
get the number of remaining high-sigma points after analysis()
Definition at line 870 of file FDiffFilter.hpp.
|
inline |
get results vector of FilterHit
Definition at line 867 of file FDiffFilter.hpp.
|
inline |
get sigma limit
Definition at line 812 of file FDiffFilter.hpp.
|
inline |
get sigma limit used in last iteration
Definition at line 864 of file FDiffFilter.hpp.
|
inline |
get window width
Definition at line 800 of file FDiffFilter.hpp.
|
inline |
set indexing flag
Definition at line 832 of file FDiffFilter.hpp.
|
inline |
get indexing flag
Definition at line 839 of file FDiffFilter.hpp.
|
inline |
define the label in dump
Definition at line 849 of file FDiffFilter.hpp.
|
inline |
set limit
Definition at line 803 of file FDiffFilter.hpp.
|
inline |
set precision for dump
Definition at line 858 of file FDiffFilter.hpp.
|
inline |
set sigma limit
Definition at line 809 of file FDiffFilter.hpp.
|
inline |
set width for dump
Definition at line 855 of file FDiffFilter.hpp.
|
inline |
set window width
Definition at line 797 of file FDiffFilter.hpp.
|
private |
reference to data to be filtered
Definition at line 747 of file FDiffFilter.hpp.
|
private |
if true, include small slips (<fdlim) in results
Definition at line 755 of file FDiffFilter.hpp.
|
private |
Estimated sigma limit computed from robust stats.
Definition at line 759 of file FDiffFilter.hpp.
|
private |
|first diff| must be > this to be outlier/slip
Definition at line 751 of file FDiffFilter.hpp.
|
private |
reference to flags, parallel to data, 0 == good
Definition at line 749 of file FDiffFilter.hpp.
|
private |
maximum number of itertions (3)
Definition at line 758 of file FDiffFilter.hpp.
|
private |
if true, keep vector of HighSigmaIndex
Definition at line 763 of file FDiffFilter.hpp.
|
private |
put on output lines when verbose
Definition at line 767 of file FDiffFilter.hpp.
|
private |
write to output stream
Definition at line 760 of file FDiffFilter.hpp.
|
private |
filter()'s count of high sigma - analysis needed
Definition at line 754 of file FDiffFilter.hpp.
|
private |
size of sliding window
Definition at line 753 of file FDiffFilter.hpp.
|
private |
width and precision for dump(), (default 8,3)
Definition at line 742 of file FDiffFilter.hpp.
|
private |
Definition at line 742 of file FDiffFilter.hpp.
|
private |
if true, set siglim to Esiglim in each iteration
Definition at line 761 of file FDiffFilter.hpp.
|
private |
vector of results of the iterative analysis
Definition at line 738 of file FDiffFilter.hpp.
|
private |
saved indexes of Nsig high sigma pts
Definition at line 765 of file FDiffFilter.hpp.
|
private |
sigma > this indicates possible outlier/slip
Definition at line 752 of file FDiffFilter.hpp.
|
private |
sigma limit used in last iteration
Definition at line 762 of file FDiffFilter.hpp.
|
private |
output comments and dump FDiffFilters
Definition at line 766 of file FDiffFilter.hpp.
|
private |
reference to xdata - 'time'; if empty use count
Definition at line 745 of file FDiffFilter.hpp.