Toolchain Pipeline: Difference between revisions

From RawPedia
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
This page details the order in which RawTherapee processes images. Users can learn how to better use the tools, knowing what happens when in the pipeline, and programmers can use this reference to quickly find the right place in the code to insert new tools and to find which files a given tool resides in.
Everything that happens to an image, from the moment you open the file to the moment it is displayed on screen or saved, takes place in a fixed order. The data flows from one module to another - this is the toolchain pipeline. RawTherapee contains four pipelines (one for the main preview, one for the saved image, one for the thumbnail, and one other that currently escaped me). The following list shows a simplified order of operations:


https://code.google.com/p/rawtherapee/issues/detail?id=2233
# Preprocess
## Dark frame
## Flat field
## Bad pixels
## Hot pixels
## Scale colors (internal, no tool in UI)
## Raw black point
## Lens distortion correction
## Green equilibration
## Line noise filter
## Chromatic aberration Correction
## Raw white point
## Raw histogram
## Prepare Auto Exposure
# Demosaic
# Retinex
# Highlight recovery
# White balance
# Crop
# Convert colorspace
# Noise reduction
# Dehaze
# Dynamic range compression
# Auto-match tone curve
# Tone response curve
# Process RGB
## Channel mixer
## Tone curve
## Highlights
## Shadows
## RGB curves
## HSV curves
## Color toning
## Film simulation
## Black-and-white
## L*a*b* color correction grid (Lab)
## Shadows/Highlight (Lab)
## Local contrast (Lab)
# Process Lab
## (locallab branch) blur and noise, denoise, vibrance, cbdl, soflight, local contrast, sharp, retinex, exposure, color and light, avoid color shift
## Lab adjustements
## Vibrance
## L*a*b* color correction grid (Lab)
## Vignette filter
## Graduated filter
## Tone mapping
## Impulse noise reduction
## Defringe
## Edges
## Microcontrast
## Sharpening
## Contrast by Detail Levels
## Wavelets
## Sof light
## CIECAM02
## Resize
## Post-resize sharpening
# Final Lab -> RGB conversion


List of all tools in RawTherapee:
<pre>
Generic/Main preview
  Input profile
  Monitor Color Profile
  Working profile
  Output profile
  Clipping indication
  Red/Green/Blue/Luminosity/Focus mask previews
  Colorimetric intent
---
Exposure
  Highlight Reconstruction
Shadows/Highlights
Tone Mapping
Vignette Filter
Graduated Filter
Lab Adjustments
  L, a, b
  LH, CH, HH, CC, LC, CL
CIECAM02
---
Sharpening
Edges
Microcontrast
Impulse Noise Reduction
Noise Reduction
Defringe
Contrast by Detail Levels
---
White Balance
Vibrance
Channel Mixer
Black-and-White
HSV Equalizer
Film Simulation
RGB Curves
Color Toning
Color Management
---
Crop
Resize
Lens/Geometry
  Rotate
  Perspective
  Lens Correction Profile
  Distortion Correction
  Chromatic Aberration Correction
  Vignette Correction
---
Sensor with Bayer matrix
  Demosaicing
  Raw Black Points
  Preprocessing
  Chromatic Aberration
Sensor with X-Trans matrix
  Demosaicing
  Raw Black Points
Raw White Points
Preprocessing
Dark Frame
Flat-Field
</pre>


----


Order of tools
List of all tools in RawTherapee:
 
* Generic/Main preview
 
** Input profile
Dark Frame Subtraction
** Monitor Color Profile
 
** Working profile
Flat Field Correction [http://code.google.com/p/rawtherapee/source/browse/rtengine/rawimagesource.cc#1270 RawImageSource::processFlatField]
** Output profile
 
** Clipping indication
Read Bad Pixels from .badpixel file (bp1)
** Red/Green/Blue/Luminosity/Focus mask previews
 
** Colorimetric intent
Get Hot Pixels from Darkframe (bp2)
* Exposure Tab
 
** Exposure
Scale Colors (internal, no tool)
** Shadows/Highlights
 
** Tone Mapping
Vignetting correction from lcp (only if Flat Field correction is disabled)
** Dynamic Range Compression
 
** Vignette Filter
Raw Hot/Dead Pixel Detection (bp3)
** Graduated Filter
 
** Lab Adjustments
Interpolation of all Hot/Dead Pixels collected in bp1, bp2 and bp3
* Detail Tab
 
** Sharpening
Green equilibration
** Local Contrast
 
** Edges
Line Noise Filter [http://code.google.com/p/rawtherapee/source/browse/rtengine/cfa_linedn_RT.cc#42 RawImageSource::CLASS cfa_linedn]
** Microcontrast
 
** Impulse Noise Reduction
Raw CA correction [http://code.google.com/p/rawtherapee/source/browse/rtengine/CA_correct_RT.cc#105 RawImageSource::CA_correct_RT]
** Noise Reduction
 
** Defringe
 
** Contrast by Detail Levels
 
** Haze Removal
----
* Color Tab
 
** White Balance
For now, this is a stub to test GraphViz and LaTeX/MathML.
** Vibrance
 
** Channel Mixer
GraphViz test diagram 1:
** Black-and-White
<graphviz border='frame' format='png' caption='Graph for example no. 1'>
** HSV Equalizer
digraph example1 {Hello->World}
** Film Simulation
</graphviz>
** Soft Light
 
** RGB Curves
GraphViz test diagram 2:
** Color Toning
<graphviz renderer='neato' caption='Graph for example no. 2'>
** Color Management
graph example2 {
* Advanced Tab
  run -- intr;
** Retinex
  intr -- runbl;
** CIE Color Appearance Model 2002
  runbl -- run;
** Wavelet Levels
  run -- kernel;
* Transform Tab
  kernel -- zombie;
** Crop
  kernel -- sleep;
** Resize
  kernel -- runmem;
** Lens/Geometry
  sleep -- swap;
*** Rotate
  swap -- runswap;
*** Perspective
  runswap -- new;
*** Profiled Lens Correction
  runswap -- runmem;
*** Distortion Correction
  new -- runmem;
*** Chromatic Aberration Correction
  sleep -- runmem;
*** Vignetting Correction
}
* Raw Tab
</graphviz>
** Sensor with Bayer matrix
 
*** Demosaicing
LaTeX math test:
*** Raw Black Points
<math> f(x) = x^2\,</math>
*** Preprocessing
*** Chromatic Aberration Correction
** Sensor with X-Trans matrix
*** Demosaicing
*** Raw Black Points
** Raw White Points
** Preprocessing
** Dark Frame
** Flat-Field
** Film Negative
** Capture Sharpening

Revision as of 23:24, 11 October 2019

Everything that happens to an image, from the moment you open the file to the moment it is displayed on screen or saved, takes place in a fixed order. The data flows from one module to another - this is the toolchain pipeline. RawTherapee contains four pipelines (one for the main preview, one for the saved image, one for the thumbnail, and one other that currently escaped me). The following list shows a simplified order of operations:

  1. Preprocess
    1. Dark frame
    2. Flat field
    3. Bad pixels
    4. Hot pixels
    5. Scale colors (internal, no tool in UI)
    6. Raw black point
    7. Lens distortion correction
    8. Green equilibration
    9. Line noise filter
    10. Chromatic aberration Correction
    11. Raw white point
    12. Raw histogram
    13. Prepare Auto Exposure
  2. Demosaic
  3. Retinex
  4. Highlight recovery
  5. White balance
  6. Crop
  7. Convert colorspace
  8. Noise reduction
  9. Dehaze
  10. Dynamic range compression
  11. Auto-match tone curve
  12. Tone response curve
  13. Process RGB
    1. Channel mixer
    2. Tone curve
    3. Highlights
    4. Shadows
    5. RGB curves
    6. HSV curves
    7. Color toning
    8. Film simulation
    9. Black-and-white
    10. L*a*b* color correction grid (Lab)
    11. Shadows/Highlight (Lab)
    12. Local contrast (Lab)
  14. Process Lab
    1. (locallab branch) blur and noise, denoise, vibrance, cbdl, soflight, local contrast, sharp, retinex, exposure, color and light, avoid color shift
    2. Lab adjustements
    3. Vibrance
    4. L*a*b* color correction grid (Lab)
    5. Vignette filter
    6. Graduated filter
    7. Tone mapping
    8. Impulse noise reduction
    9. Defringe
    10. Edges
    11. Microcontrast
    12. Sharpening
    13. Contrast by Detail Levels
    14. Wavelets
    15. Sof light
    16. CIECAM02
    17. Resize
    18. Post-resize sharpening
  15. Final Lab -> RGB conversion


List of all tools in RawTherapee:

  • Generic/Main preview
    • Input profile
    • Monitor Color Profile
    • Working profile
    • Output profile
    • Clipping indication
    • Red/Green/Blue/Luminosity/Focus mask previews
    • Colorimetric intent
  • Exposure Tab
    • Exposure
    • Shadows/Highlights
    • Tone Mapping
    • Dynamic Range Compression
    • Vignette Filter
    • Graduated Filter
    • Lab Adjustments
  • Detail Tab
    • Sharpening
    • Local Contrast
    • Edges
    • Microcontrast
    • Impulse Noise Reduction
    • Noise Reduction
    • Defringe
    • Contrast by Detail Levels
    • Haze Removal
  • Color Tab
    • White Balance
    • Vibrance
    • Channel Mixer
    • Black-and-White
    • HSV Equalizer
    • Film Simulation
    • Soft Light
    • RGB Curves
    • Color Toning
    • Color Management
  • Advanced Tab
    • Retinex
    • CIE Color Appearance Model 2002
    • Wavelet Levels
  • Transform Tab
    • Crop
    • Resize
    • Lens/Geometry
      • Rotate
      • Perspective
      • Profiled Lens Correction
      • Distortion Correction
      • Chromatic Aberration Correction
      • Vignetting Correction
  • Raw Tab
    • Sensor with Bayer matrix
      • Demosaicing
      • Raw Black Points
      • Preprocessing
      • Chromatic Aberration Correction
    • Sensor with X-Trans matrix
      • Demosaicing
      • Raw Black Points
    • Raw White Points
    • Preprocessing
    • Dark Frame
    • Flat-Field
    • Film Negative
    • Capture Sharpening