# Fractals/quality

What does image quality mean when talking about 2D static images (computer graphic, non-photographic digital images), especially fractal images?
Factors that affect quality include all elements of the chain:
* Target, destination, purpose
* Resolution/size of the image = Fineness of image details
* Scanning, sampling and plane decomposition
* Display Aspect ratio
* Colour
** Bit depth of the colour( 1, 8, 24 bit colour) = Fineness of colour gradations
** Type of numbers: integer or real
** Colour gamut = Vividness of colours
** Colour space
** Computer graphics lighting:
*** A wider range of brightness from darkest to lightest = High-dynamic-range lighting rendering (HDR), better contrast (Intensity of image lighting)
*** Brightness and evenness of illumination
*** Transfer function
*** Gamma correction
* Geometry
** Scene composition (For 3D images or 2D-pseudo 3D images)
* Workflow or image processing or pipelinę of 2D graphic
* Hardware
* Software
* Image file type - See file type section
** Compression (Lossy, lossless). Lossless data compression does not degrade the data. Lossy compression creates coarser images as more details are removed (Poor quality)
** General file type: Raster or vector

## Tips
### How to make better images

How to make better images
How to create realistic 2D static images (Mostly by Andy Ritger)
* Higher than standard (SD) pixel resolution (HD, UHD, "4K" and "8K")
* Higher than standard bit depth per colour channel (Now standard is 8 bit depth): So 10 bit is a new target (See also number type and precision)
* Wider Colour gamut (WCG): Express a wider range of colours than today (BT.2020 colour gamut)
* High Dynamic Range (HDR): express a wider range of luminance than today (see AVIF file type)
Tips (By Paul Bourke)
* Do fractal creation in 16 bit, not 8 bit, integer or floating numbers for each pixel calculation
* Apply anti-aliasing by Supersampling each final pixel (Render a 30,000 pixel version of the image)
* Do all Colour external to fractal creation using gradient maps, allows you to make appearance decisions independent to the creation
Tips (By 3DickUlus)
* "Using 100 samples per pixel, so rendered the full image 100 times with small random jitter (Movement at sub pixel size) and accumulate the result, gives really nice anti-aliasing". 3DickUlus
Tips (By quaz0r)
* Use normalised floating-point values: Values between 0 and 1
* Use an image I/O library that can take these values as input and output to any format
* Average samples together internally in your program, instead of using an external program
* Poisson-disk sampling (Blue noise) is the best sampling pattern
Check all elements in the chain from the application to the monitor if they are ready:
* Hardware = Graphic workstation: scanner, graphic card, monitor, memory, disk, printer, projector: Settings and calibration
* Software: Source and destination = Graphic file type, OS, image editing program, drivers of graphic card
* Workflow or image processing or pipeline of 2D graphic

### What makes image poor quality?

* Colour banding: Discrete jumps from one colour or tone to the next, instead of a smooth gradient. Note that some fractal colouring algorithms (Representation functions) may create colour banding intentionally, like Level Set Method (LSM). Check also False banding
* Pixelated image: Pixelisation or mosaic processing is any technique used in editing images or video, whereby an image is blurred by displaying part or all of it at a markedly lower resolution
* Posterization which shows as an unintended artefacts of colour quantisation
* Image noise, artefacts, glitches, aliasing

### What makes image good quality?

* Looks good and is instantly pleasing to the eye
* No signs of poor quality
* Looks realistic
* Should highlight features of the data, and not highlight features that are only in the gradient itself = Avoid distorting the data (If it's a scientific visualisation not fractal art)

### How to check quality of the image?

* Visually, if it looks good and is instantly pleasing to the eye
* Use a zoom function to check for distortion, blemishes

### How to set up best viewing conditions ?

* Photographs on the web are best viewed using a calibrated and profiled monitor and a color-managed browser.
* Monitor’s Viewing Angle. Generally, all monitors will show an optimum image when you're sitting near the center of the panel.
* ninedegreesbelow : viewing-photographs-on-the-web
* dolby Color-Grading-Mastering-suite-setup
* benq : behind-monitor-lighting
* netflix studios : Color-Critical-Display-Calibration-Guidelines
* flanders scientific : tech-resources
* cinemaquestinc: About the "Ideal Viewing Environment"

#### web-browser-color-management-test

* cameratico : web-browser-color-management-guide By Fábio Pili Updated Jul 15, 2019
* cameratico : web-browser-color-management-test
* ICC browser test
* How to setup proper color management in your web browser by Greg Benz April 27, 2021
* benq : web-browsers-color-management
* eizo : management/color-management-summary

### How to make quality print of a fractal image

Printing tips
How To Get My Monitor To Match My Printer ?

## Resolution and size

Visual rating of the image resolution quality
* Good: Pixels are not visible without zoom
* Poor: Pixels are visible without zoom (Pixelated)
Resolution: Image resolution (Measured in pixels per inch, PPI) describes the detail an image holds. The term applies to raster digital images, film images and other types of images. Higher resolution means more image detail. (By Becky J. Ritchie)
See also:
* Scanning, sampling and plane decomposition
Measures of resolution:
* DPI: Dots per inch. Used in printing and scanning and refers to the dots of ink on one line across one inch. It is a measure of spatial printing or scanner dot density. In particular the number of individual dots that can be placed in a line within the span of 1 inch (2.54 cm). Similarly, dots per centimetre (D/cm or DPcm) refers to the number of individual dots that can be placed within a line of 1 centimetre (0.394 in).
* PPI: Pixels per inch. Describes display resolution. Used for display (web, monitors and video production). A pixel is a dot on a video screen
* LPI: Lines per inch. Used for half-tones and is the measurement of how close together the lines are in the grid
* Good quality resolution and it's pixelated zoomed version
* Difference between image pixel and screen pixel
* Different screen resolutions
* The same image with different resolutions
How to compute PPI
* ppi-calculator
* omnicalculator
* kings pixel-density-calculator
Difference between size and resolution
* Image size (in pixels = horizontal resolution x vertical resolution) shows how much information is in the image
* Image resolution is related to printing or display
Examples:
* The final printed or displayed size needed is 300 dpi @ 5”x7”. Means the image should be 1500x2100 or larger
* The final printed or displayed size needed is 300 dpi @ 8”x10”. Means the image should be 2400x3000 or larger
The quality of a printed image depends on two things:
* The capabilities of the printer (DPI)
* The original image resolution (Size)
The quality of a displayed image depends on:
* The capabilities of the monitor (PPI)
* Zoom factor
* The original image resolution (Size)
Resolution types
* Spatial (Size of smallest object that is recognisable in mm), maybe also divided into horizontal and vertical
* Contrast (Minimal contrast between what is recognisable)
* Temporal (Minimal time in ms, for moving, not static, images)

## Compression

Data compression
* Lossy compression
* Lossless compression
* Data compression
* Uncompressed (Highest quality) PNG
* Low-compression (High quality) PNG
* High-compression (Low quality) JPG
* comparing lossy compression in JPEG with lossless compression
* Lossy JPG and lossless PNG

## Bit depth

RGB cube: 3, 6, 9, 15 and 18 bit:
Greyscale: 2, 3, 4, 6 and 8 bit:
* Same image on five different color depths, showing resulting (compressed) file sizes. 8 and smaller use an adaptive palette so quality may be better than some systems can provide.
* File:24_bit.png$(2^{8})^{3}=16\ 777\ 216$ direct colors 98 KB
* File:8_bit.png$2^{8}=256$ indexed colors 37 KB (−62%)
* File:4_bit.png$2^{4}=16$ colors 13 KB (−87%)
* File:2_bit.png$2^{2}=4$ colors 6 KB (-94%)
* File:1_bit.png$2^{1}=2$ colors 4 KB (-96%)
What bit depth per colour channel (Precision and number type) should I use?
* So how many bits do you really need?
** How many bits do you need for sharing on the Internet? 8-bits
** How many bits do you need for scanning? When a look at the transparency shows that I'm going to have problems with the shadows then I import 48 bit RAW images, since I want to maximize the advantage
** How many bits do you need for printing? 8-bits is fine for the final output, but use 16 if your printer supports it
** How does colour space impact bit depth? Colour space (Gamut) is related to bit depth.
** How many bits should you use for image processing? Use 32-bits for processing an HDR file
*** What precision should you choose in GIMP for editing? Choosing 32-bit floating point precision allows you to take full advantage of GEGL's 32-bit floating point processing. 64-bit precision is made available mostly to accommodate importing and exporting very high bit precision images for scientific editing
** How many bits can you can see? A 10-bit gradient is OK for display (No visually detected banding)
** Why use more bits than what you can see? To avoid numerical errors producing visual errors in the image during image editing (Image processing)
Tips to get 10 bit colour depth working on all elements in the chain from the application to the monitor needed to support it (By Ted Lansing). This includes:
* Hardware
** Video card
** Video connection
** Monitor
* Software
** Application
** Operating system
** Video card driver
More description

## Target destination

Technical destination of the image:
* For display (RGB)
** Quality display (Full size image without compression or with lossless compression)
** Preview (Small image with reduced size, maximum compression even if the quality is reduced)
* For printing (CMYK)
* For archiving (Full size image without compression or with lossless compression, with all colour space versions): EXR, TIFF
Application of the image
* Artistic (Free art): Fancy visualisation, image should be interesting and pleasing to the eye
* Design (Applied art)
* Scientific (Scientific visualisation)
** Colour gradient should highlight features of the data and should not highlight features that are only in the gradient itself
** Colour gradient should be perceptually uniform. Uniformity: Perceived differences in colour must accurately reflect numerical data differences
** Metric: Enable users to accurately read absolute values in data = Value reading tasks
** Form: Gradient should enable users to correctly perceive the shape = Pattern perception
** Order: ColourMaps must preserve the order in data
** Separation: Different data must be perceived differently
** Colour-vision-deficiency (CVD) friendly = Accessible to those with colour blindness
** Printer friendly
** Photocopy safe

## Black

* Black (0,0,0,100) is not black; it is a dark gray. The reason it's gray, rather than black, is that the ink is partially absorbed by the paper …" and therefore the grayness of the key-black is relative to the properties of the paper: newspaper sucks a lot while glossy coated paper might not.
* "built black" or "rich black." This is usually something like 60/60/40/100, or 40/30/30/100

## White

* White point

## Graphic workstation

Software
* Imaging system
* Colour Management System
HDR processing ( HDRI)
* rendering graphic (HDRR)
** HDR tone mapping
** HDR encoding
* display graphic
What do I need for HDR on PC? Monitor with
* A high maximum brightness, ideally 1000cd/m2, but at least 600cd/m2+ if not
* At least 90% coverage of the DCI-P3 colour gamut
* A 10-bit panel

### Hardware

Recommendation (By Matt Smith) for what you need to achieve great HDR on a PC
* A monitor that's DisplayHDR 1000 certified or a quality HDR television.
* A video card from the AMD RX 400, Nvidia GTX 900 series, or Intel integrated graphics found in Intel 7th-gen Core, or newer
* An HDMI 2.0a, DisplayPort 1.4, or Thunderbolt 4 connection, or newer
* HEVC High Efficiency Video Coding
* HDR content, such as an HDR-compatible game or streaming service or HDR image (Photo or digital graphic)
Graphic workstation:
* Input devices: Scanner, camera
* Processing devices: Graphic card, memory
* Storing devices: Hard drive (HD), USB
* Output devices: monitor, projector, printer, film recorders
* Workstation vs gaming graphics card (By Akshat Verma)
Scanner:
* Canon: Colour 48-bit in/24-bit out, greyscale 16-bit in/8-bit out
* "I scanned this transparency on my Imacon Photo scanner in 48 bit mode because I wanted to gather as much data to work with as possible. Once I finished adjusting Curves and Colour Balance I then converted to 24 bit for printing and web display". (By Michael Reichmann)
Monitor 3 levels of monitor brightness:
* A low brightness if they have a peak brightness below 300 nits
* A standard brightness if they have a peak brightness between 300 and 350 nits (SDR)
* A high brightness if they have a peak brightness above 350 nits (HDR)
* Note that humans can detect brightness levels as low as 0.000001 nits and as high as 100,000,000 nits

#### How to calibrate your monitor

* Wikihow: How to Calibrate Your Monitor (By Jack Lloyd, August 12, 2022
* NineDegreesBelow: Monitor profile calibrate confuse (By Elle Stone)

#### What is the reason for calibration?

* If the screen and the printer are calibrated, the green in the leaf, and the photo, and the print will look the same.
Calibration targets:
* white point
* neutrality of greys
* predictability and consistency of tone response

#### How to test your display (Monitor, projector) for HDR support

* Test images (By Greg Benz)
Monitor requirements
* BT.2100 colour gamut
** Hybrid Log-Gamma (HLG) transfer function - For Broadcast TV
** Perceptual quantizer (PQ) transfer function - For Internet Streaming and Movies:
* VESA_DisplayHDR standards
* high resolution and pixel density
Ports and cables
* HDMI Specification HDMI 2.1a supports video resolutions and refresh rates including 8K 60 and 4K 120, and resolutions up to 10K. Dynamic HDR formats are also supported, and bandwidth capability is increased up to 48Gbps
* DisplayPort
* Mini DisplayPort
* USB-C
* Serial digital interface ( SDI)
** optcore: introduction-to-sdi
Examples:
ASUS ProArt
* Mouse: ProArt Mouse MD300 : Up to 4200 dpi sensor resolution and Up to 1000 Hz polling rate
* Monitor: ASUS ProArt display PA32UCX-PK 4K HDR IPS Mini LED: World’s 1st HDR 1600 nits & 120 Hz monitor (3000 USD)
** 32ʺ 4K 120 Hz monitor with true 10-bit colour
** 1600 nits peak and 1000 nits sustained brightness
** Delta E < 1 Colour accuracy / Hardware calibration
** Dolby Vision®, HDR10 and HLG support
** X-rite i1 Display Pro included
* Motherboard: ProArt B660-Creator D4 (200 USD)
Apple 32-inch Pro Display XDR with Retina 6K Display - Standard Glass
* 32-inch LCD display with Retina 6K resolution (6016 by 3384 pixels)
* Pro Stand and VESA Mount Adapter sold separately
* Extreme Dynamic Range (XDR)
* Brightness: 1000 nits sustained, 1600 nits peak
* Contrast ratio: 1,000,000:1
* P3 wide color gamut, 10-bit color depth

### Software

Colour Management System (CMS):
* A device-independent colour space
* ICC profiles for each device (i.e. printer, scanner, monitor, digital camera, etc.): Input and output profiles
* A Colour Matching Module (CMM)
* Colour workflow
Examples:
* Linux_color_management
** Little CMS - OPEN SOURCE small-footprint CMS, with special focus on accuracy and speed.
* Apple’s color management system is called ColorSync
* Microsoft’s is called Image Color Management
OS Settings
* microsoft: hdr-settings-in-windows
* Linux HDR
Web browser
* chrome flags: Force color profile
** brave://flags/
Libraries
* Image I/O library that can take these values as input and output to any format. This can include different bit depths, HDR and different colour spaces
** OpenImageIO = Reading, writing and processing images in a wide variety of file formats, using a format-agnostic API
* Image processing
** ImageJ: Data types: 8-bit greyscale or indexed colour, 16-bit unsigned integer, 32-bit floating-point and RGB colour
Image processing programs:
* GIMP
RAW file editors
* RawTherapee
* Rawstudio
* DigiKam
* Darktable
* Filmulator
* Photivo
* LightZone
* Shotwell
* UFRaw
Number precision and type in GIMP:
* Integer precision options
** 8-bit integer
** 16-bit integer
** 32-bit integer
* Floating point precision options
** 16-bit floating point
** 32-bit floating point
Image file type - High dynamic range file formats - 32‑bpc HDR images
* AVIF is a file format developed by Alliance for Open Media. It's an open standard which already enjoys fairly broad support in major web browsers for standard images. AVIF offers numerous advantages over JPG
* PNG has 1, 2, 4, 8 and 16-bit greyscale support and 8 and 16-bit-per-sample (That is, 24 and 48-bit) Truecolour support
** 16-bit integer ProPhotoRGB PNG: Saturated colours
* PFM file - floating point image format for HDR images
* EXR (OpenEXR): 16-bit OpenEXR files can be considered a good colour precision/file size compromise for the general case OpenEXR has support for color depth using: 16-bit floating-point (half), 32-bit floating-point and 32-bit unsigned integer
* TIFF
* RGBE image format or Radiance HDR is an image format invented by Gregory Ward Larson for the Radiance rendering system. It stores pixels as one byte each for RGB (Red, green and blue) values with a one byte shared exponent. Thus it stores four bytes per pixel

## Final note

Now most of the hardware/software is using 8-bit color channels, some monitors / TV have 10 -bit

## Abbreviations

* HDR = High Dynamic Range
* ICC = The International Color Consortium
* IPT
** IPT color appearance model
** Image Processing Transform
* CMS
** Color management system, a system for computers to control the representation of colors
** CMS = Color Matching System = industry standards in the classification of spot color systems = tools to build, share, and save smart color palettes
*** PMS = the Pantone Matching System,
* CMM = Color Matching Module
* CRI = Color Rendering Intent
* RIP = Raster Image Processing
* OBA = Optical Brightening Agent
* CMYK
** GCR = Grey component replacement
** UCR = Under color removal
** Rich black
IPT components:
* The I ("intensity") component is a luma component that represents the brightness of the video
* CT : blue-yellow (named from protanopia) chroma components
* P : red-green (named from protanopia) chroma components

### Formal International Standards Bodies

* CIE - International Commision on Illumination
** Division 1 : Vision and Colour
** Division 2 : Measurement of Light and Radiation
** Division 8 : Imaging
* IEC - International Electrotechnical Commission
** TC100/PT61966 - Color Management
* ISO - International Standards Organization
** TC6 - Paper, board and pulps
** TC36 - Cinematography
** TC42 - Photography
*** PMAI - US Technical Advisory Group
*** PIMA
** TC130 - Graphic Arts
*** NPES - US Technical Advisory Group
* ITU - International Telecommunications Union
** ITU-R - Radiocommunication Sector
** ITU-T - Telecommunication Standardization Sector
*** SG16 - Study Group 16 - Multimedia services and systems
* JTC1 - IEC/ISO Joint Technical Committee 1
** SC24 - Computer Graphics and Image Processing
** SC28 - Office Equipment
** SC29 - JPEG, MPEG, etc.

### Industry Consortia & Associations

* AIC - International Colour Association
* ANSI - American National Standards Institute
* APCL - Association of Professional Color Labs
* ASTM - American Society for Testing and Materials
* ATSC - Advanced Television Systems Committee
* CGATS - Committee for Graphic Arts Technologies Standards
* DIG - Digital Imaging Group (Home of FlashPix and IIP)
* EBU - European Broadcasting Union
* EIA - Electronic Industries Association
* FOGRA - Forschungsgesellschaft Druck (German graphic arts research institute)
* GATF - Graphic Arts Technical Foundation
* ICC - International Color Consortium
* ISCC - Inter-Society Color Council
* IETF - The Internet Engineering Task Force
* IFRA - The International Association for Newspaper and Media Technology
* JEIDA - Japan Electronic Industry Development Association
* JBMA
* MITI
* NIST - National Institute of Standards and Technology
* NPES - The Association for Suppliers of Printing and Publishing Technologies
* NTA - The National Technology Alliance
* NIDL - The National Information Display Laboratory
* PIMA (US TAG for ISO TC42)
* PIRA - The Information and Publishing Group
* SIGGRAPH - ACM Special Interest Group on Computer Graphics
* SMPTE - Society of Motion Picture and Television Engineers
* SWOP - Specifications Web Offset Publications
* TWAIN - Technology (or Toolkit) Without An Interesting Name
* UGRA - Verein zur Förderung wissenschaftlicher Untersuchungen in der grafischen Industrie
* VESA - Video Electronics Standards Association
* VRML - Virtual Reality Meta Language Consortium
* W3C - World Wide Web Consortium

## Links

* Quality and description
** Commons:Valued_images
** Featured pictures
** Commons:Valued_images
* General guidelines towards quality (By Arnaud Cheritat)
* Linux color management in wikipedia
* Comparison_of_color_models_in_computer_graphics
* The SSIM Index for Image Quality Assessment

## References

* ↑ Shuttermuse glossary: image-quality = What does image quality mean when talking about photography?
* ↑ developer.nvidia gpugems3: importance-being-linear
* ↑ Shuttermuse glossary: image-quality
* ↑ Eizo: Ins and outs of HDR
* ↑ FractalForums.org: Tips for making high quality images
* ↑ Linux and High Dynamic Range (HDR) Display (By Andy Ritger, 2016)
* ↑ colorwiki: How To Get My Monitor To Match My Printer
* ↑ Slideshare: Digital-graphics-technology (By Becky J. Ritchie)
* ↑ howtogeek : what-is-pixel-density-and-how-does-it-affect-image-quality
* ↑ marketing-partners: Image resolution and quality what you need to know
* ↑ DFStudio: Digital image size and resolution, what do you need to know?
* ↑ Parker photographic: GIMP bit depth complete guide (2021)
* ↑ Petapixel 8, 12, 14 vs 16-Bit Depth: What Do You Really Need? (By Greg Benz, September 19, 2018)
* ↑ NineDegreesBelow: Users guide to high bit depth GIMP (By Elle Stone)
* ↑ Ted Lansing: 10 bit colour depth and Adobe Photoshop CS6
* ↑ graphicdesign stackexchange question: what-kind-of-black-should-i-use-when-designing-for-cmyk-print
* ↑ What is HDR and how can I get it on PC? Our HDR guide has it all Katharine Castle avatar Feature by Katharine Castle Editor-in-chief Published on July 9, 2018
* ↑ Bit depth (By Michael Reichmann, December 2, 2011)
* ↑ Eizo: Pixel density 4K
* ↑ Eizo: DisplayPort to D-sub
* ↑ Eizo: modern-video-inputs
* ↑ Computer Darkroom: Colour management (By Ion Lyons)
* ↑ Eizo: Colour Management System (CMS)
* ↑ Itsfoss: 6 Best Free and Open-Source Tools for RAW Image Processing in Linux (By Ambarish Kumar, February 4, 2021)
* ↑ BetterTechtips: 7 Best apps to edit RAW photos in Linux (By Aliko Sunawang, September 23, 2018)
* ↑ Docs GIMP 2.10: GIMP-image-precision
* ↑ Bit depth colour precision in raster images (By Denis Kozlov)
* ↑ color rendering intent by UNIVERSITY OF HOUSTON