protected boolean isRotationFromAxisY(PointTrack t, Vector3D_F64 pointing) {

		VoTrack p = t.getCookie();

		// remove rotations not along x-z plane
		double normXZ = Math.sqrt(pointing.x * pointing.x + pointing.z * pointing.z);
		pointingAdj.set(pointing.x / normXZ, p.pointingY, pointing.z / normXZ);
		// Put pointing vector back into camera frame
		GeometryMath_F64.multTran(cameraToPlane.getR(), pointingAdj, pointingAdj);

		// compute normalized image coordinates
		n.x = pointingAdj.x / pointingAdj.z;
		n.y = pointingAdj.y / pointingAdj.z;

		// compute pixel of projected point
		normToPixel.compute(n.x, n.y, pixel);

		// compute error
		double error = pixel.distance2(t);

		return error < thresholdPixelError * thresholdPixelError;
	}
protected boolean isRotationFromAxisY ( PointTrack t , Vector3D_F64 pointing ) { VoTrack p = t . getCookie ( ) ; double normXZ = Math . sqrt ( pointing . x * pointing . x + pointing . z * pointing . z ) ; pointingAdj . set ( pointing . x / normXZ , p . pointingY , pointing . z / normXZ ) ; GeometryMath_F64 . multTran ( cameraToPlane . getR ( ) , pointingAdj , pointingAdj ) ; n . x = pointingAdj . x / pointingAdj . z ; n . y = pointingAdj . y / pointingAdj . z ; normToPixel . compute ( n . x , n . y , pixel ) ; double error = pixel . distance2 ( t ) ; return error < thresholdPixelError * thresholdPixelError ; }
Checks for motion which can't be caused by rotations along the y-axis alone.  This is done by adjusting the
pointing vector in the plane reference frame such that it has the same y component as when the track was spawned
and that the x-z components are normalized to one, to ensure consistent units.  That pointing vector is then
projected back into the image and a pixel difference computed.

@param pointing Pointing vector of observation in plane reference frame