![]() |
0.4.1
|
Observation Filter. More...
Data Structures | |
struct | Filtered |
Filtered signals. More... | |
Public Member Functions | |
void | disableFilter () |
Opens all settings to the maximum, disabling the filter. | |
void | excludeSignalTemporarily (const SatSigId &satSigId, size_t count) |
Temporarily excludes a signal. | |
const Code & | getCodeFilter () const |
Get the Code Filter. | |
const Frequency & | getFrequencyFilter () const |
Get the Frequency Filter. | |
SatelliteSystem | getSystemFilter () const |
Get the Satellite System Filter. | |
const std::unordered_set< GnssObs::ObservationType > & | getUsedObservationTypes () const |
Get the used observation types. | |
bool | isObsTypeUsed (GnssObs::ObservationType obsType) const |
Checks if the Observation type is used by the GUI settings. | |
bool | isSatelliteAllowed (const SatId &satId) const |
Checks if the satellite is allowed. Does not check elevation or SNR mask. | |
void | markObsTypeAsNeeded (GnssObs::ObservationType obsType, bool needed=true) |
Set the observation type as needed (cannot be unchecked in the GUI) or unneeded. | |
ObservationFilter (const ObservationFilter &other)=default | |
Copy constructor. | |
ObservationFilter (ObservationFilter &&other) noexcept=default | |
Move constructor. | |
ObservationFilter (size_t receiverCount, const std::unordered_set< GnssObs::ObservationType > &availableObsTypes={ GnssObs::Pseudorange, GnssObs::Carrier, GnssObs::Doppler }, std::unordered_set< GnssObs::ObservationType > neededObsTypes={}) | |
Constructor. | |
ObservationFilter & | operator= (const ObservationFilter &other) |
Copy assignment operator. | |
ObservationFilter & | operator= (ObservationFilter &&other) noexcept |
Move assignment operator. | |
void | reset () |
Reset the temporary settings. | |
template<typename ReceiverType, typename DerivedPe, typename DerivedPn> | |
void | selectObservationsForCalculation (ReceiverType receiverType, const Eigen::MatrixBase< DerivedPe > &e_posMarker, const Eigen::MatrixBase< DerivedPn > &lla_posMarker, const std::shared_ptr< const GnssObs > &gnssObs, const std::vector< const GnssNavInfo * > &gnssNavInfos, Observations &observations, Filtered *filtered, const std::string &nameId, bool ignoreElevationMask=false) |
Returns a list of satellites and observations filtered by GUI settings & NAV data available & ...) | |
template<typename ReceiverType> | |
bool | ShowGuiWidgets (const char *id, float itemWidth) |
Shows the GUI input to select the options. | |
void | useObsType (GnssObs::ObservationType obsType) |
Set the observation type to use. | |
~ObservationFilter ()=default | |
Destructor. | |
Private Attributes | |
const std::unordered_set< GnssObs::ObservationType > | _availableObsTypes |
Available observation types (e.g. SPP does not have Carrier) | |
double | _elevationMask |
Elevation cut-off angle for satellites in [rad]. | |
std::vector< SatId > | _excludedSatellites |
List of satellites to exclude. | |
Code | _filterCode |
Codes used for calculation (GUI filter) | |
Frequency | _filterFreq |
Frequencies used for calculation (GUI filter) | |
std::unordered_set< GnssObs::ObservationType > | _neededObsTypes |
Needed observation types (cannot be unchecked in GUI) | |
bool | _sameSnrMaskForAllReceivers |
Flag wether to use the same SNR mask for all receivers. | |
std::vector< SNRMask > | _snrMask |
SNR Mask for all receivers. | |
std::unordered_map< SatSigId, size_t > | _temporarilyExcludedSignalsSatellites |
List of signals to exclude temporarily. | |
std::unordered_set< GnssObs::ObservationType > | _usedObsTypes |
Utilized observations. | |
Friends | |
void | from_json (const json &j, ObservationFilter &obj) |
Converts the provided json object into a node object. | |
void | to_json (json &j, const ObservationFilter &obj) |
Converts the provided object into json. | |
Observation Filter.
Definition at line 52 of file ObservationFilter.hpp.
|
inlineexplicit |
Constructor.
[in] | receiverCount | Number of receivers |
[in] | availableObsTypes | Available observation types (e.g. SPP does not have Carrier) |
[in] | neededObsTypes | Needed observation types (cannot be unchecked) |
Definition at line 59 of file ObservationFilter.hpp.
|
default |
Destructor.
|
default |
Copy constructor.
|
defaultnoexcept |
Move constructor.
|
inline |
Opens all settings to the maximum, disabling the filter.
Definition at line 602 of file ObservationFilter.hpp.
|
inline |
Temporarily excludes a signal.
[in] | satSigId | Satellite Signal Id |
[in] | count | Amount of function calls to exclude |
Definition at line 572 of file ObservationFilter.hpp.
|
inlinenodiscard |
Get the Code Filter.
Definition at line 584 of file ObservationFilter.hpp.
|
inlinenodiscard |
Get the Frequency Filter.
Definition at line 579 of file ObservationFilter.hpp.
|
inlinenodiscard |
Get the Satellite System Filter.
Definition at line 590 of file ObservationFilter.hpp.
|
inlinenodiscard |
Get the used observation types.
Definition at line 596 of file ObservationFilter.hpp.
|
inlinenodiscard |
Checks if the Observation type is used by the GUI settings.
[in] | obsType | Observation Type |
Definition at line 548 of file ObservationFilter.hpp.
|
inlinenodiscard |
Checks if the satellite is allowed. Does not check elevation or SNR mask.
[in] | satId | Satellite Identifier |
Definition at line 540 of file ObservationFilter.hpp.
|
inline |
Set the observation type as needed (cannot be unchecked in the GUI) or unneeded.
obsType | Observation Type |
needed | Needed or unneeded |
Definition at line 563 of file ObservationFilter.hpp.
|
inline |
Copy assignment operator.
Definition at line 82 of file ObservationFilter.hpp.
|
inlinenoexcept |
Move assignment operator.
Definition at line 107 of file ObservationFilter.hpp.
|
inline |
Reset the temporary settings.
Definition at line 133 of file ObservationFilter.hpp.
|
inline |
Returns a list of satellites and observations filtered by GUI settings & NAV data available & ...)
[in] | receiverType | Receiver type index to filter |
[in] | e_posMarker | Marker Position in ECEF frame [m] |
[in] | lla_posMarker | Marker Position in LLA frame [rad, rad, m] |
[in] | gnssObs | GNSS observation |
[in] | gnssNavInfos | Collection of navigation data providers |
[in] | nameId | Name and Id of the node used for log messages only |
[in] | observations | List of observations which will be filled. If you have multiple receivers, the observations list will be the same object |
[in] | filtered | Optional Filtered object to get back the filtered signals |
[in] | ignoreElevationMask | Flag wether the elevation mask should be ignored |
Definition at line 164 of file ObservationFilter.hpp.
|
inline |
Shows the GUI input to select the options.
[in] | id | Unique id for ImGui. |
[in] | itemWidth | Width of the widgets |
Definition at line 460 of file ObservationFilter.hpp.
|
inline |
Set the observation type to use.
obsType | Observation Type |
Definition at line 555 of file ObservationFilter.hpp.
|
friend |
Converts the provided json object into a node object.
[in] | j | Json object with the needed values |
[out] | obj | Object to fill from the json |
Definition at line 656 of file ObservationFilter.hpp.
|
friend |
Converts the provided object into json.
[out] | j | Json object which gets filled with the info |
[in] | obj | Object to convert into json |
Definition at line 640 of file ObservationFilter.hpp.
|
private |
Available observation types (e.g. SPP does not have Carrier)
Definition at line 628 of file ObservationFilter.hpp.
|
private |
Elevation cut-off angle for satellites in [rad].
Definition at line 622 of file ObservationFilter.hpp.
|
private |
List of satellites to exclude.
Definition at line 620 of file ObservationFilter.hpp.
|
private |
Codes used for calculation (GUI filter)
Definition at line 618 of file ObservationFilter.hpp.
|
private |
Frequencies used for calculation (GUI filter)
Definition at line 615 of file ObservationFilter.hpp.
|
private |
Needed observation types (cannot be unchecked in GUI)
Definition at line 630 of file ObservationFilter.hpp.
|
private |
Flag wether to use the same SNR mask for all receivers.
Definition at line 626 of file ObservationFilter.hpp.
|
private |
SNR Mask for all receivers.
Definition at line 624 of file ObservationFilter.hpp.
|
private |
List of signals to exclude temporarily.
Definition at line 635 of file ObservationFilter.hpp.
|
private |
Utilized observations.
Definition at line 632 of file ObservationFilter.hpp.