24 #ifndef SKA_CHEETAH_SPS_RFIEXCISION_H 25 #define SKA_CHEETAH_SPS_RFIEXCISION_H 26 #include "cheetah/data/TimeFrequencyFlags.h" 27 #include "cheetah/data/TimeFrequency.h" 28 #include "cheetah/data/RfimFlaggedData.h" 39 template<
typename TimeFrequencyType,
typename RfiFlagDataType>
43 typedef typename std::conditional<std::is_const<TimeFrequencyType>::value
44 ,
typename TimeFrequencyType::const_iterator
45 ,
typename TimeFrequencyType::iterator>::type iterator;
47 typedef typename std::conditional<std::is_const<RfiFlagDataType>::value
48 ,
typename RfiFlagDataType::TimeFrequencyFlagsType::const_iterator
49 ,
typename RfiFlagDataType::TimeFrequencyFlagsType::iterator>::type FlaggedIterator;
53 typedef typename TimeFrequencyType::NumericalRep NumericalRep;
55 typedef typename std::conditional<std::is_const<TimeFrequencyType>::value
56 , NumericalRep
const&, NumericalRep&>::type reference;
58 typedef NumericalRep
const& const_reference;
61 RfiExcision(RfiFlagDataType& data,
size_t offset,
float ideal_rms,
float threshold,
bool active);
69 const_reference operator*()
const;
72 FlaggedIterator _flag_it;
74 std::size_t _wrapindex;
76 NumericalRep _replacement_value;
80 typename TimeFrequencyType::const_iterator _tf_end_it;
81 std::vector<float> _noise;
87 #include "cheetah/sps/detail/RfiExcision.cpp" 88 #endif // SKA_CHEETAH_SPS_RFIEXCISION_H
Some limits and constants for FLDO.