dng_negative Class Reference

Main class for holding DNG image data and associated metadata. More...

#include <dng_negative.h>

List of all members.


Public Types

enum  RawImageStageEnum {
  rawImageStagePreOpcode1, rawImageStagePostOpcode1, rawImageStagePostOpcode2, rawImageStagePreOpcode3,
  rawImageStagePostOpcode3, rawImageStageNone
}

Public Member Functions

dng_memory_allocatorAllocator () const
 Provide access to the memory allocator used for this object.
void SetModelName (const char *name)
 Getter for ModelName.
const dng_string & ModelName () const
 Setter for ModelName.
void SetLocalName (const char *name)
 Setter for LocalName.
const dng_string & LocalName () const
 Getter for LocalName.
void SetBaseOrientation (const dng_orientation &orientation)
 Setter for BaseOrientation.
bool HasBaseOrientation () const
 Has BaseOrientation been set?
const dng_orientation & BaseOrientation () const
 Getter for BaseOrientation.
virtual dng_orientation Orientation () const
 Hook to allow SDK host code to add additional rotations.
void ApplyOrientation (const dng_orientation &orientation)
void SetDefaultCropSize (const dng_urational &sizeH, const dng_urational &sizeV)
 Setter for DefaultCropSize.
void SetDefaultCropSize (uint32 sizeH, uint32 sizeV)
 Setter for DefaultCropSize.
const dng_urational & DefaultCropSizeH () const
 Getter for DefaultCropSize horizontal.
const dng_urational & DefaultCropSizeV () const
 Getter for DefaultCropSize vertical.
void SetDefaultCropOrigin (const dng_urational &originH, const dng_urational &originV)
 Setter for DefaultCropOrigin.
void SetDefaultCropOrigin (uint32 originH, uint32 originV)
 Setter for DefaultCropOrigin.
void SetDefaultCropCentered (const dng_point &rawSize)
 Set default crop around center of image.
const dng_urational & DefaultCropOriginH () const
 Get default crop origin horizontal value.
const dng_urational & DefaultCropOriginV () const
 Get default crop origin vertical value.
void SetDefaultScale (const dng_urational &scaleH, const dng_urational &scaleV)
 Setter for DefaultScale.
const dng_urational & DefaultScaleH () const
 Get default scale horizontal value.
const dng_urational & DefaultScaleV () const
 Get default scale vertical value.
void SetBestQualityScale (const dng_urational &scale)
 Setter for BestQualityScale.
const dng_urational & BestQualityScale () const
 Getter for BestQualityScale.
real64 RawToFullScaleH () const
 API for raw to full image scaling factors horizontal.
real64 RawToFullScaleV () const
 API for raw to full image scaling factors vertical.
real64 DefaultScale () const
real64 SquareWidth () const
 Default cropped image size (at scale == 1.0) width.
real64 SquareHeight () const
 Default cropped image size (at scale == 1.0) height.
real64 AspectRatio () const
 Default cropped image aspect ratio.
real64 PixelAspectRatio () const
 Pixel aspect ratio of stage 3 image.
uint32 FinalWidth (real64 scale) const
 Default cropped image size at given scale factor width.
uint32 FinalHeight (real64 scale) const
 Default cropped image size at given scale factor height.
uint32 DefaultFinalWidth () const
 Default cropped image size at default scale factor width.
uint32 DefaultFinalHeight () const
 Default cropped image size at default scale factor height.
uint32 BestQualityFinalWidth () const
uint32 BestQualityFinalHeight () const
dng_rect DefaultCropArea (real64 scaleH=1.0, real64 scaleV=1.0) const
void SetBaselineNoise (real64 noise)
 Setter for BaselineNoise.
const dng_urational & BaselineNoiseR () const
 Getter for BaselineNoise as dng_urational.
real64 BaselineNoise () const
 Getter for BaselineNoise as real64.
void SetNoiseReductionApplied (const dng_urational &value)
 Setter for NoiseReductionApplied.
const dng_urational & NoiseReductionApplied () const
 Getter for NoiseReductionApplied.
void SetNoiseProfile (const dng_noise_profile &noiseProfile)
 Setter for noise profile.
bool HasNoiseProfile () const
 Does this negative have a valid noise profile?
const dng_noise_profileNoiseProfile () const
 Getter for noise profile.
void SetBaselineExposure (real64 exposure)
 Setter for BaselineExposure.
const dng_srational & BaselineExposureR () const
 Getter for BaselineExposure as dng_urational.
real64 BaselineExposure () const
 Getter for BaselineExposure as real64.
void SetBaselineSharpness (real64 sharpness)
 Setter for BaselineSharpness.
const dng_urational & BaselineSharpnessR () const
 Getter for BaselineSharpness as dng_urational.
real64 BaselineSharpness () const
 Getter for BaselineSharpness as real64.
void SetChromaBlurRadius (const dng_urational &radius)
 Setter for ChromaBlurRadius.
const dng_urational & ChromaBlurRadius () const
 Getter for ChromaBlurRadius as dng_urational.
void SetAntiAliasStrength (const dng_urational &strength)
 Setter for AntiAliasStrength.
const dng_urational & AntiAliasStrength () const
 Getter for AntiAliasStrength as dng_urational.
void SetLinearResponseLimit (real64 limit)
 Setter for LinearResponseLimit.
const dng_urational & LinearResponseLimitR () const
 Getter for LinearResponseLimit as dng_urational.
real64 LinearResponseLimit () const
 Getter for LinearResponseLimit as real64.
void SetShadowScale (const dng_urational &scale)
 Setter for ShadowScale.
const dng_urational & ShadowScaleR () const
 Getter for ShadowScale as dng_urational.
real64 ShadowScale () const
 Getter for ShadowScale as real64.
void SetColorimetricReference (uint32 ref)
uint32 ColorimetricReference () const
void SetColorChannels (uint32 channels)
 Setter for ColorChannels.
uint32 ColorChannels () const
 Getter for ColorChannels.
void SetMonochrome ()
 Setter for Monochrome.
bool IsMonochrome () const
 Getter for Monochrome.
void SetAnalogBalance (const dng_vector &b)
 Setter for AnalogBalance.
dng_urational AnalogBalanceR (uint32 channel) const
 Getter for AnalogBalance as dng_urational.
real64 AnalogBalance (uint32 channel) const
 Getter for AnalogBalance as real64.
void SetCameraNeutral (const dng_vector &n)
 Setter for CameraNeutral.
void ClearCameraNeutral ()
 Clear CameraNeutral.
bool HasCameraNeutral () const
 Determine if CameraNeutral has been set but not cleared.
const dng_vector & CameraNeutral () const
 Getter for CameraNeutral.
dng_urational CameraNeutralR (uint32 channel) const
void SetCameraWhiteXY (const dng_xy_coord &coord)
 Setter for CameraWhiteXY.
bool HasCameraWhiteXY () const
const dng_xy_coord & CameraWhiteXY () const
void GetCameraWhiteXY (dng_urational &x, dng_urational &y) const
void SetCameraCalibration1 (const dng_matrix &m)
void SetCameraCalibration2 (const dng_matrix &m)
const dng_matrix & CameraCalibration1 () const
 Getter for first of up to two color matrices used for individual camera calibrations.
const dng_matrix & CameraCalibration2 () const
 Getter for second of up to two color matrices used for individual camera calibrations.
void SetCameraCalibrationSignature (const char *signature)
const dng_string & CameraCalibrationSignature () const
void AddProfile (AutoPtr< dng_camera_profile > &profile)
void ClearProfiles ()
uint32 ProfileCount () const
const dng_camera_profileProfileByIndex (uint32 index) const
const dng_camera_profileProfileByID (const dng_camera_profile_id &id, bool useDefaultIfNoMatch=true) const
bool HasProfileID (const dng_camera_profile_id &id) const
virtual const dng_camera_profileCameraProfileToEmbed () const
void SetAsShotProfileName (const char *name)
const dng_string & AsShotProfileName () const
virtual dng_color_specMakeColorSpec (const dng_camera_profile_id &id) const
void SetRawImageDigest (const dng_fingerprint &digest)
void ClearRawImageDigest ()
const dng_fingerprintRawImageDigest () const
void FindRawImageDigest (dng_host &host) const
void ValidateRawImageDigest (dng_host &host)
void SetRawDataUniqueID (const dng_fingerprint &id)
const dng_fingerprintRawDataUniqueID () const
void FindRawDataUniqueID (dng_host &host) const
void RecomputeRawDataUniqueID (dng_host &host)
void SetOriginalRawFileName (const char *name)
bool HasOriginalRawFileName () const
const dng_string & OriginalRawFileName () const
void SetHasOriginalRawFileData (bool hasData)
bool CanEmbedOriginalRaw () const
void SetOriginalRawFileData (AutoPtr< dng_memory_block > &data)
const void * OriginalRawFileData () const
uint32 OriginalRawFileDataLength () const
void SetOriginalRawFileDigest (const dng_fingerprint &digest)
const dng_fingerprintOriginalRawFileDigest () const
void FindOriginalRawFileDigest () const
void ValidateOriginalRawFileDigest ()
void SetPrivateData (AutoPtr< dng_memory_block > &block)
void ClearPrivateData ()
const uint8 * PrivateData () const
uint32 PrivateLength () const
void SetMakerNoteSafety (bool safe)
bool IsMakerNoteSafe () const
void SetMakerNote (AutoPtr< dng_memory_block > &block)
void ClearMakerNote ()
const void * MakerNoteData () const
uint32 MakerNoteLength () const
dng_exifGetExif ()
const dng_exifGetExif () const
virtual dng_memory_blockBuildExifBlock (const dng_resolution *resolution=NULL, bool includeIPTC=false, bool minimalEXIF=false, const dng_jpeg_preview *thumbnail=NULL) const
dng_exifGetOriginalExif ()
const dng_exifGetOriginalExif () const
void SetIPTC (AutoPtr< dng_memory_block > &block, uint64 offset)
void SetIPTC (AutoPtr< dng_memory_block > &block)
void ClearIPTC ()
const void * IPTCData () const
uint32 IPTCLength () const
uint64 IPTCOffset () const
dng_fingerprint IPTCDigest (bool includePadding=true) const
void RebuildIPTC (bool padForTIFF, bool forceUTF8)
bool UsedUTF8forIPTC () const
void SetUsedUTF8forIPTC (bool used)
bool SetXMP (dng_host &host, const void *buffer, uint32 count, bool xmpInSidecar=false, bool xmpIsNewer=false)
dng_xmp * GetXMP ()
const dng_xmp * GetXMP () const
bool XMPinSidecar () const
const dng_linearization_infoGetLinearizationInfo () const
void ClearLinearizationInfo ()
void SetLinearization (AutoPtr< dng_memory_block > &curve)
void SetActiveArea (const dng_rect &area)
void SetMaskedAreas (uint32 count, const dng_rect *area)
void SetMaskedArea (const dng_rect &area)
void SetBlackLevel (real64 black, int32 plane=-1)
void SetQuadBlacks (real64 black0, real64 black1, real64 black2, real64 black3)
void SetRowBlacks (const real64 *blacks, uint32 count)
void SetColumnBlacks (const real64 *blacks, uint32 count)
uint32 WhiteLevel (uint32 plane=0) const
void SetWhiteLevel (uint32 white, int32 plane=-1)
const dng_mosaic_infoGetMosaicInfo () const
void ClearMosaicInfo ()
void SetColorKeys (ColorKeyCode color0, ColorKeyCode color1, ColorKeyCode color2, ColorKeyCode color3=colorKeyMaxEnum)
void SetRGB ()
void SetCMY ()
void SetGMCY ()
void SetBayerMosaic (uint32 phase)
void SetFujiMosaic (uint32 phase)
void SetQuadMosaic (uint32 pattern)
void SetGreenSplit (uint32 split)
const dng_opcode_list & OpcodeList1 () const
dng_opcode_list & OpcodeList1 ()
const dng_opcode_list & OpcodeList2 () const
dng_opcode_list & OpcodeList2 ()
const dng_opcode_list & OpcodeList3 () const
dng_opcode_list & OpcodeList3 ()
virtual void Parse (dng_host &host, dng_stream &stream, dng_info &info)
virtual void PostParse (dng_host &host, dng_stream &stream, dng_info &info)
virtual void SynchronizeMetadata ()
void UpdateDateTime (const dng_date_time_info &dt)
void UpdateDateTimeToNow ()
virtual bool SetFourColorBayer ()
const dng_imageStage1Image () const
const dng_imageStage2Image () const
const dng_imageStage3Image () const
RawImageStageEnum RawImageStage () const
const dng_imageRawImage () const
virtual void ReadStage1Image (dng_host &host, dng_stream &stream, dng_info &info)
void SetStage1Image (AutoPtr< dng_image > &image)
void SetStage2Image (AutoPtr< dng_image > &image)
void SetStage3Image (AutoPtr< dng_image > &image)
void BuildStage2Image (dng_host &host, uint32 pixelType=ttShort)
void BuildStage3Image (dng_host &host, int32 srcPlane=-1)
void SetStage3Gain (real64 gain)
real64 Stage3Gain () const
void SetIsPreview (bool preview)
bool IsPreview () const
void SetIsDamaged (bool damaged)
bool IsDamaged () const

Static Public Member Functions

static dng_negativeMake (dng_memory_allocator &allocator)

Protected Member Functions

 dng_negative (dng_memory_allocator &allocator)
virtual void Initialize ()
virtual dng_exifMakeExif ()
virtual dng_xmp * MakeXMP ()
virtual dng_linearization_infoMakeLinearizationInfo ()
void NeedLinearizationInfo ()
virtual dng_mosaic_infoMakeMosaicInfo ()
void NeedMosaicInfo ()
virtual void DoBuildStage2 (dng_host &host, uint32 pixelType)
virtual void DoInterpolateStage3 (dng_host &host, int32 srcPlane)
virtual void DoMergeStage3 (dng_host &host)
virtual void DoBuildStage3 (dng_host &host, int32 srcPlane)

Protected Attributes

dng_memory_allocatorfAllocator
dng_string fModelName
dng_string fLocalName
bool fHasBaseOrientation
dng_orientation fBaseOrientation
dng_urational fDefaultCropSizeH
dng_urational fDefaultCropSizeV
dng_urational fDefaultCropOriginH
dng_urational fDefaultCropOriginV
dng_urational fDefaultScaleH
dng_urational fDefaultScaleV
dng_urational fBestQualityScale
real64 fRawToFullScaleH
real64 fRawToFullScaleV
dng_urational fBaselineNoise
dng_urational fNoiseReductionApplied
dng_noise_profile fNoiseProfile
dng_srational fBaselineExposure
dng_urational fBaselineSharpness
dng_urational fChromaBlurRadius
dng_urational fAntiAliasStrength
dng_urational fLinearResponseLimit
dng_urational fShadowScale
uint32 fColorimetricReference
uint32 fColorChannels
dng_vector fAnalogBalance
dng_vector fCameraNeutral
dng_xy_coord fCameraWhiteXY
dng_matrix fCameraCalibration1
dng_matrix fCameraCalibration2
dng_string fCameraCalibrationSignature
std::vector< dng_camera_profile * > fCameraProfile
dng_string fAsShotProfileName
dng_fingerprint fRawImageDigest
dng_fingerprint fRawDataUniqueID
dng_string fOriginalRawFileName
bool fHasOriginalRawFileData
AutoPtr< dng_memory_blockfOriginalRawFileData
dng_fingerprint fOriginalRawFileDigest
AutoPtr< dng_memory_blockfDNGPrivateData
bool fIsMakerNoteSafe
AutoPtr< dng_memory_blockfMakerNote
AutoPtr< dng_exiffExif
AutoPtr< dng_exiffOriginalExif
AutoPtr< dng_memory_blockfIPTCBlock
uint64 fIPTCOffset
bool fUsedUTF8forIPTC
AutoPtr< dng_xmp > fXMP
bool fValidEmbeddedXMP
bool fXMPinSidecar
bool fXMPisNewer
AutoPtr< dng_linearization_infofLinearizationInfo
AutoPtr< dng_mosaic_infofMosaicInfo
dng_opcode_list fOpcodeList1
dng_opcode_list fOpcodeList2
dng_opcode_list fOpcodeList3
AutoPtr< dng_imagefStage1Image
AutoPtr< dng_imagefStage2Image
AutoPtr< dng_imagefStage3Image
real64 fStage3Gain
bool fIsPreview
bool fIsDamaged
RawImageStageEnum fRawImageStage
AutoPtr< dng_imagefRawImage

Detailed Description

Main class for holding DNG image data and associated metadata.

Member Function Documentation

void dng_negative::ApplyOrientation ( const dng_orientation &  orientation  ) 

Logically rotates the image by changing the orientation values. This will also update the XMP data.

uint32 dng_negative::BestQualityFinalHeight (  )  const [inline]

Get best quality height. For a naive conversion, one could use either the default size, or the best quality size.

References BestQualityScale(), DefaultScale(), and FinalHeight().

uint32 dng_negative::BestQualityFinalWidth (  )  const [inline]

Get best quality width. For a naive conversion, one could use either the default size, or the best quality size.

References BestQualityScale(), DefaultScale(), and FinalWidth().

dng_rect dng_negative::DefaultCropArea ( real64  scaleH = 1.0,
real64  scaleV = 1.0 
) const

The default crop area after applying the specified horizontal and vertical scale factors to the stage 3 image.

Referenced by dng_render::Render().

real64 dng_negative::DefaultScale (  )  const [inline]

Get default scale factor. When specifing a single scale factor, we use the horizontal scale factor, and let the vertical scale factor be calculated based on the pixel aspect ratio.

References DefaultScaleH().

Referenced by BestQualityFinalHeight(), BestQualityFinalWidth(), DefaultFinalHeight(), and DefaultFinalWidth().

void dng_negative::SetCameraCalibration1 ( const dng_matrix &  m  ) 

Setter for first of up to two color matrices used for individual camera calibrations.

The sequence of matrix transforms is: Camera data --> camera calibration --> "inverse" of color matrix

This will be a 4x4 matrix for a four-color camera. The defaults are almost always the identity matrix, and for the cases where they aren't, they are diagonal matrices.

void dng_negative::SetCameraCalibration2 ( const dng_matrix &  m  ) 

Setter for second of up to two color matrices used for individual camera calibrations.

The sequence of matrix transforms is: Camera data --> camera calibration --> "inverse" of color matrix

This will be a 4x4 matrix for a four-color camera. The defaults are almost always the identity matrix, and for the cases where they aren't, they are diagonal matrices.


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