Table of Contents

Class RawDetails

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

Details only RAW files have, kept in FormatDetails.

public sealed class RawDetails : FormatDetails
Inheritance
RawDetails
Inherited Members

Examples

using Raster photo = Raster.Load("photo.dng", context);
RawDetails details = (RawDetails)photo.Metadata.FormatDetails!;
Console.WriteLine($"{details.Make} {details.Model}, DNG {details.DngVersion}");
Console.WriteLine($"Sensor {details.SensorWidth}×{details.SensorHeight}, crop {details.CropArea}");
Console.WriteLine($"White balance {details.Temperature:F0} K, tint {details.Tint:F0}, multipliers {string.Join(", ", details.WhiteBalance)}");
foreach (RawPreview preview in details.Previews)
{
    Console.WriteLine($"Preview {preview.Width}×{preview.Height} {preview.Kind}");
}

Properties

ActiveArea

Gets or sets the part of the sensor data that holds image (DNG's ActiveArea), in sensor coordinates.

public Rect ActiveArea { get; set; }

Property Value

Rect

AsShotNeutral

Gets or sets the camera's response to the white the camera balanced for, or empty when the file has none.

public IReadOnlyList<double> AsShotNeutral { get; set; }

Property Value

IReadOnlyList<double>

BaselineExposure

Gets or sets the exposure in stops the file asks a develop to add (DNG's BaselineExposure).

public double BaselineExposure { get; set; }

Property Value

double

BitsPerSample

Gets or sets the bits each sample was stored with.

public int BitsPerSample { get; set; }

Property Value

int

BlackLevels

Gets or sets the black levels, in stored values: one per position of the black level pattern and sample.

public IReadOnlyList<double> BlackLevels { get; set; }

Property Value

IReadOnlyList<double>

CameraToXyz

Gets or sets the 3 × 3 matrix, row by row, from white-balanced camera RGB to XYZ D50 the develop used.

public IReadOnlyList<double> CameraToXyz { get; set; }

Property Value

IReadOnlyList<double>

CfaHeight

Gets or sets the height of the colour filter array's repeating pattern.

public int CfaHeight { get; set; }

Property Value

int

CfaPattern

Gets or sets the colour filter array pattern at the sensor data's top-left, row by row, such as RGGB, or null for data that is already RGB.

public string? CfaPattern { get; set; }

Property Value

string

CfaWidth

Gets or sets the width of the colour filter array's repeating pattern (2 for Bayer).

public int CfaWidth { get; set; }

Property Value

int

Compression

Gets or sets the TIFF compression code of the sensor data (1 none, 7 lossless JPEG, 8 Deflate, 34892 lossy JPEG, 52546 JPEG XL).

public int Compression { get; set; }

Property Value

int

CropArea

Gets or sets the part a develop outputs (DNG's default crop), in sensor coordinates.

public Rect CropArea { get; set; }

Property Value

Rect

DngVersion

Gets or sets the DNG version the file was written for, or null for other formats.

public Version? DngVersion { get; set; }

Property Value

Version

ExposureTime

Gets or sets the exposure time in seconds, or null.

public double? ExposureTime { get; set; }

Property Value

double?

FNumber

Gets or sets the f-number, or null.

public double? FNumber { get; set; }

Property Value

double?

FocalLength

Gets or sets the focal length in millimetres, or null.

public double? FocalLength { get; set; }

Property Value

double?

Iso

Gets or sets the ISO speed, or null.

public double? Iso { get; set; }

Property Value

double?

LensModel

Gets or sets the lens model, or null.

public string? LensModel { get; set; }

Property Value

string

LensProfile

Gets or sets which lens profile corrected the image and what it corrected, or null for none.

public string? LensProfile { get; set; }

Property Value

string

Make

Gets or sets the camera maker, as the file says.

public string Make { get; set; }

Property Value

string

MakerNote

Gets or sets the maker note as stored: maker-specific data Egami keeps but does not parse, or empty.

public ReadOnlyMemory<byte> MakerNote { get; set; }

Property Value

ReadOnlyMemory<byte>

Model

Gets or sets the camera model, as the file says.

public string Model { get; set; }

Property Value

string

Opcodes

Gets or sets the DNG opcodes the file carries, by list (1 to 3) and opcode id.

public IReadOnlyList<(int List, int Opcode)> Opcodes { get; set; }

Property Value

IReadOnlyList<(int Value, int Scaling)>

Output

Gets or sets what this raster is: the developed image, a preview, a half-size develop or the mosaic.

public RawOutput Output { get; set; }

Property Value

RawOutput

PreviewIndex

Gets or sets the index in Previews of the preview this raster is, or null.

public int? PreviewIndex { get; set; }

Property Value

int?

Previews

Gets or sets the embedded previews, largest first.

public IReadOnlyList<RawPreview> Previews { get; set; }

Property Value

IReadOnlyList<RawPreview>

ProfileName

Gets or sets the camera profile's name, or null.

public string? ProfileName { get; set; }

Property Value

string

SensorHeight

Gets or sets the height of the sensor data as stored.

public int SensorHeight { get; set; }

Property Value

int

SensorWidth

Gets or sets the width of the sensor data as stored.

public int SensorWidth { get; set; }

Property Value

int

Temperature

Gets or sets the colour temperature in kelvin of the white the develop balanced for.

public double Temperature { get; set; }

Property Value

double

Tint

Gets or sets the tint of the white the develop balanced for: positive toward magenta, negative toward green.

public double Tint { get; set; }

Property Value

double

UniqueCameraModel

Gets or sets DNG's UniqueCameraModel, the name colour profiles are matched by, or null.

public string? UniqueCameraModel { get; set; }

Property Value

string

WhiteBalance

Gets or sets the white-balance multipliers of red, green and blue the develop used, the smallest 1.

public IReadOnlyList<double> WhiteBalance { get; set; }

Property Value

IReadOnlyList<double>

WhiteLevels

Gets or sets the white level of each sample, in stored values: where the sensor clips.

public IReadOnlyList<double> WhiteLevels { get; set; }

Property Value

IReadOnlyList<double>

Methods

Copy()

Returns a deep copy.

public override FormatDetails Copy()

Returns

FormatDetails

The copy.