Synthetic HDR Plugin FAQ
From SarahWiki
Are there any known issues with the current version of the plugin?
There is a page listing all currently known issues here:
How do I install the plugin?
1. Download the most recent zip file. 2. Unzip it. 3. Drop the file synhdr.8bf into your CS2 Plugins directory.
If you haven't got a separate plugins directory set up yet, I'd recommend doing so. To do this, first create a directory somewhere suitable, then:
1. From the Photoshop Edit menu, choose Preferences | Plugins & Scratch Disks. 2. Make sure that Additional Plugins Folder is checked. 3. Click Choose..., then select the directory you created. 4. Click OK until you get back out of the settings box.
Why can't I have the source code?
Unfortunately, this is a limitation of the license terms of the Photoshop SDK. There's not a lot I can do about it, unfortunately.
I do, however, intend to release a sanitised implementation of the core algorithm that is free of Adobeisms. I'll be sorting out either a CVS or Subversion repository for this in due course, though that will probably take me a couple of weeks. I would very much welcome ports to other architectures and to other platforms. I'm particularly keen on arranging a Mac port -- if someone out there is interested, and (importantly) is already a licensee of the Photoshop SDK, I can give you the source code. Eventually, I'll probably set things up so that there is one big source repository on line with all of the versions in it, though some (sadly) will only be accessible by arrangement.
What ports are planned?
Photoshop CS3 seems like an obvious step. As I mentioned above, Mac support would be nice.
I've had some interest in a Gimp port too, which actually seems like a neat idea to me.
The current version seems a bit slow, is there any way to speed it up?
The time taken is mostly in the convolution code, which currently is not quite as fast as it could be. The loop is also single-threaded, so the plugin won't take advantage of multicore CPUs. My gut feeling is that I can probably (given time and tweaking) double the performance of the inner loops, maybe a little more than that. Supporting multicore CPUs is fiddly rather than necessarily difficult -- the algorithm is quite parallelisable, so I'd expect a more or less linear speed up with the number of cores available.
I should point out, though, that performance tuning is currently at the bottom of the list, probably behind the implementation of other plugins, so don't hold your breath on this.
Will this work for video?
I've not tried it, but there should be no reason why it shouldn't. The algorithm is entirely deterministic and stable, and doesn't cause any phase shift in the alignment of images (all the convolution kernels are exactly symmetric about their centre points), so my guess is that it'll be fine. If you try it and it works, please let me know.
I can do noise reduction some other way, why should I use Synthetic HDR?
Firstly, whilst the plugin has the effect of reducing visible noise, this isn't really its designed purpose. The real aim is to increase bit depth whilst keeping any introduced artifacts as visually pleasant as possible. If you throw it at a noisy image and tweak the settings correctly, it will certainly give you a result that looks much less noisy, but this isn't really the aim of the technique.
Ultimately, there are always alternative ways to do nearly anything. If some other technique works for you, go for it. No one is holding a gun to your head. Well, I suppose someone might be, but that would be entirely coincidental. It certainly wouldn't be me, anyway. :-)
What compiler was used to build the plugin?
The Windows CS2 version was built with the full version of Visual Studio 2003, in release mode with the default optimisation settings turned on.
What language is the plugin written in?
C++, though the core code doesn't do anything that isn't also in C, which may be useful for anyone considering a port.
