diff --git a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h index 2ef67e83290a625b5f5cb5381c905efeeeabfc97..6fe4c85d3d3977cfb4f01ed22f09ca1fe49b2173 100644 --- a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h +++ b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h @@ -569,6 +569,13 @@ class RFIStatistics { } return copy; } + + unsigned startChannel(unsigned imageHeight) const { + if(imageHeight <= 16) + return 0; + else + return 1; + } }; #endif diff --git a/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp b/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp index 5776656a771791233ce9626a53cf0388288b37bd..9148bcca76460ac5a2c3bbc45c05d11b6cc8a030 100644 --- a/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp +++ b/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp @@ -323,10 +323,7 @@ void RFIStatistics::Add(const TimeFrequencyInfo &entry, bool autocorrelation) void RFIStatistics::addChannels(std::map<double, class ChannelInfo> &channels, Image2DCPtr image, Mask2DCPtr mask, TimeFrequencyMetaDataCPtr metaData, SegmentedImageCPtr segmentedImage) { - unsigned startChannel = 1; - if(image->Height() <= 16) - startChannel = 0; - for(size_t y=startChannel;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { long unsigned count = 0; long double totalAmplitude = 0.0; @@ -398,7 +395,7 @@ void RFIStatistics::addTimesteps(std::map<double, class TimestepInfo> ×teps long double broadbandRfiAmplitude = 0.0; long double lineRfiAmplitude = 0.0; - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { if(std::isfinite(image->Value(x, y))) { @@ -449,7 +446,7 @@ void RFIStatistics::addTimesteps(std::map<double, class TimestepInfo> ×teps void RFIStatistics::addAmplitudes(std::map<double, class AmplitudeBin> &litudes, Image2DCPtr image, Mask2DCPtr mask, TimeFrequencyMetaDataCPtr, SegmentedImageCPtr segmentedImage) { - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { @@ -502,7 +499,7 @@ void RFIStatistics::addStokes(std::map<double, class AmplitudeBin> &litudes, } Image2DCPtr image = stokes->GetSingleImage(); delete stokes; - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { @@ -545,7 +542,7 @@ void RFIStatistics::addPolarisations(std::map<double, class AmplitudeBin> &li Mask2DCPtr mask = polData->GetSingleMask(); delete polData; - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { @@ -601,7 +598,7 @@ void RFIStatistics::addBaselines(const TimeFrequencyData &data, TimeFrequencyMet long double broadbandRfiAmplitude = 0.0; long double lineRfiAmplitude = 0.0; - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { @@ -680,7 +677,7 @@ void RFIStatistics::addFeatures(std::map<double, class AmplitudeBin> &litudes { FeatureMap features; - for(size_t y=0;y<image->Height();++y) { + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { if(mask->Value(x, y) && std::isfinite(image->Value(x, y))) { @@ -743,7 +740,7 @@ void RFIStatistics::addChannelComparison(std::map<double, ChannelInfo> &channels Image2DCPtr image = data.GetSingleImage(); Mask2DCPtr mask = data.GetSingleMask(); - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { long unsigned falsePositiveCount = 0; long unsigned falseNegativeCount = 0; @@ -787,7 +784,7 @@ void RFIStatistics::addAmplitudeComparison(std::map<double, AmplitudeBin> &li Image2DCPtr image = data.GetSingleImage(); Mask2DCPtr mask = data.GetSingleMask(); - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { @@ -837,7 +834,7 @@ void RFIStatistics::addBaselineFrequencyInfo(TimeFrequencyMetaDataCPtr metaData, newInfo.antenna2Index = index.antenna2Index; element = _baselineFrequencyInfo.insert(std::pair<IndexTriple, BaselineFrequencyInfo>(index, newInfo)).first; } - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { for(size_t x=0;x<image->Width();++x) { @@ -872,7 +869,7 @@ void RFIStatistics::addBaselineTimeInfo(TimeFrequencyMetaDataCPtr metaData, Imag newInfo.antenna2Index = index.antenna2Index; element = _baselineTimeInfo.insert(std::pair<IndexTriple, BaselineTimeInfo>(index, newInfo)).first; } - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { if(std::isfinite(image->Value(x, y))) { @@ -901,7 +898,7 @@ void RFIStatistics::addTimeFrequencyInfo(TimeFrequencyInfoMap &map, TimeFrequenc newInfo.centralFrequency = index.second; element = map.insert(std::pair<std::pair<double, double>, TimeFrequencyInfo>(index, newInfo)).first; } - for(size_t y=1;y<image->Height();++y) + for(size_t y=startChannel(image->Height());y<image->Height();++y) { const num_t amplitude = image->Value(x, y); if(std::isfinite(amplitude))