Releases: butcherg/rawproc
rawproc 0.8
This is the first release since I started using rawproc for my regular post-processing workflow. Accordingly, there are quite a few improvements based on my experience doing batch processing with img to 800x600 "proof" JPEGs, then selectively re-working in rawproc using the proof image to re-open and re-process the raw for subsequent work.
Also, there are a number of interface improvements, as well as a bunch of reliability-focused fixes. I still have a lot of work yet to do in that regard, but I think in all architectures rawproc and img will run without egregious crashing at inopportune times.
Note: If you want to build rawproc, get the rawproc-0.8.tar.gz instead of the github source files. It contains all of the autoconf/automake stuff so you just have to do ./configure && make && make install, well almost...
New Tools
-
White Balance
Allows application of a "gray world" balance, image patch selection, the original camera multipliers (be careful with these, not suitable for casual application), as well as manual modification of the individual multipliers. -
Demosaic
This tool is not presently intended for "real" use; I just needed to implement a quick tool for use in constructing a tutorial with an attendant rawproc AppImage for illustration. The "algorithm" implemented is "half", where the quad of (usually) RGGB measurements is consolidated into a single RGB pixel, resulting in an image half the size of the original. There are options to resize the image to the original dimensions, as well as display a color rendition of the mosaic.
New Capabilities
- Color Management
- You can now enter a string of adobe_coeff values into input.raw.libraw.cameraprofile, and rawproc will build a D65 profile and assign it to the raw image on opening.
- dcamprof JSON files can now be specified wherever .icc files are used. (DCP files are next...)
- Rudimentary soft-proofing is implemented in properties starting with display.cms.softproof.* A straightforward insertion of the Little CMS softproof transform.
- Image Processing
- "tone" channel in curves. With this selection, a tone is computed for each pixel and that is used in the curve lookup. This should preserve color saturation better than transforming the individual RGB channels, but not as well as a HSL or LAB conversion would.
- Per-tool enable/disable: a checkbox at the top of the parameters pane allows one to turn on/off that tool in the processing chain without losing the settings.
- User Interface
- Clipboard operations (cut, copy, paste, and their Ctrl-x, Ctrl-c, and Ctrl-v equivalents) now let one cut or copy from the tool chain, select another tool, and paste the clip-boarded tool after it.
- Arrow keys now work on moving the curve control point.
- Some edit boxes in the tool panes now allow mousewheel scrolling of integer or float values, where one click scrolls +/-one increment, Shift-click scrolls +/-10 increments, and Ctrl-click scrolls +/-100 increments.
- General Usage
- Command line parameters:
- -c: specify a particular path to a configuration file (rawproc and img)
- -f: force write-over of an existing file (img)
- -n: don't use any configuration file; internal defaults are used (img)
- Command line parameters:
- AppImage
- There's now a README.AppImage in the source tree
- Symlinks to the AppImage from 'rawproc' and 'img' will run those particular programs
- EXEDIR variable is now available for use in .conf files, so paths can be specified relative to the dynamically named AppImage location in the /tmp directory
- Configuration file handling changes to support a persistent .conf file in the standard location
- img
- 'save' command, allows saving an image of the tools applied, and subsequent processing to a final output image.
- 'demosaic', 'whitebalance' and 'addexif' commands. 'addexif' allows specification of any valid EXIF tag, well valid as of the tag list in jpegexif.cpp...
- Other Stuff
- When compiling from the source, configure has a --disable-wxwidgets parameter so you can compile only the command line programs, if you want just img, for instance
- Explicit channelformat value for unboundedfloat
- Temporary properties in tool lists: set:prop=val. The original property settings are reinstated at the conclusion of the application of the tool list.
- The property input.raw.libraw.rawdata now has slightly different semantics. "" = 0 = don't do it, 1=give me the full frame, including the black margins, and clip=give me the usable image.
Notes
- There is no longer a rawproc.conf in the source tree. If you need one to start with, download the one provided on this release page. What you want to do is to put one in your system's configuration path, ~/.rawproc for most Linux, c:\Users[you]\AppData\Roaming\rawproc for most recent Windows. The wininstallers will put one in the right place for you. AppImage folk need to place theirs manually.
- There is no Lensfun database in any of the installers. You'll need to get a Version1 dataabase and place it yourself; the .conf file has a property for pointing to it if you choose one of the 'non-standard' locations. I'll endeavor to fix this in the next release, with the imminent new Lensfun release.
- In their Libraw 0.19 release, the GPL2/3 demosaic packs were removed. Accordingly, I surrounded the raw parameter logic that supported them with a #ifdef OLD_LIBRAW, so they don't compile by default. If you want to use them, add -DOLD_LIBRAW to the CXXFLAGS variable when you run ./configure
rawproc 0.7
New Capabilities
- Lens Correction using Lensfun:
- Chromatic abberation, vignetting, and distortion corrections
- Autocrop for distortion correction
- EXIF-based camera/lens identification, with a manual list-based selection alternate
- Filterable camera and lens selection dialogs
- BlackWhitePoint evolution:
- Per-channel application
- "Center-out" histogram walk to find auto black/white bounds, helps to ignore specular highlights.
- Auto-Recalc checkbox
- img Changes to align with a rawproc Workflow:
- Implement all relevant rawproc image tools
- Use rawproc.conf in img
- Insure rawproc can open-source img-created files
- rotate90, rotate180, rotate270, hmirror, and vmirror tools in img: Not documented, will be included in a future version of rawproc.
- PNG Image Open/Save
-
* Includes EXIF per the 2017-06-15 draft proposed eXIf chunk
- Libraw GPL2/3 Demosaic code
-
* Added to input.raw.libraw.demosaic selections
- Compile-time selection of dcraw/Libraw for raw file input: I did this for a specific purpose, don't recommend it for general use. Not documented.
- Tool lists: Text files with lists of tools that can be inserted in the processing chain. Menu: Add->Tool List... Opens a file selector in the directory specified by app.toollistpath
Significant Changes
- Property Templates: Property input modes beyond simple text entry
- Located in rawproc.conf, in a [Templates] section. If a property is found in this section, the specified input mode is used instead of simple text entry.
- Selection lists: e.g., input.raw.libraw.colorspace=raw|srgb|adobe|wide|prophoto|xyz
- File selection: input.raw.cms.profile=iccfile tells the Properties dialog to open a file selector on the directory specified in cms.profilepath
- User-customizable: e.g., if you don't like all the 0|1 selections, you can delete them, or you can make selections for specific icc profile properties instead of the file selector
- Located in rawproc.conf, in a [Templates] section. If a property is found in this section, the specified input mode is used instead of simple text entry.
- myConfig replaces wxConfig
- TIFF:
- EXIF
- Unbounded floating point. This requires specifying a suitable matrix transform in output.tiff.cms.profile.
- The build system:
- libtool/pkg-config library collection
- automake incorporation
- Lens EXIF:
- Libraw extraction
- Nikon LensID lookup
- User Interaction:
- Ctrl-c in display at 100% copies RGB to the clipboard
- o key in display turns on out-of-bound display coloration
- Ctrl- and Alt- mousewheel moves the selected curve control point horizontally and vertically, respectively
Significant Fixes
- Image orientation normalization: selectable behavior, rotates the image to the exif Orientation and sets the Orientation to 1 on output.
- Colorspace tool:
- Can now be used even if CMS is not enabled
Binaries
MD5s:
e2ae34f82ce289e72d63d9b6c9c13651 rawproc-0.7.tar.gz
571a6a217870d3069423e05716652ffe rawproc0.7-w32-20180604-180445.zip
ccea026a5f3446066e13587b0aba54b2 rawproc0.7-w64-20180604-180518.zip
1d60534855c6cf1eadc90cf0bbf4eb3d rawproc0.7-x86_64.AppImage
0628facf740b0f5df58014ec2bd87379 rawproc-w32-0.7-install.exe
136409e740d464995de83e65d06c3aaf rawproc-w64-0.7-install.exe
rawproc 0.6.2
In the endeavor of writing software, you eventually need more eyes. I got that on 0.6.1, from Elle Stone, someone who knows a whole lot more about color management than I; thanks, Elle.
The biggest change in 0.6.2 was to make the colorspace tool work right, but the fix wasn't in the tool. The display code wasn't handling the tool correctly; now it does. In fixing that, I also added multithreading to the colorspace conversions in both the tool and the display transformations, so things work a lot quicker. I also added black point compensation to both the display transform and the colorspace tool, as well as rendering intent. There's also now a configuration parameter to turn off requiring a display profile, so the actual working profile image can be displayed if desired. And, a bunch of fixes.
So now, a working profile can be inserted in the processing chain as the first tool applied after the raw image is opened. This can even be automated with the input.raw.default parameter, where the tools can be specified to be applied when a raw image is opened. That's about as close to a 'preset' as I'll get...
The AppImage should work with Gentoo now, I added libharfbuzz to the exclude list.
MD5s
c53733cc51bc67354ffbd82a4dba1712 rawproc-0.6.2-w32.exe
3744591701ec1abb1089b3ca78c48aa8 rawproc-0.6.2-w32.zip
84b146a5f401cfab844d43a87fae811a rawproc-0.6.2-w64.exe
2bdf194b78a408e13df68a6ecebf37c1 rawproc-0.6.2-w64.zip
df1972b2412319c7fec0063727b79daa rawproc-0.6.2-x86_64.AppImage
rawproc 0.6.1
I did a lot of changes to get to 0.6, and you just can't seem to test enough...
0.6.1 contains a few fixes that escaped my banging at 0.6. But it also contains a particularly useful addition, input.raw.libraw.cameraprofile. This is not one of the actual libraw dcraw parameters, but right after the dcraw processing and before the opened raw image is delivered to rawproc, the ICC identified in the cameraprofile parameter is assigned to the image. So now, you can assign a camera profile to your raw at input, essentially accomplishing what Elle Stone munged dcraw to do in her dcraw-unDnged endeavor: https://ninedegreesbelow.com/photography/dcraw-undnged.html. input.raw.cms.profile will do this if the input.raw.libraw.colorspace=raw and input.raw.libraw.gamma=linear, but the assignment isn't captured in the command line constructed by rawproc that represents the image processing.
There are still a few minor changes I want to deliver in a 0.6.x, such as a selectable rendering intent for the colorspace tool, but right now rawproc will reliably support a color-managed workflow using the camera profile as the working profile.
32-bit Windows Installer and .zip:
9b2b3584d80035b44cff4f575d24e702 rawproc-0.6.1-w32.exe
f90df78a5085fc517446421f8f770a08 rawproc-0.6.1-w32.zip
64-bit Windows Installer and .zip:
c9a6ff475c50b1709eb02850f8b0ba33 rawproc-0.6.1-w64.exe
8e1f3911dd65d160275679edb117b0a5 rawproc-0.6.1-w64.zip
x86_64 Linux AppImage:
899eeb81f8257296925a03a4a853fe16 rawproc-0.6.1-x86_64.AppImage
4bf4c1d046ebcbc6c6335a30df8d9e0b img-x86_64.AppImage
0.6.2pre Linux AppImage (for testing)
8b5a94fd44df17e94f20ce5cf3a436d4 rawproc-0.6.2pre-gentoo-x86_64.AppImage
rawproc 0.6
This revision has a few new capabilities:
Tools:
- Exposure compensation
- Redeye correction
- Per-channel curve
- Colorspace apply/assign
Menu selections:
- Re-open: Like it says, re-opens the previously opened image. Useful to change raw parameters.
- EXIF: displays full exif for the opened file, using Phil Harvey's exiftool run as a separate process.
There are a bunch of other minor adds, like image orientation resolution (rotate to orientation tag, set tag to 0), moved the histogram to its own pane in the dock, input.raw.libraw.* lets you specify individual libraw parameters. Color management is cleaned up a bit; a profile directory can be specified in the configuration file, and I disabled the internal profiles until I can make them work correctly.
With regard to building rawproc, there is now an autoconf configure script for both rawproc and gimage, the supporting image library. It works best with a separate build directory, and it's imperative to start with ..configure --help to review the options for getting to the supporting libraries. The old Makefile with localmake.txt is still there; note that if you use ./configure in the rawproc directory, you'll overwrite the old Makefile.
Through the 0.6 development, a lot of code cleanup was accomplished. In fact, Linux/GTK never really worked well; now, it does. wxWidgets/Linux defaults to GTK2; I've tried GTK3 and it seems to work, but I haven't tested it extensively.
The help file has been extensively reviewed and modified to reflect the build, and it opens along with the Properties dialog modeless, so you can refer to the help file has you consider configuration parameters.
The img command line processor got a significant capability in wildcard processing; "*" allows wildcard selection of a set of input files, and specification of the corresponding output files, so you can do something like:
img "*.NEF" gamma:2.2 blackwhitepoint resize:640,0 sharpen:1 "album/*.jpg"
Windows Dowloads
32-bit executables use a half-float pixel; 64-bit executables use a full float pixel.
MD5:
dafcc3800c71fa1b7cf49a456feaf6f2 rawproc-0.6-w32.exe
fb9929a7d94651ef806bfa8604ec3e6d rawproc-0.6-w32.zip
000007af1fce5e48f15b4c1734bf970b rawproc-0.6-w64.exe
013e7999c0cbd80d8736f7a11e29ae6f rawproc-0.6-w64.zip
AppImage Download
Built on x86_64 Ubuntu 16.04, full float pixel.
08651958df0f2a63b74892bf6793ad75 rawproc-0.6-x86_64.AppImage
To set up configuration with the AppImage, download a copy of rawproc.conf from here:
https://github.com/butcherg/rawproc/blob/master/rawproc.conf
and put it in the following directory: ~/.rawproc/
rawproc 0.5
rawproc 0.5 is a very different code from 0.4.1. The FreeImage library has been replaced, and basic input-display-output color management has been implemented with Little CMS.
The new image library, gimage, was written specifically for rawproc. gimage exposes the full dcraw parameter set of Libraw, and it uses a single floating-point pixel data structure. It doesn't presently implement PNG image input and output.
There are two Windows installers, 32- and 64-bit. The 32-bit version configures gimage to use a 16-bit floating point pixel format to better accommodate the 2GB per-process memory limit. The 64-bit version uses the gimage default 32-bit float pixel format.
0.5.1, 3/5/2017:
fix: crash on dismiss of Image Information dialog
MD5 Sums:
f491e7314cf0e94f4392510379e01fec rawproc-0.5.1-w32.exe
9c6442f6419170db1df265b70fc575b6 rawproc-0.5.1-w64.exe
rawproc 0.4.1
Fixes and minor additions. Biggest change is in the img command line processor; it now handles wildcard filespecs for input and output, to batch process files. img is now installed by the Windows installer, to include adding its location to the PATH.
rawproc.conf is also left alone by the uninstaller, if desired.
rawproc 0.4
The fourth developmental release. This is the first release with "full functionality", that is, all of the tools I consider to be useful in initial processing of camera-raw images. There are still bugs, so save often. New to this release:
- Denoise tool, based on the non-local means algorithm
- Help file
- Auto black/white point initialization.
- Numerous configuration file parameters
A windows installer for a 32-bit application is available here.