Recent comments

Reply to: Support for Nikon Z8   5 months 3 weeks ago

How can we detect or check whether a particular image file is in the HE/HE* format?

Reply to: Libraw and the radiometric response function   6 months 1 week ago

Hi Iliah,

This is the first time I've heard anyone refer to "raw" and "RAW" as different things. I use these terms interchangeably, and sometimes "Raw". To me, they all refer to the pixel data encoded in the file. And recovering that pixel data is what a raw decoder is for.

Can you expand a bit on what kind of processing you're referring to with "RAW" data? I know that lossy compression can be applied. So in that sense, yes, I understand that the RAW file loses some information.

Cheers.

Reply to: Libraw and the radiometric response function   6 months 1 week ago

> a simple RAW decoder—one that simply decodes and decompresses a camera RAW file—neither applies nor unapplies a RRF

Correct.

> unless it's part of some particular camera's inherent RAW processing. However, that does not appear to be the case with NEF, at least.

White balance pre-conditioning? Noise reduction? Tricks with black level? etc, etc...

Reply to: Libraw and the radiometric response function   6 months 1 week ago

I've done more reading on the subject. For one thing, the radiometric response function is also called the camera response function. There are (at least) a couple of references to linearization in DNG. Neither of these is related to the RRF.

There are many papers on the subject of inverting or reversing the camera capture pipeline. That is, starting from the RAW file, applying inverse transforms to recover the sensor irradiance at each pixel.

I think that is the kind of thing I'm looking for. So it would appear that a simple RAW decoder—one that simply decodes and decompresses a camera RAW file—neither applies nor unapplies a RRF. That is, unless it's part of some particular camera's inherent RAW processing. However, that does not appear to be the case with NEF, at least.

Cheers.

Reply to: Libraw and the radiometric response function   6 months 1 week ago

These days consumer cameras don't record raw, they record RAW. Big difference, as RAW is processed, sometimes heavily, sometimes using lossy compression.

Reply to: Libraw and the radiometric response function   6 months 1 week ago

Unprocessed /linearized RAW values (after LibRaw::unpack() ) is probably what is you're looking for.

Reply to: RawSpeed Licensing vs. CDDL LibRaw   6 months 1 week ago

RawSpeed licensing is out of our control, if it is licensed under LGPL terms we're unable to change it

Reply to: unpack_thumb unpacks previews instead   8 months 2 weeks ago

many thnaks for the prompt response.
i'll try to test the parameter imgdata.sizes.raw_inset_crops[..].
best regards.

Reply to: unpack_thumb unpacks previews instead   8 months 2 weeks ago

We don't know of a general answer to this question that will always work.
For example:

  • Some previews (on some cameras) contain a black border on the right/left, which is not part of the RAW image, so no pixel in RAW corresponds to the left-top (or any) preview image corner.
  • The lens geometry correction has been applied to the preview, so its edges do not correspond to any straight horizontal/vertical line in the RAW
  • Aspect ratio in the preview may be not exactly the same as RAW image area.

In some cases imgdata.sizes.raw_inset_crops[..] may work.

Reply to: unpack_thumb unpacks previews instead   8 months 2 weeks ago

Dear Alex,
first of all, many thanks for the wonderful libraw and your effort.

I'm currently dealing with Canon R5 CR3.
I can sucessfully decode the largest thumbnail(JPEG 1620x1080) using this following code.
//--------------------
rawp->unpack_thumb_ex(1);
rawimgthumb = rawp->dcraw_make_mem_thumb(&err); //store unpacked and processed raw image

Mat rawData(1, rawimgthumb->data_size, CV_8UC1, (void*)rawp->imgdata.thumbnail.thumb);
thumbimg_file = imdecode(rawData, 1); //BGR
//--------------------

Howerver, it seems that the start pxiel(left-top conner) of the decoded thumbnail image is not the same of the start pixel of the raw image(8191x5463 or with frame 8352x5586).

How can we match the exackt position between the thumbnail and the raw image?
Is there any parameter about the croping region of the thumbnail from raw image?

Thank you for your response in advance.

Kim

Reply to: Write image data to standard output   8 months 2 weeks ago

The file is a lossy compressed dng image. I have attached it here, https://drive.google.com/file/d/18QaZiL_YBEXwrmKd9638zHuWpOo54V5y/view

I have compiled in 32-bit with USE_JPEG enabled, linked with libjpeg library

I was able to decode using "-Z -". But adding additional options such as " -w -H 0 -o 0 -Z -" prints "Request for nonexisting image number"

Reply to: Write image data to standard output   8 months 2 weeks ago

Generally, there shouldn't be a difference between 32- and 64-bit versions.
In practice, 32-bit builds have not been tested for a long time.

Could you please provide the RAW file you're testing with: for analysis

Reply to: Write image data to standard output   8 months 2 weeks ago

tried the 64-bit version and it worked fine, but using the compiled 32-bit version had issue. don't know why. i'll try to investigate on this more (maybe some configuration issues on my side). are there difference between 64 and 32?

Reply to: Write image data to standard output   8 months 2 weeks ago

Works for me: dcraw_emu.exe -t 5 -Z - filename >0.ppm
(-T ... > 0.tif works too)

Reply to: Write image data to standard output   8 months 2 weeks ago

I have tried to add some options like "-t 5 -Z -" (flip 90 CCW and output to stdout), but it seems like it doesn't apply the flip on the output. am i missing something?

Reply to: Write image data to standard output   8 months 2 weeks ago

"-Z -" command worked great for me! Thanks a lot!

Reply to: Write image data to standard output   8 months 2 weeks ago

dcraw_emu w/o args displays:

-Z Output filename generation rules
.suf => append .suf to input name, keeping existing suffix too
suf => replace input filename last extension
- => output to stdout
filename.suf => output to filename.suf

is that what you were asking about?

Reply to: libraw unable to open dng file   8 months 2 weeks ago

Posting the solution here if ever someone encounters the same issue,

apparently, in the VS project of LibRaw, you need to make the 'Struct Member Alignment' in the project properties the same with the generated library of libjpeg

having different settings results to unequal struct size between libjpeg and libraw (JERR_BAD_STRUCT_SIZE)

Reply to: libraw with Adobe DNG SDK problem   8 months 3 weeks ago

Have you tried building a dng_validate example from DNG SDK?

Your error screenshot lists missing symbols from XMPCore library, that's why I'm pretty sure you didn't add it to the your build.

Reply to: libraw unable to open dng file   8 months 3 weeks ago

Sorry we can't help with libjpeg issues

Reply to: libraw unable to open dng file   8 months 3 weeks ago

I have tried to build libraw as you suggested with USE_JPEG and USE_JPEG8, I have also built it with and without USE_ZLIB just in case.

I was able to open_buffer but when I raw_unpack, it throws an exception on lossy_dng_load_raw -> jpeg_create_decompress. on this line,

uSize = SIZEOF(struct jpeg_decompress_struct);
if (structsize != uSize)
ERREXIT2(cinfo, JERR_BAD_STRUCT_SIZE,
(int) SIZEOF(struct jpeg_decompress_struct), (int) structsize);

Not sure why I'm getting this error :(

Reply to: libraw unable to open dng file   8 months 3 weeks ago

Why ask things that you can check yourself in a minute?

Yes, it will decode (so called) 'raw image data', but in this specific case it is not RAW, but processed 8-bit/3channel data with only 256 different values per channel.

Embedded JPEG previews are not decoded by LibRaw but provided as is (JPEG bytearray)

Reply to: libraw unable to open dng file   8 months 3 weeks ago

Will it also decode the high resolution raw image data? or just the internal embedded jpeg image?

Reply to: libraw unable to open dng file   8 months 3 weeks ago

LibRaw 0.21 supports this file if built with -DUSE_JPEG -DUSE_JPEG8 and linked with libjpeg (or replacement) library

Reply to: libraw with Adobe DNG SDK problem   8 months 3 weeks ago

Do you mean in the dng sdk build? As stated in the dng sdk readme,

"XMP SDK

Building DNG SDK requires the XMP SDK. This package includes the XMP
SDK headers and pre-built static libraries for Mac OS (64-bit) and
Windows (32-bit and 64-bit). Thus if you plan to build the DNG SDK on
Mac OS using Xcode and/or on Windows using Visual Studio/C++, no
further action is needed."

I'm not sure how to include it in the project as it said no further action is needed in Windows.

Pages