Skip to main content

Module transforms

Module transforms 

Source
Expand description

Image transformation and processing pipeline.

This module provides the core building blocks for transforming raw sensor data (like Bayer CFA) into viewable RGB images. These transforms are generic and designed to support various RAW formats (ARW, DNG, CR2, NEF, etc.).

§General RAW Processing Flow

Most RAW formats follow a similar processing pipeline:

  1. Sensor Normalization:

    • Black Level: Subtracting the sensor noise floor (pedestal).
    • White Level: Normalizing signal to a standard range (0.0 - 1.0).
    • See black_level.
  2. Demosaicing:

    • Converting incomplete Color Filter Array (CFA) data (e.g., Bayer) into fully populated RGB pixels.
    • See cfa.
  3. Color Processing:

    • White Balance: Adjusting gains for Red/Blue channels to neutralize color casts.
    • Color Transformation: Converting from Camera Native RGB space to a standard connection space (like CIE XYZ) and then to an output space (like sRGB or ProPhoto).
    • See color.
  4. Post-Processing & Correction:

    • Tone Mapping/Gamma: Applying gamma curves for display or HDR compression.
    • Corrections: Lens distortion, vignetting, and other optical fixes (often handled via opcodes in formats like DNG).
    • See tonemap and opcodes.

Re-exports§

pub use bad_pixel::BadPixelCorrectionMode;
pub use bad_pixel::apply_bad_pixel_correction;
pub use bad_pixel::correct_bad_pixels;
pub use bad_pixel::detect_bad_pixels;
pub use black_level::apply_black_level;
pub use ca_correction::apply_ca_correction;
pub use color::ColorSpaceTransform;
pub use color::ColorTemperature;
pub use color::apply_color_matrix;
pub use color::apply_white_balance;
pub use color::apply_white_balance_raw;
pub use color::compute_camera_to_srgb;
pub use color::convert_to_srgb;
pub use color::estimate_cct_from_as_shot_neutral;
pub use color::interpolate_color_matrix;
pub use denoise::apply_bilateral_filter;
pub use denoise::apply_gaussian_blur;
pub use lens_correction::apply_warp_rectilinear;
pub use lens_correction::apply_warp_rectilinear_tangential;
pub use orientation::apply_crop;
pub use orientation::apply_orientation;
pub use orientation::flip_horizontal;
pub use orientation::flip_vertical;
pub use orientation::rotate_90_ccw;
pub use orientation::rotate_90_cw;
pub use orientation::rotate_180;
pub use simd::apply_gains_rgb;
pub use simd::apply_matrix_rgb;
pub use simd::subtract_black_level_uniform;
pub use tonemap::apply_tone_reproduction;
pub use tonemap::apply_tonemap;

Modules§

bad_pixel
Bad pixel correction for CFA sensor data.
black_level
Black level subtraction for raw sensor data.
ca_correction
Chromatic aberration correction.
cfa
Color Filter Array (CFA) Demosaicing.
color
Color space transformations.
denoise
Noise reduction algorithms for RGB image data.
lens_correction
Lens distortion correction.
opcodes
DNG Opcode List processing.
orientation
Orientation and crop transforms for RGB images.
simd
SIMD-accelerated image processing helpers.
tonemap
Tone mapping and sRGB encoding.