Convert RAW from I'm Back into DNG
Most of this is free software (0-clause BSD-License) and not commercially supported.
oder AUF DEUTSCH
日本語
☞imbapp.htm
- App-Like converter for use in browser from hard disk, internet, or directly from ImB
also in different languages as imbapp_XX.htm
(see Internationalization)
Can also do backward.
☞imbapp.apk
- Real Android app. For Apple, see here.
☞imbraw2dng.js
- Node.js version for command line use
also in different languages as imbraw2dng_XX.js
(see Internationalization)
Calibrated Camera profiles for download for ImB
☞imbdng2raw.html
(deprecated), ☞imbdng2raw.js
(stays alive) backward conversion from DNG to RAW, only for original DNGs converted using these tools
The ImB RAWs are not really “B&W RAW” but actually the RAW sensor data that also contains the colour filtering (unfortunately only 8 bit deep for 35mm and MF, but 12 bit for Film).
DNG (Adobe® Digital NeGative) is an open format and consists mainly of the original image scanlines. If it is from an MF or Film ImB then the Color Filter Array is different.
Problems and ideas can also be discussed on the “Issues” or “Discussions” tabs of the github repos or in the I’m Back Users Group on Facebook.
If you use android, try the Android app with your android device in the ImB Wifi.
If you prefer using it in the browser on your PC or smartphone, there are the choices:
use the ☞IMBAPP.HTM
directly from the internet or copy it anywhere you like on your harddisk or memory.
(All data will stay inside your browser!)
Some browsers (even on mobiles) will allow you to install it as PortableWebApp for easy offline use. It might also be called or hidden behind “Add to desktop”.
In this case, you need to transfer the files from ImB or access the MicroSD via USB, adapter, original ImB App or whatsoever.
when you copy that file directly onto the MicroSD into the IMBACK
folder (How do I do that?), you can directly combine download and conversion to DNG: (videos and JPG can also be downloaded)
http://192.168.1.254/IMBACK/IMBAPP.HTM
(newer, also allows to set the clock time, record video or take pictures!)
The device where you open the page needs to be in the ImB Wifi.
If you like to use the command line, you can use the imbraw2dng.js with node.js. It can also access the ImB if you are in the device Wifi. Command line help
…. when you want to download/convert directly in your browser from ImB.
Install the real app, then enter ImB Wifi and use the extras menu.
Take the Micro SD from your back and insert it into Micro SD Adapter on your computer or phone, or connect ImB to your PC via USB and select Mass Storage
on ImB.
Open the contents of the Micro SD/USB drive, it might be named VOLUME1
or 0000-0001
and you should see a folder named imback
or IMBACK
.
Use your operating system/file explorer to copy the file imbapp.htm
that you downloaded into the imback
or IMBACK
folder.
Eject the Micro SD from computer or phone and put back into your device - ready!
Put your Phone or PC into the ImB Wifi.
Use a new browser window or tab, navigate to http://192.168.1.254/IMBACK/.
Click on Choose file
and select the imbapp.htm
you just downloaded. Click upload file
(wordings need to be checked) - ready!
You can drag and drop all directories or files from the I’m back (i.e. from the micro SD inserted into your PC or the USB mass storage) into the blue field. It will then copy all non-RAW
files exactly and convert the RAW files to DNG, replacing the .raw
/.RAW
file extension with .dng
. When you use the Choose Files
button, you can select RAW files directly.
Your browser will download them according to its download settings, so it might pop up a dialog where to save it for each file if so configured, or throw all files into your Downloads directory (possibly renaming it) if so configured , or, or, or…
When you use the android app or point browser directly to the converter page on your ImB, it should be intuitive! If you do not think so, let me know.
Conversion to DNG currently sets the Timestamp Tags if the filename seems to be a reasonable I’m Back filename, and the OriginalRawFilename to the name of the RAW inputfile. That way you can name the DNG file whatever you like without losing much of the original information.
If you ever need to revert the original RAW from the DNG (e.g. to do the conversion again with a never version), see here .
Use your favourite software, e.g. darktable, lightroom, ufraw, rawtherapee etc.
Do not expect the image to be okay out-of-the-box. I will probably not be able to provide all tags in the DNG to satisfy all possible programmes. Take your time to adjust the colours and then the rest. If anyone is experienced around DNGs or knows someone who would be willing to help - please get in contact e.g. on Discussion on pixls.us for Darktable/RawSpeed or I’m Back digital back Developers Group on Facebook.
A strong green or magenta tint all over the image should not happen any more! But if you have one and can not level it out using your software’s color matrix/color calibration or white-balancing, a sample image might be interesing to fix it.
If a red highlighted spot is in the center of the image (ImB 35mm/MF), a manual retouche after the processing is required, or use the following darktable setting, placing and sizing a circle shape manually around the area.
To avoid the red spot from the start, use a bigger aperture (smaller f-number) or combine the standard PDLC matte with a Fresnel screen from I’m Back or a Canon EG-xxx screen.
The current supported langauges are english (EN), japanese (JA) and german (DE). If you save the imbraw2dng.js file with a name change to imbraw2dng_XX.js
where XX
is the language shortcut, it will run directly in that language. If you want to contribute to translating, translate what you are reading now or look
here and get in contact!
E.g. german version, japanese version (same files, different names).
If and when you have node.js version ≥ V20.10(LTS) installed, you can do the conversion via command line by getting the file
imbraw2dng.js. Naming conventions according to Internationalization
apply. Parameter and calling help can be read with node imbraw2dng.js
.
Usage: node imbraw2dng.js [-l lang] [-f | -r] [-d dir] [-nc | -co] [-np] [-ndcp] [-owb] [-cr copyright] [-R] [-J] [-O] [-n yyyy_mm_dd-hh_mm_ss] [-fla | -flx] [ [--] <files-or-dirs>* ]
Options:
-h - show this help
-nc - do not use coloured text
-co - force coloured text
-l XX - where XX is a valid language code (currently: DE, EN, JA)
Language can also be set by changing filename to imbraw2dng_XX.js .
-d dir - put output files into dir
-f - overwrite existing files
-r - rename output file, if already exists
-np - Do not add preview thumbnail to DNG
-owb - Use old style constant white balance
-ndcp - Do not include new DNG Color profile
-cr "copyright..." - add copyright to DNG
-at "author..." - add author/creator to DNG
-fla, -flx - add multiple images to fake long exposure, flx scales down
-R - convert RAW from ImB connected via Wifi or from given directories
-J - get JPEG from ImB connected via Wifi or from given directories
-O - get non-RAW/non-JPEG from ImB connected via Wifi or from given directories
-da correcttimestamp=cameratimestamp - time stamp correction (format yyyy_mm_dd-hh_mm_ss)
-n yyyy_mm_dd-hh_mm_ss (or prefix of any length) - select only newer than this timestamp from ImB or from given directories
-----
-- - treat rest of parameters as local files or dirs
<files-or-dirs> - process local files or directories recursively, e.g. on MicroSD from ImB
About configuration see imbraw2dng.json.
The EXIF data in the JPEG files from ImB is of limited use, because it reflects the perspective of the ImB optics and sensor and not of the actual camera. But if you would like to add it to your DNG files, this is possible. Process the JPEG first and then the corresponding RAW. Corresponding is defined as: time difference < 5 sec and counter (last part of filename) difference <= 1. It is not neccessary to be directly consecutive, first all JPEGs and then the RAWs should do it.
Author/creator and copyright metadata can be set globally, and per-image a description (✎︎) can be set.
Time correction can be applied automatically (⌚︎).
If you want to simulate a long “Long exposure” by several shorter ones to avoid the specific noise, you can do so by using the -fla
/-flx
parameters on node.js.
Or set the checkbox below the blue field on the HTML page and then drag and drop the RAW-files you want to stack up together into the blue field.
In the app, you first need to convert all RAWs to DNGs. Then select the DNGs you want to stack in your file browser and share these with the ImB OS App.
If you want back the original raw for an original converted DNG in the app, select only one single DNG in the file browser and share it with the ImB OS App.
Or use the normal imbapp page and check the corresponding checkbox.
Or use imbdng2raw.html, might go away or imbdng2raw.js
The android app consists of the same HTML/Javascript code as the html pages but wrapped with Apache Cordova. Building an IOS App should be possible similarly, but I neither own a Mac nor an iphone. If someone would like to help out??
Concerning IMBAPP.HTM
and the Android app:
Advantages over the APP from ImB:
Disadvantages over the APP from ImB:
Differences over the APP from ImB:
Your preferred settings can be saved in a configuration file for node.js (see above) or in the browser when you load it from a web server (internet or from ImB).
You are welcome to browse the code, help translation or optimizing!
30607488 B = 5216 x 3912 (12bpp) = Film
15335424 B = 4608 x 3328 = 35mm
7667520 B = 3260 x 2352 = 35mm Small-angle
11618752 B = 4012 x 2896 = 35mm Medium-angle
11943936 B = 3456 x 3456 = MF6x6
12937632 B = 4152 x 3116 = MF6x4.5
6470944 B = 2936 x 2204 = MF6x4.5 Small-angle
9806592 B = 3616 x 2712 = MF6x4.5 Medium-angle
15925248 B = 4608 x 3456 = MF6x7
14065920 B = 4320 x 3256 = unknown historic
Special Thanks to:
Michele Asciutti - first one to decode the ImB colour filter array pattern
Sadami Inoue - japanese translations
Samuel Mello Medeiros - inventor of ImBack