# Last edited on 2023-01-22 03:20:40 by stolfi GOAL This project is a collection of square images of standard sizes with miscellaneous shapes and textures for image processing experiments, such as texture generation from examples. FINAL IMAGES The final texture images are stored in 8-bit PNM format, with linear encoding (gamma=1), in the following self-explanatory directories: ppm-400x400/*.ppm (color) pgm-512x512/*.pgm (grayscale) pgm-256x256/*.pgm (grayscale) pgm-128x128/*.pgm (grayscale) The image names have all the form "{AAAAA}-{NN}.ppm" or "{AAAAA}-{NN}.pgm" where {AAAAA} is a lowecase alpha name that sort of describes the image contents, like "trees" or "pabbl"; and and {NN} is a 2-digit number to distigush images with same {AAAAA}. The directories "pgm-256x256" and "pgm-128x128" have scaled versions of the images in "ppm-400x400", converted to grayscale and slightly contrast-stretched. The irectories "pgm-256x256" and "pgm-128x128" also have scaled-down versions of any image "pgm-512x512/{AAAAA}-{NN}.pgm" when the color version "ppm-400x400/{AAAAA}-{NN}.ppm" does not exist. The images "wavys-{NN}.pgm" and "wavys-{NN}.ppm" are exceptions to the above. They are NOT scaled versions of each other, but are created directly with the specific size. See below. ORIGINAL IMAGES Some of the original images that have already been converted to "ppm-400x400" and/or "pgm-512x512" are in "orig/processed/raw/". Those still to be processed to the end are in "orig/to-process/raw/". These images have arbitrary names and sizes, and may be in various formats like ".png", ".jpg", ".tiff", ".gif", etc. HAND-PROCESSING OF ORIGINAL COLOR IMAGES Generally, the original versions of the "ppm-400x400" textures are pre-processed by hand (using e.g. gimp). The pre-processing typically includes scaling, contrast-stretching, and cropping to a square format, at least 400x400 pixels. The result of the hand-processing is generally saved in the "orig/processed/cropped-square/", already with the final name "{AAAAA}-{NN}.{ext}". The format {ext} is usually "png", but other formats have been used for older images. FINAL SCALING AND CONVERSION OF COLOR TEXTURES The script {process_raw_files.sh} has been used to convert each image "{AAAAA}-{NN}.{ext}" in "orig/processed/cropped-square" to the final file "ppm-400x400/{AAAAA}-{NN}.ppm" The processing includes contrast-stretching, reencoding with linear gamma, and quantization to 8 bits per channel. GRAYSCALE IMAGES The images in pgm-512x512 were created by hand directly from the original images, mostly lost by now. Every image "ppm-400x400/{AAAAA}-{NN}.ppm" (except the "wavys" images, see below) is converted to grayscale and further scaled down to produce "pgm-256x256/{AAAAA}-{NN}.pgm" and "pgm-128x128/{AAAAA}-{NN}.pgm". This is done by the script {gen_grays_from_ppm_400x400.sh}. Also, every image "pgm-512x512/{AAAAA}-{NN}.pgm" that does not have a color version "ppm-400x400/{AAAAA}-{NN}.ppm" (except the "wavys" images, see below) is scaled down to produce "pgm-256x256/{AAAAA}-{NN}.pgm" and "pgm-128x128/{AAAAA}-{NN}.pgm". This is done by the script {gen_grays_from_pgm_512x512.sh}. WAVYS IMAGES The images "wavys-{NN}.ppm" and "wavys-{NN}.pgm", of any size, are generated directly by {libimg/tests/335_waves/waves_test.c}, with no scaling or color modifications.