MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / sliceStatistics

Method sliceStatistics

src/topp/MapStatistics.cpp:106–145  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104 }
105
106 vector<double> sliceStatistics(const FeatureMap& map, Size begin, Size end) const
107 {
108 // If we are asked to produce stats for an empty set, return an empty vector.
109 if (end <= begin || end > map.size())
110 {
111 return vector<double>(43);
112 }
113
114 Size size = end - begin;
115 vector<double> intensities(size);
116 vector<double> peak_widths(size);
117 vector<double> mz(size);
118 vector<double> overall_qualities(size);
119 vector<double> mz_qualities(size);
120 vector<double> rt_qualities(size);
121 double tic = 0.0;
122
123 for (Size i = begin; i < end; ++i)
124 {
125 intensities[i - begin] = map[i].getIntensity();
126 mz[i - begin] = map[i].getMZ();
127 peak_widths[i - begin] = map[i].getWidth();
128 rt_qualities[i - begin] = map[i].getQuality(Feature::RT);
129 mz_qualities[i - begin] = map[i].getQuality(Feature::MZ);
130 overall_qualities[i - begin] = map[i].getOverallQuality();
131 tic += map[i].getIntensity();
132 }
133
134 vector<double> results;
135 results.reserve(43); // 6 7-number stats + tic
136 results.push_back(tic);
137 results << Math::SummaryStatistics< vector<double> >(intensities);
138 results << Math::SummaryStatistics< vector<double> >(mz);
139 results << Math::SummaryStatistics< vector<double> >(peak_widths);
140 results << Math::SummaryStatistics< vector<double> >(overall_qualities);
141 results << Math::SummaryStatistics< vector<double> >(rt_qualities);
142 results << Math::SummaryStatistics< vector<double> >(mz_qualities);
143
144 return results;
145 }
146
147protected:
148

Callers

nothing calls this directly

Calls 8

getOverallQualityMethod · 0.80
sizeMethod · 0.45
getIntensityMethod · 0.45
getMZMethod · 0.45
getWidthMethod · 0.45
getQualityMethod · 0.45
reserveMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected