v1.0.0-rc.68
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
#include "StrongPixelSet.h"
|
||||
|
||||
struct intensity_id {
|
||||
int64_t I;
|
||||
float I;
|
||||
uint32_t id;
|
||||
};
|
||||
|
||||
@@ -19,16 +19,15 @@ struct res_id {
|
||||
uint32_t id;
|
||||
};
|
||||
|
||||
|
||||
void FilterSpotsByCount(int64_t count,
|
||||
const std::vector<DiffractionSpot> &input,
|
||||
std::vector<DiffractionSpot> &output) {
|
||||
const std::vector<SpotToSave> &input,
|
||||
std::vector<SpotToSave> &output) {
|
||||
|
||||
size_t output_size = std::min<size_t>(input.size(), count);
|
||||
std::vector<intensity_id> intensity_id_vector(input.size());
|
||||
|
||||
for (int i = 0; i < input.size(); i++) {
|
||||
intensity_id_vector[i].I = input[i].Count();
|
||||
intensity_id_vector[i].I = input[i].intensity;
|
||||
intensity_id_vector[i].id = i;
|
||||
}
|
||||
|
||||
@@ -40,35 +39,6 @@ void FilterSpotsByCount(int64_t count,
|
||||
output.push_back(input[intensity_id_vector[i].id]);
|
||||
}
|
||||
|
||||
|
||||
void FilterSpotsByCount(const DiffractionExperiment& experiment,
|
||||
const std::vector<DiffractionSpot> &input,
|
||||
std::vector<DiffractionSpot> &output) {
|
||||
FilterSpotsByCount(experiment.GetMaxSpotCount(), input, output);
|
||||
}
|
||||
|
||||
void FilterSpotsByResolution(const DiffractionExperiment& experiment,
|
||||
const std::vector<DiffractionSpot> &input,
|
||||
std::vector<DiffractionSpot> &output) {
|
||||
if (input.size() < experiment.GetMaxSpotCount())
|
||||
output = input;
|
||||
|
||||
size_t output_size = std::min<size_t>(input.size(), experiment.GetMaxSpotCount());
|
||||
std::vector<res_id> res_id_vector(input.size());
|
||||
|
||||
DiffractionGeometry geom = experiment.GetDiffractionGeometry();
|
||||
for (int i = 0; i < input.size(); i++) {
|
||||
res_id_vector[i].res = input[i].GetResolution(geom);
|
||||
res_id_vector[i].id = i;
|
||||
}
|
||||
std::partial_sort(res_id_vector.begin(), res_id_vector.begin() + output_size, res_id_vector.end(),
|
||||
[](const res_id& a,const res_id& b ) { return a.res > b.res;});
|
||||
|
||||
output.reserve(output_size);
|
||||
for (int i = 0; i < output_size; i++)
|
||||
output.push_back(input[res_id_vector[i].id]);
|
||||
}
|
||||
|
||||
StrongPixelSet::StrongPixelSet() : strong_pixel_count(0) {
|
||||
pixels.reserve(max_strong_pixel_per_module);
|
||||
}
|
||||
@@ -83,7 +53,7 @@ bool is_far_enough(strong_pixel pixel0, strong_pixel pixel1) {
|
||||
|
||||
bool is_adjacent(strong_pixel pixel0, strong_pixel pixel1) {
|
||||
return (fabs(pixel0.line - pixel1.line) <= 1) and
|
||||
(fabs(pixel0.col - pixel1.col) <= 1);
|
||||
(fabs(pixel0.col - pixel1.col) <= 1);
|
||||
}
|
||||
|
||||
uint16_t StrongPixelSet::find_root(uint16_t e) {
|
||||
|
||||
Reference in New Issue
Block a user