Performance is a Key Kuuvik Capture Feature

Since I took over Kuuvik Capture last year, one of my top priorities is to provide the fastest, highest performance tool possible. While the original company arrangement did not allow for costly, time consuming optimizations required to reach the speed I wanted, now I can spend all my spare time on it. And the results are stunning. Just think the brutal improvements version 2 brought to the table…

These days I’m doing some groundwork that will make exciting new features possible in Kuuvik Capture (and also serve as a base for upcoming products). And improving performance along the way.

Kuuvik Capture 2.5 Beta

Kuuvik Capture 2.5 Beta

No more Windows leftover

Originally Kuuvik Capture was designed to be able to run on both OS X and Windows, and we used a bunch of readily available software components (Canon’s own SDK and libraw for example), which turned out to be a bag of ugly worms. I had spent several long days on wrapping those components to make them usable and reliable.

This “wrapper” was able to run on both operating systems. On top of this, the operating system specific “engine” connected the “wrapper” to the user interface and provided services to the “wrapper” (such as proper asynchronous camera communication – something that Windows completely lacks).

With version 2 I had already replaced these problematic components with my own code, but parts of the “wrapper” and the “engine” were still present. Since we decided to drop any and all Windows plans, there was no need for them – my Digital Camera Library and the user interface could talk directly. So I started to gradually remove them, which task is finished by now.

During the removal I had not just eliminated several thousand lines of code, but since there’s less machinery involved, camera communication became faster and consumes less battery. Image download from the 5DS R is 1% faster compared to version 2.4, and overall communication is up to 5% faster compared to 2.0 (measured on my mid-2012 15″ Retina MacBook Pro). This seems a small number, but think about it this way: you can take 1-5% more shots on a charge.

Even faster RAW decoding

I’m using a lossless jpeg decoder based on dcraw‘s routines to open the RAW files. This had one drawback: dcraw was not designed to be able to work on multiple images simultaneously – something I need for my future plans. Not to mention that I also had to work around this limitation in Kuuvik Capture.

Fortunately I found and fixed the issue, and my decoder not just works parallel on multiple processor cores, but also crunching numbers faster. I measured 5-6% faster file opens (with 50 megapixel files on my MacBook Pro).

When?

These improvements will be available in Kuuvik Capture 2.5 later this fall.

Kuuvik Capture 2.4 Released

The latest update to Kuuvik Capture is now available on the Mac App Store. First and foremost, we’ve added support for the brand new Canon EOS-1D X Mark II. This seems to be a great camera with a few quirks – more on the camera itself in a later post. You can connect it to Kuuvik Capture with USB, using the built-in Ethernet connection or via the WFT-E6 or WFT-E8 Wi-Fi transmitters.

We also changed the way shadow and highlight clipping warnings look. In the past we had a hatched pattern that become denser as more channels got outside the exposure range of the camera. The problem was severe moiré and aliasing when you zoomed in and out. Beginning this version the exposure warnings are solid colored, getting more opaque as more channels are affected.

Multi-channel highlight clipping warning

This is an image from last fall, and shows how channels get clipped towards the sun in the frame. First green (the largest patch), then blue and finally red. The more channels are overexposed the less chance to do effective highlight recovery.

Last but not least, I’ve continued the multi-platform code removal process (mentioned in my former post), which brings performance improvements (and battery usage improvements) here and there. For example loading 20 megapixel images from the 7D Mark II got up to 0.1 seconds faster on a 11″ MacBook Air. And overall camera communication is a bit faster and smoother.

The update is free for existing Kuuvik Capture 2 customers. New users can download Kuuvik Capture 2 from the Mac App Store.

For more information about the app, please visit it’s microsite, or check out my posts.

Kuuvik Capture 2.3 Released

kc2icon@2xVersion 2.3, bringing Canon EOS 80D support to Kuuvik Capture 2 is now available on the Mac App Store.

Since Canon introduced quite a few changes with this body, I had to update both the camera control and the RAW decoder in my Digital Camera Library.

And at this point let me add a few personal comments on the 80D.

While the improved low ISO dynamic range is a welcome addition, this camera is a step back in a few regards. First, it’s not fast enough to support multi-point live view (formerly known as split view). It’s an unfortunate trend with Canon’s newest mid-range cameras: both the 70D and 700D were multi-point live view capable, and none of their replacements/successors are.

Second, the removal of the shutter count feature (it does not affect Kuuvik Capture per se, but indeed affects my ShutterCount app).

Third, Wi-Fi is still on the verge of being unusable. I’ve already mentioned sub-par 70D/6D Wi-Fi transfer speeds in the version 2.2 release announcement post. With the 80D, I was enthusiastic about the Easy Connection option, that is designed to create the camera’s own access point, and to allow using EOS Utility mode with no existing network needed. The idea is something you would expect in 2016, but the implementation is crap. And I’m not talking about the inability to specify a password for this network, but the extremely slow transfer speed. I measured speeds south of 30mps – which is half of the already slow speeds of the mid-range bodies.

Thus, I recommend to stick with using an existing Wi-Fi network and to avoid the Easy Connection option completely. Fortunately using an existing network is not slower than the 70D was (but it’s not faster either).

I took over Kuuvik Capture last year, and decided that I will not release a Windows version. This allowed me to remove former platform independent code and to do Apple-specific optimizations and speed up the app considerably. The code base is large, so this optimization process is still in progress – and this release also includes a few. They are not user visible, but you might notice them here and there. (For the technically inclined – I had eliminated a bunch of memory copy operations between the Digital Camera Library and the user interface.)

On the user-visible changes front, Split View had been renamed to Multi-Point Live View. I think it’s more clear what the feature does this way, plus Apple introduced a completely different Split View into OS X – and wanted to avoid any confusion.

The update is free for existing Kuuvik Capture 2 customers. New users can download Kuuvik Capture 2 from the Mac App Store.

For more information about the app, please visit it’s microsite, or check out my posts.

Focus Stacking with the Otus 1.4/28

Last weekend I had a little time to play with the Otus 1.4/28. I was at Lake Tisza, but the light was suboptimal to put it mildly. So I decided to make a test shot to check how focus stacking will work with the Otus 28.

Why would you need focus stacking in the first place with such a wide angle? Well, if you have a brutal 50 megapixel sensor, with a lens that’s sharper in the corners than most lenses in the center, you don’t want to throw that resolution away by stopping down below the diffraction limit.

For this test I ended up using f/6.3 and taking 6 slices.

Early Spring Pier, Lake Tisza

Early Spring Pier, Lake Tisza

It was a quite a bit windy, and I wanted to smooth out the waves using the 10-stop LEE Big Stopper. I had to realize that I ran out of gaffer tape (unfortunately the Big Stopper on the Otus 28 leaves quite a gap at the sides), so I used my heavy cotton dark cloth to keep unwanted light from hitting the front element.

The dark cloth covered the entire camera, but it was quite easy to focus on the 11″ screen of my MacBook Air using Kuuvik Capture. The images were focus stacked in Photoshop CC.

And the result? Perfect front-to-back, corner-to-corner sharpness. It’s simply amazing.

Kuuvik Capture 2.2 Released with Wi-Fi Support

The latest update to my Kuuvik Capture camera remote control app went online earlier today. Although it looks like a small update on the surface, there’s a huge change under the hood. This version contains the 3rd generation of my digital camera library – with full Wi-Fi and Ethernet connection support.

You may remember that we had dropped the network camera option during the beta, because Apple’s PTP-IP (the protocol used to talk to the camera over Wi-Fi and Ethernet) implementation turned out to be unreliable under heavy load. Not to mention the side effect that Image Capture started every time we connected a camera.

So I took the challenge and developed a completely new PTP-IP transport component, debuting in Kuuvik Capture 2.2. If you think that it’ll appear in other apps in the future, then you’re on the right track… But let’s concentrate on Kuuvik Capture now.

Connecting your camera via Wi-Fi (or Ethernet)

First of all, you’ll need either a Wi-Fi equipped camera (6D, 70D), a built-in Ethernet socket (1D X, 1D C) or a separate Wireless File Transmitter (5D Mark III, 5DS, 5DS R, 7D Mark II, 1D X, 1D C) for this to work. Only Canon’s transmitters are supported, third party Wi-Fi remote control boxes will not work. Please check the tech specs for the full list of compatible equipment.

Canon cameras provide connectivity in several ways. The most complete is the EOS Utility connection mode. For this mode a camera needs to be paired to a given app on a given computer. Using two apps on the same computer? You need to pair the camera to them separately, and only one can be active at a time.

The computer side of this pairing process is dramatically simplified in Kuuvik Capture 2 compared to both version 1 and Canon’s EOS Utility.

Kuuvik Capture now needs to be “pairing mode” to accept a pairing request coming from the camera. This mode is accessible through a new menu item (or by pressing F2).

networkPairing

Pairing can be initiated from the menu.

Kuuvik Capture displays the pairing window (shown below) while in pairing mode. This window also shows your computer’s name, which will appear on the camera’s LCD during the last pairing step, so you can double-check that you are pairing to the computer you were intended to.

networkPairingWindow

The pairing window. Kuuvik Capture is ready to accept pairing request only when this window is displayed.

And that’s all you need to do on the Mac.

Once in discoverable state, you can start the configuration process on your camera. The process consists of three large steps:

  1. Choose a connection mode.
  2. Configure your network.
  3. Do the actual pairing.

They are documented in your camera’s or wireless transmitter’s user manual, but there are a few important points to consider.

First, please don’t start any Canon app that may be mentioned in the manual. You are now pairing to Kuuvik Capture, and not to Canon’s apps.

For step 1, you must use the Connection Wizard on cameras where it’s available (e.g. 5-series, 7-series with the external brick), otherwise you won’t be able to complete step 3. On the 6D and 70D choose the Remote Control (EOS Utility) mode. On other cameras choose EOS Utility mode in the Connection Wizard.

In step 2, the camera will ask for network specific parameters (whether it’s wired or wireless, plus various options and a password specific to your network). This is the most complicated part of the entire process, but Wi-Fi setup is such a thing… I’d recommend to study the camera/transmitter manual beforehand.

Out in the field with no network to connect to? My previous post shows you how to create a fast and secure Wi-Fi network on your Mac!

The last step is the actual pairing. As the LCD indicates, this is your last chance to put Kuuvik Capture into pairing mode. It may take up to 1.5 minutes for the camera and your Mac to find each other.

camerapairing1

This is how the camera’s LCD will look like as soon as they found each other:

camerapairing2

Pairing should be done once (unless in the meantime you paired your camera to another app, another computer, or used another network). To deal with these different scenarios, the very last screen in the process (after clicking that OK button) lets you save up to 5 (3 for 6D/70D) setups into your camera’s memory. But if nothing has changed, Kuuvik Capture will find your camera automatically the next time you turn it on and connect to the network, so the pairing is not necessary every time you want to use a Wi-Fi or Ethernet connection.

When pairing has successfully completed, the camera’s LCD will turn black, the pairing window will disappear, and the camera’s name will show up in Kuuvik Capture’s camera selector.

Notes on Wi-Fi speed

It seems that Canon implements one of the lowest speed classes for each of their Wi-Fi implementations. This is 150mbps for the external 802.11n bricks (using only one spatial stream), and a shockingly low 60mbps for the 6D and 70D (despite they advertise it as 150). So don’t expect miracles and be prepared for 12-15 second downloads on these slower cameras. On the other hand, the external bricks are fast enough to be perfectly usable when the network signal is good.

Well, speaking of bad, flaky networks. While I absolutely hate to add new configuration options (one more thing for you to deal with), this time it was a must.

Wi-Fi networks can become unbeliveably slow (think longer distances and/or interference), causing the camera to disappear from Kuuvik Capture. A longer network timeout (a longer time allowance for intermittent network errors to clear) may solve this, but at the expense of delaying the detection of actual issues (such as when the battery dies). So the Preferences window now has an option to control this.

ntoPreference

The default is 10 seconds, which we found to be suitable for most Wi-Fi networks. You can go as low as 5 seconds or as high as 30 seconds. My personal preference is to go with the lowest number, and raise it in the presence of connectivity issues.

Other new features

There are two of them. Customers have asked for more, longer time options for mirror lock-up auto-release. So we’ve added 8s, 10s and 15s to the palette. Also the new white priority white balance mode introduced with the 5DS/R is now available on the white balance control.

Availability

The update is free for existing Kuuvik Capture 2 customers. New users can download Kuuvik Capture 2 from the Mac App Store.

For more information about the app, please visit it’s microsite, or check out my posts.

Preventing Photos Auto-Start

If you are a photographer using anything but an iPhone for your work, chances are that the Photos app drives you nuts. I mean its aggressive nature to jump on any media or camera connected. Although you can disable this auto-start for cameras one by one, CF and SD cards are still an issue, as there’s no way to disable the auto-start for them on the user interface.

So here’s the trick: disable it globally. Open Terminal and copy & paste the following commands:

On OS X 10.10 (Yosemite):

defaults -currentHost write com.apple.ImageCapture2 HotPlugActionPath -string ""

defaults -currentHost write com.apple.ImageCapture2 LastHotPlugActionPath -string ""

On OS X 10.11 (El Capitan):

defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool YES

You may need to log out and back on for the changes to take effect.