public double getScoreOfSection( BufferedImage i, int x0, int y0, int dx, int dy )
	{
		double score = 0;
		
		for ( int x = x0; x < x0 + dx; x++ )
		{
			for ( int y = y0; y < y0 + dy; y++ )
			{
				int rgbval = i.getRGB(x, y);
				int r = (rgbval >> 16) & 0xff;
				int g = (rgbval >> 8) & 0xff;
				int b = rgbval & 0xff;
				
				double pixelScore = 0;
				switch ( mPixelMethod )
				{
				case AverageMethod : 
					pixelScore = BrightnessAverage(r, g, b);
					break;
				case  LuminosityMethod: 
					pixelScore = BrightnessLuminosity(r, g, b);
					break;
				case LightnessMethod : 
					pixelScore = BrightnessLightness(r, g, b);
				case SquareRootMethod:
					pixelScore = BrightnessSqrt(r, g, b);
					break;
				default:
					break;
				}
				if ( pixelScore < 0 )
				{
					System.exit(1);
				}
				pixelScore /= ( 255.0 );
				if ( pixelScore > 1 )
				{
					System.exit(-1);
				}
				score += pixelScore;
			}
		}
		
		score = score / ( ( dx ) * ( dy ) );
		
		return score;
	}