docs: public void parameterize( int x , int y , float derivX , float derivY )
  	{
  		// put the point in a new coordinate system centered at the image's origin
  		// this minimizes error, which is a function of distance from origin
  		x -= originX;
  		y -= originY;
  
  		float v = (x*derivX + y*derivY)/(derivX*derivX + derivY*derivY);
  
  		// finds the foot a line normal equation and put the point into image coordinates
  		int x0 = (int)(v*derivX) + originX;
  		int y0 = (int)(v*derivY) + originY;
  
  		if( transform.isInBounds(x0,y0)) {
  			int index = transform.startIndex+y0*transform.stride+x0;
  			// keep track of candidate pixels so that a sparse search can be done
  			// to detect lines
  			if( transform.data[index]++ == 1 )
  				candidates.add(x0,y0);
  		}
  	}