mobile photography technology, culture and community
www.dpreview.com

Another attempt at mobile 'raw': Digital Negative app is interesting but needs work

24
Digital Negative's capture interface has a live histogram and allows for manual focusing.

Digital Negative for iOS is the latest app aiming to appeal to more serious photographers by claiming it works "like the negatives from a film camera" by saving and editing images as DNG files.

In the app description in iTunes, the Digital Negative team explains its methodology: 

Digital Negative is the first app that captures uncompressed images that retain all of the information recorded by the camera sensor. These Digital Negative (DNG) pictures are much like the negatives from a film camera, and the serious photographer can use standard raw editing programs or Digital Negative’s built-in raw editing tools to develop the photograph and display all of the features in the image.

If you're a little suspicious, you should be. True RAW is the output from the sensor’s pixels, prior to demosaicing, white balance or gamma correction (i.e. tone curve application). Digital Negative outputs DNG files with a TIF extension that are 28.5MB each. They show up as compressed 48-bit files (16-bit each channel for RGB), so have been demosaiced at least, and probably white-balanced and gamma corrected too.

Digital Negative is not the first app that claims to offer this type of super high-quality file output from a smartphone. We debunked 645 Pro's raw TIFF option last year with a side-by-side comparison of the giant TIFF file and the compressed JPEG. Even though the TIFF files were bigger, their overall image quality was not discernibly better than the maximum-quality JPEG output. KitCam also added similar functionality in an update last week, and Pure Shot, by the same makers of 645 Pro, also boasts "dRAW TIFF output."

We spent some time playing with Digital Negative and its output and could not get Adobe Camera Raw to interpret the DNGs correctly at all, but the in-app "Dark Room" offers some interesting options – white balance correction, highlight recovery, NR adjustable in 10 levels among other parameters. The problem is that not much of this seems to be working properly at the moment. On the iPhone 4S white balance and highlight recovery just generates nonsense output. This again suggests we're not looking at the same type of raw files that we'd expect from a DSLR. On the iPhone 5 we discovered an additional problem. The aspect ratio of the preview image is different to that of the captured image which makes it virtually impossible to correctly frame an image.

So while Digital Negative offers some interesting functions users should be aware that it is not generating "real" raw files. More importantly though it is simply not working very well in its current state which is reflected in the overwhelmingly negative app store ratings. Nevertheless in principle Digital Negative looks like a nicely designed app with an interesting feature set. We are hoping to have another look at it once the bugs have been fixed.

Comments

Total comments: 24
madmaxmedia
By madmaxmedia (11 months ago)

Can someone answer me this- are any of these apps able to save images without the default built-in image processing (sharpening, noise reduction, increase contrast, etc.)?

I am guessing not, but just want to be sure. If any of them could, then that would be potentially a great improvement over the built-in app.

I get it would be better to go 1-step further and get actual RAW data, but to be able to strip out noise reduction, etc. would be plenty.

Comment edited 1 minute after posting
0 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

You didn't actually "debunk[...] 645 Pro's raw TIFF option" in your earlier article. You misunderstood and misrepresented it, and then tried to dismiss it by performing an irrelevant test. It's important to understand how you got that wrong when looking at the claims associated with Digital Negative.

The maximum amount of photographic information that a developer can get from the iOS camera hardware is:

* an uncompressed 8-bit per channel RGB representation of the image data(1)
* at the maximum resolution of the camera sensor
* after it has been "developed" (de-mosaiced, white balance and gamma corrected, etc.)
* with associated metadata

(Although, because its easier—and good enough for most people most of the time—most developers actually work with an image that, rather than being uncompressed, has been converted to JPEG.)

645 PRO give the option to save that information, unaltered, in the form of a TIFF. Such an image contains more information than if compressed into a JPEG.

0 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

To see the differences between two "identical" images with different compression levels, open up the two images as separate Photoshop documents: test1.tif and test2.jpg, for example

* From the Window menu, check the Histogram window is open (and visible)
* With the first document visible (test1.tiff), select Image->Apply Image. By default the Source will also be test1.tiff and the blending will be Multiply
* Change the Blending to Difference, and you will see the image go completely black, while the histogram will be a single line at 0 (as it should be, as there is no difference).
* Now, with the dialog still open, change the Source to test2.jpg—and notice that, although the image possibly still looks 100% black, the histogram tells a different story. And that difference is extra information that can be used in post-processing

Simply eyeballing two similar images (especially if taken in good light, where JPEG artefacts are less likely to appear) is not a valid test.

1 upvote
Jaggr
By Jaggr (Mar 27, 2013)

No app can save data with more integrity ("closer to the sensor") than that. Because there is absolutely no way to get information that is "closer to the sensor", and no way to save it with fewer alterations, because you can't have fewer than zero.

And that includes Digital Negative.

In other words, its starting-point can be no "better" (from a Camera RAW perspective) than the TIFFs produced by apps such as 645 PRO.

0 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

(1) Technically, it's RGBA, but since the alpha channel is always 100%, it's irrelevant. And, technically, it may be structured as BGRA or Y′CbCr, but it's still 8 bits per channel RGB, when you get to the bottom of it.

0 upvotes
Lars Rehm
By Lars Rehm (Mar 27, 2013)

I agree with most you say here... but I would also add that it doesn't help that most developers are calling this output 'raw' or 'close to raw'. It's misleading at best.

2 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

Fair enough. But it's as close to RAW as you're going to get. The reason we choose to use the term "developed RAW (dRAW) TIFFs" for some if our apps is to distinguish between TIFFs that contain the most unprocessed data possible and TIFFs—produced by our other apps—that have been processed. You can't please all the people all the time with terminology, but we did canvass quite a few movers and shakers in the iPhone (and broader) photography world, all of whom agreed that the term was reasonable and unlikely to deceive—and only went with the term after getting these opinions.

My core point, really, is that the data that Digital Negative *puts into* it's DNGs can't be any more RAW than the data you get *out* of an app such as 645 PRO. There is therefore no practical benefit in using the DNG file format. The review fails to understand (or, perhaps, to communicate) this, which is a shame.

1 upvote
Bradley Gibson
By Bradley Gibson (Mar 27, 2013)

>But it's as close to RAW as you're going to get.

Maybe so, Jaggr, but that still doesn't justify labeling the data as raw. As I am sure you know, raw data has not been 'cooked'--it is the digital information that the sensor captured, nothing more, nothing less.

If the smartphone's API's do not allow access to raw data, that is indeed unfortunate, but it does not justify equating JPEG-articfact-free images to raw images.

It would be more accurate to simply call them uncompressed images, since the benefit here seems to be avoidance of lossy compression.

Comment edited 2 times, last edit 3 minutes after posting
2 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

I agree, to be honest, but "uncompressed, unfiltered image data" is clumsy (the "unfitered" aspect is important) and such clumsiness can end up failing to communicate exactly what we all (well, what I want) to communicate, which is the truth.

The term "developed RAW (dRAW) TIFFs" is imperfect, but does actually describe what's happening, and its adoption by several other developers suggests that it is useful. It does not equate the image format to RAW, but to what happens when you develop a RAW image—something that is very different to the typical iOS app, with multiple levels of compression (get JPEG data, process it, save as JPEG...).

I also agree that any other attempt to equate iOS image date with Camera RAW (even when many photographers refer to the "raw" as distinct from the filtered image) is unhelpful, and I urge other developers not to do so.

0 upvotes
madmaxmedia
By madmaxmedia (11 months ago)

Hi jaggr,
I am way late but hopefully you see my response. Are you saying that 645 Pro is able to save an image without the default app processing/filtering? (noise reduction, sharpening, etc.) The biggest difference between RAW and JPEG modes in most digital cameras is not JPEG compression artifacts, but excessive image processing (noise reduction, sharpening,etc.) So if 645 Pro is able to eliminate this then that would be significant IMO. Thanks

0 upvotes
Lan
By Lan (Mar 26, 2013)

What you've basically debunked is Adobe's DNG format...

0 upvotes
Phil Askey
By Phil Askey (Mar 27, 2013)

Not at all, DNG typically means RAW (as in the photosite level values untouched and unprocessed), but in this case it appears the developer is using DNG to "trick" users into thinking it's truly RAW.

3 upvotes
Phil Askey
By Phil Askey (Mar 26, 2013)

Just by way of a follow-up, the only "formats" officially supported by the Android API (which means without accessing the camera device directly with root) are NV21 (YUV), RGB_565 (16-bits per pixel) and JPEG.

Comment edited 27 seconds after posting
2 upvotes
Phil Askey
By Phil Askey (Mar 26, 2013)

There's no Android API for reading raw pixels from the sensor, you always get a pre-processed 'bitmap' which (as you stated) has been demosaiced, gamma corrected and white balanced (and whatever else the manufacturer's camera driver does to the data on the way through). On a rooted phone it may be possible to access the low-level camera device and read data off that way, hence it's more likely that IF a phone camera ever supports RAW it'll come via the phone manufacturer's own camera app or a change in the Android API.

0 upvotes
Lars Rehm
By Lars Rehm (Mar 26, 2013)

Thanks Phil, I presume the situation is similar for Apple?

0 upvotes
Phil Askey
By Phil Askey (Mar 27, 2013)

Yes, from a quick dive into iOS framework I can see no way to get image data that hasn't already been demosaiced (you can certainly get "uncompressed" data, but not RAW photosite level values).

0 upvotes
Najinsky
By Najinsky (Mar 27, 2013)

Just to clarify, you mean no way to get raw from the built in camera. Obviously there are several iOS raw converter apps that work with raw files loaded onto the device from a camera. I assume Android has too by now.

0 upvotes
Phil Askey
By Phil Askey (Mar 27, 2013)

Seems a bit pointless to process RAW files from a camera on a relatively low-powered and battery driven device like an Android device.

And yes, here we're talking about the original story, an app which purports to capture "RAW" data from the sensor in the same way a camera does.

0 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

The hardware does capture RAW data. However, there is no legitimate way to access that data—the APIs work at a much, much higher level.

BTW, there are people who do want or need to process RAW data on a tablet. However, most iOS and Android apps that can import RAW files, actually manipulate the JPEG preview, and I don't know of any that save non-destructive edits in the DNG metadata.

Comment edited 4 minutes after posting
0 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

Hi Phil. There IS an Android API for reading RAW data, the "raw callback" in takePicture(shutter, raw, null, jpeg). However, I'm not aware of any camera hardware that supports this API yet—all cameras return null for that callback.

With iOS there is no official API support for RAW capture at all.

0 upvotes
Phil Askey
By Phil Askey (Mar 27, 2013)

Well of course the "hardware" and in fact Android sees the RAW data but it's demosaiced in a compiled C library which has no public interface for developers to "step in" and access the data before it becomes demosaiced. Like I said above the best bet here is that Google (Android) provide developers with a fourth option when requesting the frame buffer - "RAW"

0 upvotes
Phil Askey
By Phil Askey (Mar 27, 2013)

Jaggr - if you read the API properly they are MISUSING the word RAW, it's still demosaiced.

0 upvotes
Jaggr
By Jaggr (Mar 27, 2013)

Well, the API is ambiguous, but since nobody supports "raw" with Android, it's pretty irrelevant. And it's not—I suspect—de-mosaiced in an Android C library, but delivered in a de-mosaiced, white-balance-treated and otherwise fully processed form to the Android system. Otherwise Android would have to understand and be able to process the Camera RAW data produced by all the hundreds of different forms of Android camera hardware out there—which is absurd.

0 upvotes
Najinsky
By Najinsky (Mar 28, 2013)

@Phil: re: "Seems a bit pointless to process RAW files from a camera...an Android device".

Everything is pointless until there is a point. It's within the definition.

iOS has built in support for raw files in that they are recognised media types. This means they are recognised as and can be used as images. It uses the embedded JPEG for display, but for most cameras these are good quality and at least it makes the files directly usable.

There are then the third party apps that can actually process the raws to develop the image.

When combined, this provides a lot of flexibility for photographers who shoot raw.

Import the shoot and they are instantly usable as images. But if you screwed up the capture and need to rescue the shadows/highlights/WB, you can fix those by developing the raw.

It is a little less useful on Android because raws are not recognised media types and therefore require additional processes to extract the previews and try to keep them associated with the raws.

0 upvotes
Total comments: 24
About us
Sitemap
Connect