code: public static RectangleLength2D_F32 boundBox_F32( int srcWidth , int srcHeight ,
  													  PixelTransform<Point2D_F32> transform ,
  													  Point2D_F32 transformed )
  	{
  		ImageRectangle_F32 r=new ImageRectangle_F32();
  
  		r.x0=r.y0=Float.MAX_VALUE;
  		r.x1=r.y1=-Float.MAX_VALUE;
  
  		for( int y = 0; y < srcHeight; y++ ) {
  			transform.compute(0, y, transformed);
  			updateBoundBox(transformed, r);
  			transform.compute(srcWidth, y, transformed);
  			updateBoundBox(transformed, r);
  		}
  
  		for( int x = 0; x < srcWidth; x++ ) {
  			transform.compute(x, 0, transformed);
  			updateBoundBox(transformed, r);
  			transform.compute(x, srcHeight, transformed);
  			updateBoundBox(transformed, r);
  		}
  
  		return new RectangleLength2D_F32(r.x0,r.y0,r.x1-r.x0,r.y1-r.y0);
  	}
docs: Finds an axis-aligned bounding box which would contain a image after it has been transformed.
  The returned bounding box can be larger then the original image.
  
  @param srcWidth Width of the source image
  @param srcHeight Height of the source image
  @param transform Transform being applied to the image
  @return Bounding box