Table of Contents

Enum RawOutput

Namespace
Egami.Formats.Extended.Raw
Assembly
Egami.Formats.Extended.dll

What a RAW load returns.

public enum RawOutput

Fields

Developed = 0

The developed image, in Rgb16 sRGB, or rendered straight into the RGB space ConvertColorTo names (Display P3, Adobe RGB, ProPhoto, Rec. 2020, linear ones), whose ICC profile the raster then carries.

HalfSize = 3

A develop at half the width and height, each 2 × 2 block of the mosaic one pixel: about four times faster, and no demosaicing.

Mosaic = 2

The sensor data as stored: Gray16 for a colour filter array (the pattern is in CfaPattern), Rgb16 for LinearRaw, float types for floating-point data. Nothing is scaled, cropped or balanced, and ConvertColorTo does not apply.

Preview = 1

The largest embedded preview, as the camera or converter rendered it; fast, but its look is the maker's.

Examples

// The untouched sensor data for a pipeline of your own: Gray16, one value per photosite.
using Raster mosaic = Raster.Load("photo.dng", context, new RawReaderOptions { Output = RawOutput.Mosaic });
RawDetails raw = (RawDetails)mosaic.Metadata.FormatDetails!;
Console.WriteLine($"{raw.CfaPattern}, black {raw.BlackLevels[0]}, white {raw.WhiteLevels[0]}");

// Half the size and about four times faster: each 2 × 2 block of photosites is one pixel.
using Raster<Rgba8> half = Raster.Load<Rgba8>("photo.dng", context, new RawReaderOptions { Output = RawOutput.HalfSize });

// A thumbnail: MinimumSize takes the smallest embedded preview or half-size develop that covers it.
using Raster thumb = Raster.Load("photo.dng", context, new ReaderOptions { MinimumSize = new Size(32, 32) });