15 Minutes of Fame
I’ve been interviewed twice in recent weeks.
Eyeon Software asked me about development aspects of Fusion (scripting, fuses, macros) and Digital Media World allowed me to give some insights into my career path as a VFX artist. I’ve also talked a bit about the soft skills that in my opinion make life easier on VFX jobs: tolerating frustration and being able to communicate well between teams (e.g. editorial and VFX)
Fusion Script and Macro Collection
I’ve noticed quite a few Google hits for Fusion on my blog, so I thought I’d write a short summary of various scripts and macros I have created over the years.
Note: Since Fusion was aquired by Blackmagic Design, vfxpedia has been turned off and thus many links no longer work. Besides that, Fusion 7 introduced a new LUA interpreter that requires changes to some scripts. If a script no longer works in Fusion 7.x or you need a Fuse or Macro that was hosted on vfxpedia, drop me a line or visit the forum at steakunderwater.com/wesuckless where I might have already posted an updated version.
Scripts
- A huge improvement to the Add Tool script.
- Exporting keyframe data to After Effects
- Importing keyframe data from Nuke
- Saver Checker Script that creates missing output directories and lists enabled savers (useful if there are a lot of them).
- Loader From Saver creates or updates a loader from a selected saver.
- 3-Point-ImagePlane, a script that automatically aligns 3D planes to vertices in a point cloud.
- Freeze Cam, a helper script for projections that duplicates a camera and removes its animation.
- Tool Color Labels to easily tag your flow.
- Invert Animation Curve, a script that swaps time and value of an animation spline.
- An improved version of Fusion’s “Change Paths” to do search&replace operations on your loaders and savers.
- An improved version of “Destabilize Transform” to connect trackers to almost anything that has a center, size and angle slider.
- An improved Python implementation of the Bake Animation script, that processes multiple properties at the same time.
- Un-Modify, a tool script to remove modifiers from a stack without killing the whole animation.
- A converter to use Syntheyes lens distortion values with Fusion’s LensDistort tool.
- A suite of scripts to exchange shots between Fusion and Syntheyes.
More scripts and script-related snippets can be found on Vfxpedia, by the way.
Macros
- A 3D Colorspace Keyer implementation.
- ExponentialGlow, a glow with a nice photorealistic falloff.
- Image Mixer to help with applying scanned grain from gray cards.
- Macros to apply Lustre(R) merry grades, Josh Pine’s log2lin math and Nuke-inspired TMI color balance.
- An implementation of Nuke’s Ramp tool for gradients.
- A Color Picker that can be placed on top of an image to serve as a persistent color readout which has since been improved by Gregory Chalenko.
- SoftClip, a macro to gently compress overbright values below 1.0.
- SigmoidalContrast creates an S-shaped contrast curve.
- SpillMerge, an advanced keying solution for smoke or reflections.
- “Toe”, a macro to gently raise an image’s black level (inspired by Nuke’s tool of the same name)
- “Turn” for rotating an image (including its canvas) in steps of 90 degrees.
Fuses
- Open-Source Plugins to create Lightning Bolts, Lens Flares or Lines
- GPU-accelerated Rolling Shutter correction based on motion vectors from eyeon’s Dimension plugin.
- A Smoothcam-inspired Fuse to automatically stabilize or smooth a shaky camera move.
- CubeToLatLong turns a cube map into (part of) an equirectangular panorama.
- SparseColor draws gradients or fills an image using multiple spots of color.
- A Nuke-like color correction Fuse whose contrast slider works well on linear images.
- A GPU-accelerated CornerPin, an improvement over Fusion’s native tool.
- A Switch Fuse as found in Shake or Nuke.
- A Fuse to manage auxiliary channels (like depth or vectors).
- A clone of Nuke’s Reformat tool to fit an image into another image format.
- A modifier for averaging two or four point positions (e.g. trackers)
- PositionHelper, a modifier to easily smooth a tracker path or change its reference frame.
- XfChroma, a transform tool that leaves a colorful trail.
All scripts and Fuses are open-source (mostly BSD-style) and commented extensively to serve as scripting tutorials 🙂 Feedback is always welcome.
Correcting Rolling Shutter in Fusion
eyeon has recently released its Dimension optical flow and stereo disparity toolset. I didn’t have a chance to test the stereo part yet, but since you can now calculate nice and crisp motion vectors, I’ve written a Fuse that can correct rolling shutter artifacts. Here’s a quick demo video:
You can get real-time performance on your GPU using OpenCL and as usual I’ve licensed my source code BSD-style if you want to tinker with it.
I haven’t had enough footage from different cameras to test the plugin thoroughly (just my iPhone and a Canon 5D Mark II). I also haven’t tested any other motion vector generators except for Dimension. Maybe Twixtor works as well, we’ll see…
Updated 2012-10-09: supports the rolling shutter method used by Syntheyes (center scanline is fixed)
Download the plugin here: RollingShutter_v1_6.Fuse or head over to Vfxpedia.
Photo credits for icon: CC-BY Nayu Kim
Piwik Visitor Tracking
Let me introduce you to the great piece of open-source software that is tracking your every click around here. The traffic statistics of comp-fu, bildfehler and pfotenbild are created by Piwik, a free and transparent replacement for google analytics. I’ve been running it for a year now and it has matured considerably during the past few months. Right now, it doesn’t just show you which search engine and keywords have led visitors to your site, it also does this in real-time. The user interface is pretty and straight-forward and of course it will exclude your own visits from the statistics.
I don’t even use all of its features (it could also be used to set goals and track pre-defined paths across your site), but just the basic feature set is valuable enough. It allowed me to decide on the minimum screen resolution for my websites, whether to dive into the topic of iPad and iPhone-optimized CSS rules (result: not quite yet) and showed me useful keywords for the google adwords campaign that Pfotenbild is running. And it was easily integrated with WordPress and zenPhoto.
Eyeon Fusion on Mac OS using Parallels
Usually I don’t advertise random products for free, but this piece of software has really been a great investment: Parallels Desktop for Mac. It provides a virtual machine that allows you to run Windows and Windows programs inside Mac OS. Since Fusion isn’t available for Mac OS this is a great way to render my dual-boot setup (using Bootcamp to launch Windows 7) unnecessary in most cases. Note: This post is about Eyeon Fusion, not the competitor to Parallels – VMware Fusion!
But it doesn’t stop here. Parallels takes the integration between Mac OS and Windows even further. It provides a “Start” menu for the Dock which contains all Windows programs. It provides neat icons for file types that are used by Windows (e.g. Fusion’s comp files) and I can double click files in Windows to open them in native Mac applications. Great for PDFs or Photoshop files. It can hardly get more seamless.
Moreover, Parallels fakes a complete workstation and provides arbitrary folders on my Mac drive as network shares (X:, Y:, Z:…) for Windows. It’s much more stable than Bootcamp’s HFS+ driver. And it allows me to easily mirror a client’s network infrastructure on my Macbook. I can just copy what I need for when I’m at home or on the road and all path names work like they would on-site. Of course it also works the other way around: Parallels provides access to the virtual machine’s C: drive as a network share within Mac OS which isn’t able to write to NTFS partitions on its own. The virtual machine’s C: drive really is a Bootcamp NTFS partition, so I can still dual-boot if I need my whole 8 Gigs of RAM for Fusion.
Having said all of this, of course there are some caveats. Well, only one so far, but it’s annoying nevertheless: keyboard shortcuts. If you don’t want Parallels to disable all Mac shortcuts while using a Windows program, you’re sure to inadvertently trigger unintended stuff every other minute (opening Dashboard when pressing F4, switching Spaces by pressing Ctrl-Cursorkeys or confusing the Command and Control keys). Luckily, important shortcuts like copy&paste are mirrored as Command-C and Ctrl-C, but it’s still a bit more irritating than using Windows with a real PC keyboard. It’s a general problem with using Windows on a Macbook though, Parallels or not.
Oh, there’s a second issue. You can launch Fusion easily using a Dock icon, but Parallels will boot Windows inside its virtual machine first and you’ll need to log in manually if you have set up a password inside Windows. There’s no free lunch, but Parallels still beats dual-booting in most cases.
Addendum (since I’ve got a lot of visitors from google reaching this post): Parallels doesn’t emulate a GPU that supports OpenCL, which means that many new tools in Fusion will either be slow (Volume Fog) or won’t work (OpenCL rays). If you need to render these, you need to use Bootcamp.
iPhoto
Playing around with iPhoto’s face detection. Its usefulness ranges from okay to funny to weird 🙂
Algorithms
Adobe demonstrates a future Photoshop feature called “Content-Aware Fill” that is the healing brush on crack. It’ll “extrapolate” image patterns to remove unwanted elements or extend landscapes.
Looks pretty amazing in this youtube video:
It’s probably based on some Siggraph paper. For example, the content-aware-resizing that Photoshop has since CS4 was also demoed at Siggraph first:
The algorithms that are currently developed in this field are simply amazing. Here’s the one that will put me out of work in a few years: automatic image composition based on a simple doodle:
Sketch2Photo: Internet Image Montage from Tao Chen on Vimeo.
Or this one on image stabilisation:
And finally this all-time favourite from 2007 (!) that apparently still hasn’t made it into a commercial product: An algorithm that seamlessly inserts high-resolution photos into a low-resolution video. Or removes unwanted elements. Or removes reflections. Or seamlessly changes what was behind those reflections.
Using Photographs to Enhance Videos of a Static Scene from pro on Vimeo.