dng_linearization_info Class Reference

Class for managing data values related to DNG linearization. More...

#include <dng_linearization_info.h>

List of all members.


Public Member Functions

void RoundBlacks ()
virtual void Parse (dng_host &host, dng_stream &stream, dng_info &info)
virtual void PostParse (dng_host &host, dng_negative &negative)
real64 MaxBlackLevel (uint32 plane) const
 Compute the maximum black level for a given sample plane taking into account base black level, repeated black level patter, and row/column delta maps.
virtual void Linearize (dng_host &host, const dng_image &srcImage, dng_image &dstImage)
dng_urational BlackLevel (uint32 row, uint32 col, uint32 plane) const
uint32 RowBlackCount () const
 Number of per-row black level deltas in fBlackDeltaV.
dng_srational RowBlack (uint32 row) const
uint32 ColumnBlackCount () const
 Number of per-column black level deltas in fBlackDeltaV.
dng_srational ColumnBlack (uint32 col) const

Public Attributes

dng_rect fActiveArea
uint32 fMaskedAreaCount
 Number of rectangles in fMaskedArea.
dng_rect fMaskedArea [kMaxMaskedAreas]
AutoPtr< dng_memory_blockfLinearizationTable
uint32 fBlackLevelRepeatRows
 Actual number of rows in fBlackLevel pattern.
uint32 fBlackLevelRepeatCols
 Actual number of columns in fBlackLevel pattern.
real64 fBlackLevel [kMaxBlackPattern][kMaxBlackPattern][kMaxSamplesPerPixel]
 Repeating pattern of black level deltas fBlackLevelRepeatRows by fBlackLevelRepeatCols in size.
AutoPtr< dng_memory_blockfBlackDeltaH
 Memory block of double-precision floating point deltas between baseline black level and a given column's black level.
AutoPtr< dng_memory_blockfBlackDeltaV
 Memory block of double-precision floating point deltas between baseline black level and a given row's black level.
real64 fWhiteLevel [kMaxSamplesPerPixel]
 Single white level (maximum sensor value) for each sample plane.

Protected Attributes

int32 fBlackDenom

Detailed Description

Class for managing data values related to DNG linearization.

See LinearizationTable, BlackLevel, BlackLevelRepeatDim, BlackLevelDeltaH, BlackLevelDeltaV and WhiteLevel tags in the DNG 1.1.0 specification.


Member Function Documentation

dng_urational dng_linearization_info::BlackLevel ( uint32  row,
uint32  col,
uint32  plane 
) const

Compute black level for one coordinate and sample plane in the image.

Parameters:
row Row to compute black level for.
col Column to compute black level for.
plane Sample plane to compute black level for.

References fBlackLevel.

dng_srational dng_linearization_info::ColumnBlack ( uint32  col  )  const

Lookup black level delta for a given column.

Parameters:
col Column to get black level for.
Return values:
black level for indicated column.

References fBlackDeltaH, and AutoPtr< T >::Get().

void dng_linearization_info::Linearize ( dng_host host,
const dng_image srcImage,
dng_image dstImage 
) [virtual]

Convert raw data from in-file format to a true linear image using linearization data from DNG.

Parameters:
host Used to allocate buffers, check for aborts, and post progress updates.
srcImage Input pre-linearization RAW samples.
dstImage Output linearized image.

References fActiveArea, and dng_host::PerformAreaTask().

dng_srational dng_linearization_info::RowBlack ( uint32  row  )  const

Lookup black level delta for a given row.

Parameters:
row Row to get black level for.
Return values:
black level for indicated row.

References fBlackDeltaV, and AutoPtr< T >::Get().


Member Data Documentation

This rectangle defines the active (non-masked) pixels of the sensor. The order of the rectangle coordinates is: top, left, bottom, right.

Referenced by Linearize().

A lookup table that maps stored values into linear values. This tag is typically used to increase compression ratios by storing the raw data in a non-linear, more visually uniform space with fewer total encoding levels. If SamplesPerPixel is not equal to one, e.g. Fuji S3 type sensor, this single table applies to all the samples for each pixel.

Referenced by dng_image_writer::WriteDNG().

List of non-overlapping rectangle coordinates of fully masked pixels. Can be optionally used by DNG readers to measure the black encoding level. The order of each rectangle's coordinates is: top, left, bottom, right. If the raw image data has already had its black encoding level subtracted, then this tag should not be used, since the masked pixels are no longer useful. Note that DNG writers are still required to include an estimate and store the black encoding level using the black level DNG tags. Support for the MaskedAreas tag is not required of DNG readers.


The documentation for this class was generated from the following files:

Copyright © 2006-2009 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google