# PATTERNS

The main purpose of this dataset is providing images to test the rendering of standard geometrical patterns by displays, monitors, televisions and projectors.

These patterns facilitate the adjustment of geometrical parameters and helps identify defects of the rendering device.

The broad range of simple geometrical patterns also helps to optimize or identify specific issues in some image processing algorithms. For example, by verifying if the patterns are preserved when applying an image compression algorithm, by testing the effects of different texture filtering and resampling approaches programmed in shaders, or by evaluating the printing quality of a particular device.

This archive contains 8bpp and 16bpp (bit-per-pixel) 3-Channel Red-Green-Blue (RGB) images for the 114 standard and non-standard resolutions previously listed in the COLOR dataset.

For every resolution listed above, the following image variations were generated:

`GRAY`

: (1-Channel Grayscale) These are the reference images containing the geometric patterns as described below. These images are then used to generate the following 3-Channel RGB variations by copying the grayscale layer in one or more color channel: `RED`

, `GREEN`

, `BLUE`

, `RED_GREEN`

, `RED_BLUE`

, `GREEN_BLUE`

, `RED_GREEN_BLUE`

.

For every resolution, color variation and for both 8bpp and 16bpp, the following image types and variations were generated:

`bars_[ORIENT]_[TYPE]_[BW]_[PHASE]xhalfPI`

: Constant size bars with the following characteristics: [ORIENT] bars orientation (vertical, horizontal); [TYPE] intensity curve perpendicular to the bar orientation (square = step curve; sin = sinusoidal; triangle = sawtooth wave); [BW] witdh of an entire curve period - the bars period is always a power of 2; [PHASE] the curve phase expressed in number of PI/2 (0-3).`bars_[ORIENT]_[TYPE]_progressive`

: Variable size bars. The smallest bars starts at the image center and increase their size as power of 2. The variation option are: [ORIENT] bars orientation (vertical,horizontal); [TYPE] intensity curve perpendicular to the bar orientation (square = step curve; sin = sinusoidal; triangle = sawtooth wave).`grid_square_progressive`

: Grid of rectangles obtained by combining (XOR) the bars_horizontal_square_progressive and bars_vertical_square_progressive images.`bars_45deg_tlbr_[BW]`

: Solid bars oriented at 45 degrees, from top-left to bottom-right. [BW] is the witdh of an entire curve period; the bars period is always a power of 2.`bars_45deg_bltr_[BW]`

: Solid bars oriented at 45 degrees, from bottom-left to top-right. [BW] is the witdh of an entire curve period; the bars period is always a power of 2.`rectangles_concentric_[BW]_0`

: Concentric rectangles. [BW] is the witdh of the rectangle border (power of 2).`rectangles_concentric_[BW]_1`

: Inverse of rectangles_concentric_[BW]_0.`grid_rectangle_[BW]x[BH]_0`

: Grid with alternate black and white rectangles with the [BW] width and [BH] height. The rectangles dimensions [BW] and [BH] are chosen to perfectly fit the available image space. The image width is a multiple of 2 x [BW] and the image height is a multiple of 2 x [BH].`grid_rectangle_[BW]x[BH]_1`

: Inverse of grid_rectangle_[BW]x[BH]_0.`diagonal_[CORNER]`

: Diagonal that divides the images in black and white parts. The [CORNER] values are: tl=top-left, tr=top-right, br=bottom-right, bl=bottom-left.`grid_triangle_a_[BW]x[BH]_0`

: Grid obtained by combining triangles to form black and white rhombus. The rectangles dimensions [BW] and [BH] are chosen to perfectly fit the available image space, the image width is a multiple of 2 x [BW] and the image height is a multiple of 2 x [BH].`grid_triangle_a_[BW]x[BH]_1`

: Inverse of grid_triangle_a_[BW]x[BH]_0.`grid_triangles_b_[BW]x[BH]_0`

: Grid obtained by combining triangles in alternate black and white positions. The rectangles dimensions [BW] and [BH] are chosen to perfectly fit the available image space. The image width is a multiple of 2 x [BW] and the image height is a multiple of 2 x [BH].`grid_triangles_b_[BW]x[BH]_1`

: Inverse of grid_triangles_b_[BW]x[BH]_0.`grid_lines_cross_0`

: Central white cross in a black background. The line width is always 2 pixels wide to result perfectly centered when the correspondent resolution dimension is even.`grid_lines_cross_1`

: Inverse of grid_lines_cross_0.`grid_line_45deg_0`

: Grid obtained by combining (XOR) the four 45 degrees diagonal surfaces crossing each image corner.`grid_line_45deg_1`

: Inverse of grid_line_45deg_0.`grid_lines_quarters_0`

: Grid obtained by dividing the image in 4x4 rectangles using white lines over a black background.`grid_lines_quarters_1`

: Inverse of grid_lines_quarters_0.`grid_line_thirds_0`

: Grid obtained by dividing the image in 3x3 rectangles using white lines over a black background.`grid_line_thirds_1`

: Inverse of grid_line_thirds_0.`grid_line_intersections_0`

: Grid obtained using four 45 degrees lines passing in each image corner, and horizontal and vertical lines passing in each intersection.`grid_line_intersections_1`

: Inverse of grid_line_intersections_0.`rays_radial_corner_[CORNER]`

: Alternating black and white ray lines starting at image edge positions covering an angle of 1 degree each. The [CORNER] values are: tl=top-left, tr=top-right, br=bottom-right, bl=bottom-left, t=top, b=bottom, l=left, r=right.`rays_radial_allcorners`

: Grid obtained combining (XOR) the images rays_radial_corner_tl, rays_radial_corner_tr, rays_radial_corner_br, rays_radial_corner_bl.`rays_radial_center`

: Alternating black and white ray lines starting at image center covering an angle of 1 degree each.`circles_corner_[CORNER]_[BW]`

: Alternating black and white concentric circles with constant [BW] tickness, centered in one of the image corners. The [CORNER] values are: tl=top-left, tr=top-right, br=bottom-right, bl=bottom-left, t=top, b=bottom, l=left, r=right.`circles_progressive_a_corner_[CORNER]`

: Alternating black and white concentric circles with variable tickness, centered in one of the image corners.`circles_progressive_b_corner_[CORNER]`

: Variation of the circles_progressive_a_corner_[CORNER].`grid_circles_progressive_a`

: Grid obtained combining (XOR) all the circles_progressive_a_corner_[CORNER] images.`grid_circles_progressive_b`

: Grid obtained combining (XOR) all the circles_progressive_b_corner_[CORNER] images.`circles_center_[BW]`

: Alternating black and white concentric rings with constant ([BW] / 2) tickness.`gray_level_crossing`

: Uniform intensity transition form zero to maximum value, from left to right in the upper half image and from right to left in the lower half image.`gray_level_bits`

: The vertical space is divided in 16 rows representing intensity quantization from 1 bit (top row - 2 values) to 16 bit (bottom row - 65536 values). In the 8bpp variation of this image, due to the normalization, the rows from 9 to 16 are identical to the row 8.`gray_level_all`

: Uniform transition from zero to maximum intensity, distribuited across all pixels from left to right and from top to bottom.`color_full`

: All pixels are set to the maximum intensity value.`color_16th`

: The horizontal space is divided in 16 vertical bars representing intensity variation from zero (black) to maximum value (white).