11 float cutoff,
int no_w_a ) : theFraction ( fraction ),
12 theWeightExponent ( weightExp ), theCutoff(cutoff),
13 theNoWeightsAbove ( no_w_a )
19 const std::vector< PointAndDistance> &
values )
const 22 std::vector< SimpleCluster > vx, vy, vz;
23 vx.reserve ( values.size() - 1 );
24 vy.reserve ( values.size() - 1 );
25 vz.reserve ( values.size() - 1 );
26 std::vector < const void * > emptyvec;
28 for ( std::vector< PointAndDistance >::const_iterator
i = values.begin();
29 i != values.end(); ++
i )
45 vx.push_back ( tmp_x );
46 vy.push_back ( tmp_y );
47 vz.push_back ( tmp_z );
51 std::vector < SimpleCluster > cresx =
algo(vx).first;
52 std::vector < SimpleCluster > cresy =
algo(vy).first;
53 std::vector < SimpleCluster > cresz =
algo(vz).first;
54 assert ( !cresx.empty() && !cresy.empty() && !cresz.empty() );
56 GlobalPoint ret ( cresx.begin()->position().value(),
57 cresy.begin()->position().value(),
58 cresz.begin()->position().value() );
FsmwModeFinder3d * clone() const override
GlobalPoint operator()(const std::vector< PointAndDistance > &) const override
FsmwModeFinder3d(float fraction=.5, float weightExponent=-2., float cutoff=10, int no_weights_above=10)
Power< A, B >::type pow(const A &a, const B &b)