Thursday, 2 February 2017

raw2dng app on Android (what I've learned so far...)

Recently I wrote up my findings of using Snapseed and an app for Android called raw2dng (here), which extended the ability I'd already found (but was a bit pointless) when having a look at how well Snapseed actually processed the files. To understand that I took some RW2 images from my Panasonic GF1, converted them to DNG and then transferred to the phone. I wanted to see if the noisy results I got from my phone was because of the phone sensor (which I assumed it would be). Read this post about that process.

Back to the app, as the name of the app implies its intention is to make an Adobe DNG file from your Cameras native RAW file. It will also make a TIFF and a JPG (if you didn't already have that). So keep this in mind as it does not facilitate other operations (like file copying).

I guess that I should start out with some basic assumptions I have.

Assumed:

I normally have my camera set to RAW only. I normally don't bother with the JPG because all RAW files have a JPG in them and if I want JPG then I'll just pull that. Its smaller but I've never found myself wanting to make a big print from an out of camera JPG, 99% of the time what I want with JPG's is to Facebook, email to friends or the blog here. Thus resizing down from 12 or more MegaPixels was what I ended up doing with JPG's

If for some bizzare reason I wanted something that looked like that (usually inferior) Out Of Camera JPG image, I'd still convert my RAW file using any number of tools that I have available and just get a better image anyway. This preference shapes my thinking in the following workflows (for reasons which will become clear).

If you were a JPG only shooter ... well then for a start you won't be processing RAW anywhere (let alone on your phone) and if you were an occasional RAW shooter, specifically setting RAW for a shot here and there then some of the issues raised won't effect you either.

I've been enjoying being able to just carry a USB-OTG cable (like this one) to allow me to simply move my images from my camera, to my phone so that I can process them and then email / facebook / blog them simply when I'm away from my computer (I'm writing this on my computer).

The problem is however that unless one wants to just use the JPG on your phone then more sophisticated processing requires the use of the RAW file. That's something which until recently I wasn't able to do with my Android phone but (as I wrote about here) is now available.

The system is pretty good but has a few bumps in the road which I wanted to address in this post which would transform the app from an interesting thing to play with, to a viable tool.

Workflow

Take a breath this isn't short even as a summary.

summary option 1: this option uses less memory and speeds things up
  1. use the App to read the RAW (in my case RW2) file from the cameras SD now mounted USB OTG
  2. select a file destination for it to write the DNG to which more than likely will need to be your phone primary storage
  3. tap "CONVERT" and wait till its done (depending how many files and how fast your phone is you may want to have a beer)
  4. You may then find the dng files in the location you set


summary option 2: this option uses the most memory but may be simpler but has some issues
  1. navigate to the camera SD card with your file explorer (I use ES File Explorer, you may have your own fav) and copy the RAW files you want and the JPG if you have them (again, see the discussion on this). 
  2. navigate to where you want them and paste
  3. use the App to read the RAW files you just pasted (yes you'll need to navigate there
  4. select a file destination for it to write the DNG to the same location
  5. tap "CONVERT" and wait till its done (depending how many files and how fast your phone is you may want to have a beer)
  6. You may then find the DNG files in the location along with your RAW and the JPG
  7. feel free to now delete the RAW files to recover storage space.

And that was the summary... So if you're not put off yet (I'm stubborn and the appeal is still there) lets go on to...

Discussion

Ok, lets get into the nitty gritty. Fundamentally this app is pretty good, but is very poorly integrated into the Android system in some ways and requires the user to understand lots (or give up) if its to be used as more than a curiosity or toy to pull over one file at a time.

The app allows you to browse to the USB mounted directory, but its a little unclear where that is if you don't know much about the file system. Happily I do so that's not a problem.

I just "up" the directory tree from where it lands by default and then look for the location in /storage which is the USB mounted "disk". In my phone's case that's called UDiskA and the others are sdcard0 and sdcard1 (for the on-board memory and my own expansion microSD card). This is where I pick UDiskA from on the app on my phone


one navigates "back up" the tree by the tap on folder called ..

So far so good, one then needs to tick the files one wants to bring across (I usually don't want to bring everything over) and navigating your own cameras SD card is something that people either know about or don't (if you don't ,then try a tutorial or plug it into a reader on your PC and have a look at the structure or just give up now).

Choices

Now we face choices, some need to have been made before you started taking pictures.

Are you a RAW + JPG kinda photographer or a RAW only kinda photographer?

This is an important question due to the way that (at least my) Android works with images and file systems (you know, your SD card and where shit is).

Most "image browsers" (or Gallery applications) that you use to show your images will only work with JPG images. So if you want to use the "picture gallery" to look through your images you'll need to keep that FIRMLY in mind. This is because you'll need to either
  1. only bring one file over and work on it
  2. wish to browse through the files you've brought over visually
Snapseed allows you to work direct from your Gallery App on the DNG file if (and only if) there is a JPG of exactly the same name in the same folder. If not then you'll need to use another application (like ES File Explorer) to send it to. If there isn't then you'll have to browse the file system with Snapseed and then open the DNG directly. 

NOTE: no preview will be visible for those DNG files.

read that again....

So unless you wish to make an act of memory as there will be no preview available for your DNG files (assuming you have made more than one) you will need one.

If you shoot RAW + JPG then you'll be more able to see the required files. I recommend you do this for other reasons that will become clear soon. I normally don't do this because the embedded JPG in the RAW file is normally all I need, but in this system no. So I recommend that you use RAW and the JPG ...

The next choice is how are you going to get the files across from the cameras SD card?

Easiest way: If you use ES File Explorer then its easiest, grab the RAW and the JPG and copy them into a folder on your phones memory ... which is essentially meaning you will be following the 7step process above.

This is of course slower because you'll end up doing reads on the RAW file twice:
  1. reading the RAW file to copy it to your phone
  2. raw2dng will be reading the RAW file to write the DNG file (onto your phone)
If its one or two files no problem, if its many files, then it will be much more tedious and  ... well you may just run out of space on your phone using option 1

I want to bring a bunch...

So assuming that you want to use raw2dng to make only the DNG files as a copy from your SD card onto your phone then you need to make a setting choice (in the app) of where the output for the new DNG files will be.

A trap for the young player is that the app defaults it to the same location. On some versions of Android (later ones) this is forbidden ... so one needs to write to the only place one can, the primary storage ... annoying, but that's life thanks to the rectalCavities in at Google, writing the Android source who saw fit to do this after 5.0

This of course means you'll have the DNG files but no JPG files as discussed above. So you'll need to do another operation in ES File Explorer to copy that again (annoying right). However if (like me) you select the most compressed JPG option and the smallest JPG size (has no effect on the RAW) then that's fairly fast.

The app does offer a JPG option, so you can re-run the same selection on the RAW files you've already ticked (in the file picker) but to be honest that's as slow as making the DNG was.

your call.

One last critical point

Snapseed respects the lens correction data that is embedded in the RAW files, DNG files which I have made on my my PC using the Adobe DNG to RAW converter. Looks sweet to see things as they should be (with pincushion distortion and chromatic abb already removed for you) , however raw2dng app does not seem to embed this in the DNG it makes, so you'll notice doorways suck with wide angle lenses.

Conclusion

The app makes it very cumbersome to work with more than one or two files (unless you can memorise file names). If the photographer wants to bring a bunch of files across then they would need a preview method, and thus dragging over the JPG's from the cameras SD card into that folder are helpful. To make matters worse the app de-selects your selected images after its done the conversion so you'll still need to go back and select them again AND its still slower to read the DNG and make a JPG from that ... easier to just copy in ES File Explorer as discussed.

As I see it the app developer could make a trivial change to the process and while it was writing the thumbnail preview into the DNG, it could then create a JPG file with that (already obtained) data.

The benefits of this approach would be to put both a DNG and a JPG with common name in the same folder thus allowing the various image browser softwares to see the JPG and have it automatically associated with Snapseed.


For the forward thinkers, I've already tried using DCRAW (which is blindingly fast at extracting the thumbs from the RAW) but that has the problem of naming the extracted file something like Pxxxxxx.thumb.jpg which is then not associated until one manually deletes the .thumb from the name.


Is it worth it?

Well to me yes, because I don't like the flat images one gets in some situations, or the blow outs in others. Here is a Before / After version of on image from the weekend with my Panasonic


Sky and snow was flat and the image lacked contrast. I could also have used the JPG and processed it, but then the shadows had too much noise.

This image needed a lot of help in fact too much  ... the camera OOC was pretty much DoA



with blown highlights and inky shadows which has nothing to rescue. However from the RAW (which had more) I was able to make it into this


Which still has blown reds (and isn't as good as colour Negative film would be) but then, I don't need to explain this stuff to those who already are "converted to RAW"

So, if you need / wish to have RAW processing on your trip, and don't want to drag your laptop along, this is the best way to go as of right now.

;-)


No comments: