Ejemplo n.º 1
0
V2d Correlator::centroid() {
  	V2d centroid=V2d(0,0);
  	for (int i=1;i<=xs.len;i++) {
  		centroid=centroid+V2d(xs.num(i),ys.num(i))*ws.num(i);
  	}
  	centroid=centroid/totalweight();
  	return centroid;
}
Ejemplo n.º 2
0
float Correlator::angerror(float a) {
    V2d ctr=centroid();
    float error=0;
    for (int i=1;i<=xs.len;i++) {
      V2d v=V2d(xs.num(i),ys.num(i))-ctr;
      error+=sqrt(square(v.x*sin(a)+v.y*cos(a)))*ws.num(i);
    }
    return error/totalweight();
}
/**
 * \brief Construct Disk image adapter
 *
 * \param size			image size
 * \param center		center of the image
 * \param r			radial angle of the disk
 * \param angularpixelsize	size of a pixel in radians per pixel
 */
DiskImage::DiskImage(const ImageSize& size, const ImagePoint& center,
	double r, double angularpixelsize, double weight)
	: CircularImage(size, center, angularpixelsize, weight),
	  _r(r) {
	_interiorvalue = CircularImage::weight() / totalweight();
}