calculate the centre of mass of an image
Posted April 7th, 2008 by andyfaff
This function calculates the centre of mass of an image. Needs to be supplied with image wave, and abscissa and ordinate values.
Function/c centreofMass2D(w,xx,yy) wave w,xx,yy //w is a 2D image wave. //xx and yy are abscissa and ordinates of image wave //xx and yy should be 1 point larger than w, as we are considering an image wave //return C-O-M via a complex value variable ii,jj,totalmass=0,sumrmx=0,sumrmy=0 for(ii=0;ii<dimsize(w,0);ii+=1) for(jj=0;jj<dimsize(w,1);jj+=1) totalmass+=w[ii][jj] sumrmx += w[ii][jj]*(xx[ii]+xx[ii+1])/2 sumrmy+=w[ii][jj]*(yy[jj]+yy[jj+1])/2 endfor endfor return cmplx(sumrmx/totalmass,sumrmy/totalmass) End
