Quantcast
Channel: Adobe Community : Popular Discussions - DNG SDK
Viewing all 4036 articles
Browse latest View live

SubIFD1 tags not updating

$
0
0

Hey,

 

I'm currently developing code to write raw camera image data to dng files (I'm doing some processing in between so I'm not using the DNG Converter exe). I have not been able to find any tutorial on the dng sdk, so my code is based partly on the dng_validate code and partly on incomplete code provided by others.

 

Anyway, my problem is that the dngs are not being written correctly. When I run dng_validate on the created dng, I get the following: "Error: Missing or invalid SamplesPerPixel (SubIFD 1)". However, when I set the SamplesPerPixel tag in SubIFD 1, the change is not reflected in the output of dng_validate when run on the created dng. Similarly, when I set the PhotometricInterpretation tag to CFA (32803), the output of dng_validate still shows it as being set to LinearRaw. My question is are there other SubIFD 1 tags that can have the effect of overwriting the above tags?

 

Thanks,

 

aubrey


Convert Raw to DNG

$
0
0

Dear all,

I'm seeking DNG SDK assistance, and I'm trying to convert our raw file(only contains metadata from the sensor) to DNG format so that we can use white balance, demosaic,vignetting and so on. But I don't know how to get start with it. Any help from the experts would be greatly appreciated.

 

Best,

 

Caigao

I scanned a black & white negative. Can I turn it into a positive in PS?

$
0
0

I scanned a black & white negative. Can I turn it into a positive in PhotoShop?

How to build dng_validate in VisualC++ 2010 [Question]

$
0
0

Hello all, I loaded the project solution coming with the current source into my Microsoft Visual C++ 2010 IDE and hit BUILD having prepared everything as in the README - I even replaced XMP 5.1.2 with 4.4.2 version in one trial as found here in the forum, but then the error messages got even worst - the build always stucks.

 

I even put everything dng_sdk and XMP-SDK as siblings (as recommended) in the root folder to avoid too long path errors, but all didn't help...

 

Side note: Would it be possible to generate a Makefile to be used with another IDE too (something like CodeLite, which imports MS project solution files at least, tried it, set all ENV variables as in vcvars32.bat but then it stucked on the build profiles - VALIDATE_DEBUG etc. - and could not find the .obj files it had generated though, so now I tried with one MSVC++ 2010 IDE instance available for me).

 

Cheers, hoping for help

Daniel

Creating a DNG from scratch.

$
0
0

Hi,

I'm trying to save camera raws(16 Bit Bayer pattern) I grab directly from an industrial camera in the DNG format.

By looking at http://fossies.org/dox/digikam-2.5.0/dngwriter_8cpp_source.html#l00188 - the only example I could find online - I have been able to create a file which Photoshop & co are able to read. However I had to do some guesswork. Specifically I had to specify a profile with the following lines:

 

prof->SetColorMatrix1((dng_matrix) matrix);

prof->SetCalibrationIlluminant1(lsD65);

negative->AddProfile(prof);

dng_vector camNeutral(identify.rawColors);

for (int i = 0; i < identify.rawColors; ++i)

{

    camNeutral[i] = 1.0/identify.cameraMult[i];

}

negative->SetCameraNeutral(camNeutral);

 

I don't have this information. Just adding the identity matrix produces a strange tint.

 

What is the simplest way of saying "the camera sensor is linear" and "I know nothing about the color temperature"?

 

I'm thankful for any help!

Installation failed: 'AppendProperties' : is not a member of 'TXMPUtils'

$
0
0

Dear all,

I’m trying to install DNG-SDK (1.3) but with no success, I have tried to compile with both XMP Toolkit SDK CC-2013.06 and XMP Toolkit SDK 5.1.2 but with the same error message:

 

error C2039: 'AppendProperties' : is not a member of 'TXMPUtils<tStringObj>'

 

Unfortunately I was not able to find XMP Toolkit SDK 4.4.2 that should solve the problem. The compiler is VS 2010 64bit.

 

Please can you give me some tips on how solve this issue?

 

Regards,

 

Hal

DNG SDK - What a Complete MESS !!!!!

$
0
0

Hi - and sorry for this to be HIGHLY infriendly message

 

 

I have downloaded and installed ALL latest greatest of anything pertaining to the DNG SDK -

Followed ANY read me, configure, make, make install files available there.

Installed CMAKE and everything else....

 

I am on OS X 10.9 and USE the xCODE version of Mavericks

 

I am developing MANY different things and NEVER have problems.

 

 

I have in my life NEVER exprienced something as cumbersome and clumsy as this. NEVER!!!!

 

 

I am trying to compile/build the inlcuded and generic dng_validate project. And this proves to be IMPOSSILBE.

 

Simply put. I cannot figure it out. And I cannot do more that to follow the instructions provided in the SDK.

 

 

This is incredible and I am missing the words to describe anger I am feeling.

 

 

I realize this sdk is something that adobe cares nothing about - hence all the problems adobe are having with their own apps, which arent even capable of reading DNGs correctly...

 

To whomever, maintaining this SDK ---- You are doing a really bad job at it !!!!

 

 

Regards

 

Morten

DNG_SDK and VS2013

$
0
0

Really painful to build but in the end possible (had to build XMP* libraries separately, I didn't merge the projects) , is there a way to submit patches or is Adobe looking into this issue to re-release the XMP* kit and the DNG_sdk kit updated for the latest versions of Visual Studio ?

It has been 2 years since the last release.


raw image size > 2.147 Gb?

$
0
0

Hello,

 

Is there a dng specification raw image size limit? I would like to save huge raw images. We changed the kMaxImageSide from 65000 to 300000. I know the dng's which are bigger then 65000 per size can't be opened in other dng readers. But also if you just have a raw image 30000x30000 it can be bigger then 2.147Gb. It's depends on bits per pixels. For now we have images like 7500 x 60000, but soon we want to save raw images like 7500 x 314169 or better 7500 x 628328. That means for the first image we have raw image data like 4.4Gb and for the other 8.8Gb. Of course this is just possible on a 64bit system.

 

Is there any plan to support huge raw images (64bit dng sdk)? If so when will you release it?

 

Best regards,

Marius

Rather basic question:

$
0
0

I'm currently writing a lens correction and image optimization program that (if everything works as planned) will perform the following functions:

 

1. Removal of image blurring introduced by the lens, camera AA filter, diffraction, and RAW converter demosaic algorithm.

 

2. Correction of radial and longitudinal chromatic aberrations.

 

3. Correction of coma, spherical aberrations, and other similar distortions.

 

4. Correction of barrel, pincushion, and the most complex forms of mustache distortion.

 

5. Vignetting correction.

 

6. Stacking multiple DNG images for focus or exposure blending.

 

The biggest hassle I'm encountering right now is figuring out the DNG SDK. I've downloaded it and browsed through it, but there's a huge number of classes, and the object hierarchy and their intended usages aren't clear to me yet. I'm trying to figure out how to accomplish the following tasks:

 

1. Open a DNG file (preferably the demosaiced linear RGB flavor), and read the image and metadata (especially camera model, lens model, focal length, and aperture) into memory.

 

2. Once the image has been processed, write it to a new linear RGB DNG file that can be opened in any DNG-aware application, with all original tags and metadata correctly preserved.

 

All of the internal correction operations are done on linear RGB data in the camera's native color space, so that setting white balance, selection of color profile, etc. is unaffected by the image correction operation. The user will have the exact same color processing options, ability to select white balance, exposure adjustments, and output color space selection as when working with the original RAW(s).

 

All I care about is opening a linear RGB DNG file (already demosaiced, so I don't have to open that can of worms) processing the image data, and then saving to a new DNG file that is identical except for the actual image data. Where do I start?

Output of stage 1 (pre linearisation) and clarification

$
0
0

hi,

 

Scratching my head on this one.

 

I have some DNG RAW files and i'm using dng_validate to explore in more detail.

 

I'm looking at all the stages of processing via outputting uncompressed tifs.

 

What i would really like to understand is the nature of the source data. When i open the file in After Effects i can see that in the 16 bit tiff file, there are only values shown from 0 to 2048. These files are supposed to be 12 bit so i would have expected up to 4096 (i have some clipping in the file to max the value).

 

After linearisation these files occupy the full 16 bit but they appear to be scaled with adjustments to the black and white point, that's fine. In other words if i take the pre linear file and use the levels i can pretty much get the same effect of linearisation.

 

What i would love to know is whether the dng_validate is outputting the exact data in the source files or whether the RAW DNGs could be floating point and the dng_validate when outputting the pre linearsation file is missing some data?

 

So how close am i to the actual data in the RAW files, are DNGs stored as integer data?

 

Really appreciate any help!

cheers

Paul

Missing DNG Tag: ProfileToneCurve

$
0
0

Hello everyone,

 

I've been trying investigate DNG tags in file using dng_validate in DNG sdk v1.4. In 'dng_validate' -d <num> option should show all information i.e. tags in .dng. However some of them are not visible. For example, ProfileToneCurve.

 

Why I cannot access them? Is there any other ways to access tags?

 

Thanks.

DNG Converter source: who to ask

$
0
0

Hi,

 

I do not know if Adobe people are actually reading the forums (but one can always hope). I am currently researching the possibility of raw conversion on Unix operating systems (BSD, Linux, Solaris and the like). The only solution currently in existance is called 'dcraw', and well... it's quite limited in its scope, and ugly (both from an engineering point of view *and* from a user's perspective).

 

It would be nice if Adobe could be persuaded to provide access to their DNG converter sources, so that one can at least try and produce a non-Windows port of it. Together with the DNG SDK, this could be a very powerful combination. Judging from a short look at it, at least the SDK should not be completely impossible to port to a another platform (of course, licensing issues would have to be clarified, but that's another issue). At the moment, the main problem remains: who to ask?

 

Regards,

Robert

DNG SDK cannot write files with floating point pixels?

$
0
0

I'm trying to create a DNG with 32 bit floating point pixels. The reason is to create a file which is not demosaiced but contains a large dynamic range. It goes well for the major part, but it fails in the linearization step (BuildStage2Image) when I'm generating a thumbnail. Looking into the code it seems like the floating point case is not handled, so it is easy to understand why it does not work.

 

Is this a bug in the SDK, or does not the DNG standard support floating point pixels?

 

(I'm using the latest release at time of writing, version 1.4)

 

Edit: I patched the SDK to support floating point pixels (like 4 lines of code), so it is quite simple to do. But not surprisingly it cannot be interpreted even by Lightroom.

DNG SDK thinks 0xFFFFFFFF is invalid white level for 32 bit integers

$
0
0

As discussed in another message the DNG SDK does not seem to be able to write floating point DNGs. Since I need higher dynamic range than a 16 bit sample I instead went for 32 bit integers.

 

This works, and I manage to create a file but when I run dng_validate on it it says the white level is invalid. The white level I have of course set to 0xFFFFFFFF to make use of the full 32 bit range. Looking into the code in dng_ifd.cpp where this test is made it seems like the default max white level is set to 65535.0 and the file's white level is compared against that, regardless if the sample type is 16 or 32 bit. This means that I can only make use of 16 bits of the 32 bit integer which seems kind of strange. Looking into the DNG spec I don't see anything there that forbids using the full 32 bit range of 32 bit samples. So this looks like a bug to me.

 

This is with version 1.4

 

the created file can be opened in Lightroom 4, so the only problem seems to be that dng_validate does not think its valid.

 

Message was edited by: torger76, removed clipping issue, that was a fault in my code.


Installation failed: 'AppendProperties' : is not a member of 'TXMPUtils'

$
0
0

Dear all,

I’m trying to install DNG-SDK (1.3) but with no success, I have tried to compile with both XMP Toolkit SDK CC-2013.06 and XMP Toolkit SDK 5.1.2 but with the same error message:

 

error C2039: 'AppendProperties' : is not a member of 'TXMPUtils<tStringObj>'

 

Unfortunately I was not able to find XMP Toolkit SDK 4.4.2 that should solve the problem. The compiler is VS 2010 64bit.

 

Please can you give me some tips on how solve this issue?

 

Regards,

 

Hal

White balance

$
0
0

Hello,

 

Is there any posible to read vector (rgb or hsv) witch is used for white balancing?  In fact I mean light temperature witch was measured by camera. My project is based on dng_validate.exe. Images use this format negative->HasCameraNeutral() == true.

 

I don't know why there are two temperatures. I need only one

 

profile->CalibrationTemperature1();

profile->CalibrationTemperature2();

 

 

 

Thank you

Petr Kocich

From Stage3Image() to sRGB color space

$
0
0

I get my image this way dng_image* image = (negative->Stage3Image()); I have to manimulate with it and then I want to covtert it to sRGB color space. I tryed to do gamma 2.2 and white balance with white point from camera, but colors are still different.

 

I think that I should use this matrix camera2RGB for conversion but I don't know how.

 

dng_camera_profile* profile = negative->CameraProfileToEmbed();

dng_color_spec spec(*negative,profile);

const dng_matrix camera2RGB = dng_space_sRGB::Get ().MatrixFromPCS () * spec.CameraToPCS ();

 

profile->HasColorMatrix1(); returns true

profile->HasColorMatrix2(); returns true

negative->HasCameraNeutral(); returns true

 

Sorry for my language skill

 

Thank you

Petr Kocich

Setting correct Bayer mosaic pattern using DNG SDK

$
0
0

Hey,


I'm having a problem generating DNG files from raw image files. The problem relates to the demosaicing parameters. I have a raw image from each of two different cameras (Cannon D200 and Panasonic Lumix). Using dcraw.exe (to display the EXIF info) I find that the Bayer filter pattern for each of these images is RGGB. I take this to mean RG/GB for row1/row2 of 2x2 pattern.


Using the DNG SDK, I have written code to modify and then write the raw pixel values to a DNG file. I set the mosaic parameters using negative->fSetBayerMosic(phase), where phase is 0 for GRBG, 1 for RGGB, 2 for BGGR and 3 for GBRG. (As a side point I also set the fCFAPattern[][] values to the equivalent values, e.g. 01/12 for RGGB, but this doesn't seem to change the Bayer mosaic pattern in the DNG EXIF?). The problem is that when I view the DNGs, the DNG from the Panasonic is correctly displayed in Photoshop, but the DNG for the Canon image is clearly demosaiced incorrectly. By setting phase to 0, the Canon DNG image is demosaiced correctly (but not the Panasonic).


What is really confusing me is that by writing the same images to DNGs using libtiff, I set the Bayer pattern to RGGB as TIFFSetField (tif, TIFFTAG_CFAPATTERN, 4,"\0\001\001\002" ) and the DNG's for the images from both cameras are displayed correctly in Photoshop.


So even though dcraw says the Bayer pattern is RGGB for both camera images, using fSetBayerMosaic(1) only causes the Panasonic image to be correctly decoded. Is there some other parameter that can affect the demosaicing that occurs when building the DNG images? I'm taking the Bayer pattern value from the decoded raw image using libraw (imgdata.idata.filters parameter). Libraw is just an api for dcraw.


Also, can anyone explain to me the significance of the stage1, stage2 and stage3 images? Must all three be built to creat a valid DNG? I understand that demosaicing occurs when builing the stage3 image, and this is where I have been focussing my debugging time for the above problem. Does this make sense?


Hoping someone can help with this,


aubrey

DNG data production

$
0
0

I have a camera which delivers a data stream of pure pixel values. Pixels are 12 bit packed data.

There is no header in front of the data. Software like Irfan has no problem to open it.

What I search, is the possibility to convert these images to DNG.

As far as I understood, DNG Converter cannot read in pure pixel data.

Viewing all 4036 articles
Browse latest View live