New Toy: Meet the Wobbleometer(TM)

I’ve had my eye on the Raspberry Shake seismometer for a couple of years now. Last week, I finally succumbed and bought both a new Raspberry Pi (just a 4B 2GB RAM – cheap yet more than adequate) and a Shake 1-D.

The 1-D is a simple seismometer, responding only in the up/down direction. Other products are available…

Mine arrived as a kit, that even I was able to stick together in under half an hour (thanks to a youtube video showing what most of the screws and things were for).

I installed and levelled it on the downstairs windowsill and plugged it directly into the main ADSL router – when you’re uploading a hundred samples per second, minimizing latency is essential.

Obviously, being based in mainland Scotland, I don’t expect to see that many significant earthquakes. We get a handful of ~magnitude 2.5 around the country every couple of years if we’re lucky. However, recently YouTube has sent me down a rabbit-hole of geological analyses of goings-on in Iceland’s Reykjanes peninsula – the recent sequence of volcanic eruptions alternating with tiny earthquakes as the magma chamber refills.

The very first night, I spotted a magnitude 3.6 quake in Iceland.

Since then, the live data stream has sadly been unavailable for about 5 days, but when it works, the ability to select a quake event and then click on a station and see the station’s raw data really rocks.

There was another magnitude 3.7 earthquake along the Mid-Atlantic Ridge offshore a few miles south-west of Grindavik yesterday. The live-data view is currently working in the mobile app, leading to this analysis – showing the P and S waves propagating from the event.

As monitoring equipment goes, I’m impressed. It’s a wonderful device, very sensitive yet easy to set up and works well. I’ll continue to watch for all quakes nearby and larger ones further afield, if only to be able to say “I saw it” 🙂

Canon vs Fuji: R5 Fail

Last summer, I thought to upgrade from the Fuji X-T4 to the Canon R5.

It didn’t last long.

I spent ages poring over specs sheets online, checking image quality, etc.

As a geek interested in various forms of nature photography (closeup, landscape and astrophotography), for over a decade I’ve made a habit of shooting more than one RAW per output image. Whether the scene in front of me benefits from simply average-stacking, HDR, focus-stacking, pixel-shift or panorama, the more data captured at source, the better an image can be produced and the more future-proof it is against further revisiting, potentially years down the line.

Given that I do a lot of my photography during weekend hikes around the countryside, in any given day I’m likely switching between these drive modes on a regular basis as I react to what’s in front of me.

This is where the Canon R5 falls down. For all that the specs suggest it might be a “perfect” camera for landscape, in reality it’s anything but. I found are three areas of major fault that nobody in any “review” seems to have noticed:

  1. The electronic shutter is arbitrarily limited to no longer than 0.5s shutter speed. This renders it impossible to make a focus-stack where the individual frames are any longer than that – so loch-shore landscapes are out. I contacted Canon Support about this and they said they had no plans to fix it.
  2. The 14-bit read-out is only available in burst modes slower than H+; in that mode it drops to 13-bit, potentially making images noisier.
  3. Switching between focus-stacking and exposure-bracketing is a massive pain in the backside. I had to use the My Menu to bring the two drive-modes closer; even so, switching between the two requires entering whichever is enabled, disabling it, going into the other, enabling it and checking the parameters. You can’t store either of these drive modes as an aspect of a custom user mode. If nothing else, it slows me down in the field.
  4. Canon’s attitude – corporate “Big Photo”(TM) – where the EF lens mount is well established, the RF mount is relatively immature and they used patents to stop third-party manufacturers producing RF lenses to protect their profits. Legally fine, but doesn’t sit well with me as playing nice.

I got a few good photos out of it, but the above loomed too large, destroyed my enthusiasm for it – big regret.

So I sold it after only a few months.

Fuji brought out the X-H2 while I wasn’t looking and it is far better suited to my taste.

  1. I know Fuji users tend to like the rangefinder-style exposure controls, but this has sensible PASM controls that allow storing actually useful combinations of settings in my 7 custom modes. (C1 = walk-around aperture-priority starting from f/5.6, auto ISO, colour, AEB; C2 = serious tripod-using landscape in manual mode, base ISO, 1s for long exposures, b&w preview, pixel-shift, …)
  2. 40MP is a major leap forward in APS-C sensors. It goes without saying that it’s 14-bit in any drive mode.
  3. In a first for Fuji, it supports pixel-shift
  4. The drive-modes are a button-push away – all of them including in-camera HDR, bracketing, focus-stacking and pixel-shift – and can be saved as part of a custom user mode.
  5. Long exposures are timed up to 15 minutes! No need for Bulb mode!
  6. The more I use the camera, the more I appreciate little things that show how well thought-out it is – memorably, where other cameras – Sony! – have a USB-C slot for power, transfer and remote control, the Fuji X-H2 has the USB-C slot for the first two but remote cable release is a micro-jack socket on the other side of the camera. So for astrophotography on a star-tracker, it’s an absolute beast – external powerbank coming in, shutter triggering automatically and pixel-shift as a form of dithering on 1-minute sub-exposures, it doesn’t get any better.

I don’t normally much care for brand allegiance – I’ll shift from Olympus to Pentax to Fuji to Sony to Fuji to Canon to Fuji if I think they suit me best at a given moment (over many years, I might add!) – but I can’t help notice this is now the third time I’ve come round to Fuji… it’s almost a habit.

Sunset, Rhue by Arisaig

I wouldn’t be the only person to favour Scotland’s west coast – its beautiful landscape, impressive geology.

After a day exploring outside and around Mallaig, I stopped at Arisaig to catch the sunset and was not disappointed.

First, a couple of obvious scenes at the end of the road, the low warm light skimming lines of rock

I flew the drone a little way out over Loch nan Ceall for a more elevated perspective. The light was turning red, catching the rugged hills nearby

The view out west directly toward the setting sun was particularly impressive

The 360º panorama is one of my favourite art-forms: for best results, the optimum workflow is:

  • choose a location directly above some non-uniform structured area – not just directly above the sea but over a reef, so the panorama can stitch properly
  • think about the contrast-ratio from brightest to darkest areas of the scene; if the sun is visible, use a narrow aperture (f/10 or thereabouts) so the diffraction-spikes cling closer to the sun; choose an exposure such that the brightest part of the scene is just beginning to overexpose – typically you can recover 2/3EV highlights in post but the shadows get noisy fast and with a direct into-the-sun shot the shadow-side can easily require a 3EV shadow-lift
  • shoot RAW DNGs and ignore the JPEG
  • use RawTherapee to convert the JPEGs – apply lens distortion correction and a small amount of tonemapping, maybe even the dynamic-range-reduction module
  • use Hugin to stitch the panorama: optimize for position, barrel distortion and view but not translation; use equirectangular projection and auto-straighten; ensure the FoV is 360×180º (it may be out by 1, ie 179º); use blended+fused output for noise-reduction, unless it introduces stitching edge artifacts
  • finish, including toning and noise-reduction/sharpening, in darktable.

[sphere url=”http://soc.sty.nu/wp-content/uploads/2021/09/PANO0001-PANO0026-v2_blended_fused-0-0017-scaled.jpg” title=”Arisaig sunset over Loch nan Ceall”]

Finally, just as I started the return drive, the sky provided yet more drama to see me on my way:

A selection of the above photos are available on my gallery website as prints, cards, masks and other products: Arisaig on ShinyPhoto.

A Geek in Lockdown

I’m comparatively fortunate that the coronavirus and covid-19 have not affected me or anyone I know directly. Having spent the last 15 years working from home, life has not changed as significantly as it has for others.

So, apart from staying home and doing nothing much, what’s a geek to do to contribute back?

First, contribute data. As often as I remember, I update the KCL/Zoe app to say I’m still alive.

Second, grid computing projects.

There’s a significant amount of computer power available and machines would otherwise spend their time idle. A couple of months before the coronavirus became known, I had already installed BOINC, perhaps the oldest and best-known grid-computing system. As the scale of the Covid-19 problem became more apparent, I discovered the Rosetta@Home project which has been working to predict structure of proteins involved in the disease.

For mobile devices, there is Vodafone’s DreamLab project which similarly uses one’s iphone/ipad/tablet’s downtime to perform computations hopefully to identify drugs to fight Covid-19.

Third, art.

This took a bit of thought, but recently RedBubble who I use for selling my photography added the option of selling masks alongside the usual prints, mugs, etc.

I wasn’t at all sure what to make of it. The idea of profiting off others’ health and necessity jarred with the idea of art being a luxury item. However, a friend pointed out that if face-masks are to become normalized in society, having interesting art designs on could make them more approachable. There’s also the bit where Redbubble match each mask bought with a donation to an appropriate charity. So, a net good thing then.

Inspiration struck and I spent much of the weekend designing an image to represent the coronavirus (using a fragment of its gene sequence as a background, naturally) and even rendering a little video from it, both using Povray, my favoured ray-tracing software from the late 1990s(!). Naturally I made the scene description and other sources available as open-source: the-lurgy (on github).

The “lurgy” design and a selection of other landscape images are available on redbubble as face-masks with a profit margin set to 0.

And of course work continues, producing more photos to go on my website, ShinyPhoto

Assynt, Day 2: Solus Na Madainn

For the second day of my holiday last Autumn, I got up – again! – at a ludicrously early hour and drove from Tongue round to the Assynt peninsula, to my favourite viewpoint for sunrise.

It was some drive.

All the way from Tongue to Loch Assynt without seeing another car. Bliss.

Take the A838 road (abused as part of the ghastly NC500 coastal route) via Durness at 5am in the pitch black, the wind blowing a gale, rain + windscreen wipers on full speed.

Picture avoiding a herd cows intruding across the road. Avoiding more than 10 deer.

At that surreal pre-caffeinated hour of the morning, seeing a signpost advertising “serving local seafood” makes me picture a restaurant waiter taking a scallop’s order at table.
The music of choice was Arcade Fire Mountains beyond Mountains – a song bemoaning city life with its world so small – a mental image contrasting with my surroundings, passing rural Scourie, pop 132 – the sort of place that takes longer to say the name than drive through.

And so I arrived at Rhicarn – the landscape black, clouds a grey plasma, just a little bit windy…

And the sun rose. Quite spectacularly, casting brilliant crepuscular rays from the horizon and underside edges of clouds.

Throughout the sunrise, the light was spectacular – brightly illuminating colourful clouds.

Simple abstract patterns: bright early morning sunlight illuminating clouds a warm yellow/orange.

…and casting a subtle hazy glow over the morning fog across Little Assynt, outlines of hills receding into the mist

Perhaps my favourite image from the morning has to be Suilven, the unmistakable mountain on the horizon, catching a subtle patch of oblique sunlight on a flank.

The unmistakable shape of Suilven (Sùilebheinn) catching an oblique beam of warm early morning sunlight.

Once the sun rose, I explored the Falls of Kirkaig outside Inverkirkaig. A nice long walk through lumpy landscape, to a large thundering waterfall.

Returning to above Rhicarn, clouds had flowed in obscuring the mountains on the horizon, so I experimented flying the drone to admire the surrounding landscape.

There’s something about finding a thin strip of old tarmac that obviously used to be a road – it makes a connection with the story and heritage of a location. From researching on Pastmap, it appears there was not much road here at all throughout the 19th century – presumably a cattle drovers’ track or similar. Then the old tarmac was laid, following a circuitous path around the gneiss rock hills. Finally, some time after the 1960s, a new road, now the B869, was laid through it in a boring straight line, the old route relegated to a carpark yet visible and walkable either side of the road.

I suspect at one stage this might have been nothing more than a cattle drover’s track down to the lowlands, maybe up until the early 1900s; up to 1960 the road was just a thin narrow track of tarmac with a couple of moderately sharp twisty turns in. Since then the B869 has been rerouted into a simple and less inspiring straight line and the old road relegated to a path, some of it widened to form a carpark beside the new. The bedrock is mostly Scourian gneiss, metamorphic, formed 2500-4000 million years ago (and therefore amongst the oldest rock to be found on the planet); down the centre of this view is a line of Lewisian metagabbro, gneissose, also metamorphic, formed 541-4000 million years ago. I’m not sure what the large central depression might be – it looks rather like a quarry, although there’s no evidence of anything on the maps.

Behind this scene, on the way to Clachtoll, lies some beautiful Karst landscape (cnoc’n’lochan or knock-and-lochan), formed by underground erosion of softer rock, leading to a classic pattern of rocky knolls interspersed (almost 50-50 by area) with lochs.

Further along the road lies the Maiden Loch, of which I’ve been very fond since first catching sight of it years ago. That first view was on a sunny afternoon, the sky blue reflecting in the water. I flew the drone over it, to admire the gneiss landscape all the more…

Fantastic scenery: Assynt at its very best. A very windy moment flying the drone above one of my favourite lochs, the Maiden Loch near Clachtoll. The landscape is typical knock-and-lochan Karst formation: shaped by the dissolution of a layer or layers of soluble bedrock, small undulating gneiss hillocks emerge amongst the lochs. In the hazy distance, Suilven cuts its familiar outline on the far horizon.

Some of the above photos are available on my photo gallery website: ShinyPhoto: Assynt

First Munro

I’ve been over 3000′ twice before now – but for one I stopped short of the summit, and for the other we took the ski-lift up, so neither really counts as Munro-bagging.

In the Christmas/New-Year holiday week, friends and I spent a happy day climbing Schiehallion – a mountain we’ve known and photographed for a long time, but actually climbing it was a first, at least for some of us.

We couldn’t have asked for better conditions: fresh but basically dry, all the way up with mist blowing around the summit.

The top third is a tricky scramble over large boulders, but the view was totally worth it – my first Munro, my first glory and Brocken Spectre all in one.

Glory and Brocken Spectre, Schiehallion. Awesome!

On the way down we paused to admire the surroundings – an interplay of light, mist, undulating lochs and landscape and more mountains.


Bring on the mountains – I have climbing to be doing 🙂

ShinyPhoto: New Website

The old ShinyPhoto website was getting a bit long in the tooth. It saw several versions of Python come and go and increasingly suffered from bitrot. (Notably, a mutual incompatibility in the CGI module between python versions; it ran for so long the backend storage engine I used became deprecated with no easy way out but to revert to one I wrote myself – not a good reason to rely on third-party libraries!)

So, for the past couple of months I’ve been learning my way around Javascript and node.js and have replaced the site with a new gallery to show-off my photos.

Being me, it’s a bit geeky. With web-design there are so many angles to consider, but here are a few aspects that stick in the mind:

Technical: no XSLT; this is the first time in nearly 20 years where I’ve used a different templating language – in this case, Mustache since it does need to be able to produce non-HTML data as well.

Learning: there’s a whole ecosystem of node.js packages (NPMs) that have come in handy, from the Express webserver to image-resizing utilities (some of which are faster than others!).

Data: in my more professional work capacity I deal with data-storage on a daily basis, so it has some passing interest. One of the problems with the old site was its inability to extract metadata from images; because this instance’s primary focus is the organization and display of photos, I decided that the JPEG should contain all the data displayed – title, description, geotagging, keywords all extracted from one upload and the less manual editing effort required, the better. Essentially, digiKam is both organizer and implicit website editor on my desktop.

Database: with the unit of data being the JPEG, presented as a page per photo, that maps well into a document-oriented model such as one of the NoSQL JSON-based databases. Unfortunately MongoDB disgraced themselves by choosing a non-open-source licence recently, so I was pleased to discover CouchDB – a modular system sharing protocols (JSON-over-HTTP(S)) and query language (MangoDB) across different storage backends with the advantage that I can start from the PouchDB pure node.js implementation but switch to an external version of the same with a quick data-replication later if need be. So far, it’s coping fine with 1.1GB of JPEG data (stored internally as attachments) and 70MB of log data.

Configurability: several aspects of the site are configurable, from the internal and external navigation menus to the cache-validity/timeout on images.

Scalable: my initial thought was to keep image-resizing pure-javascript and rely on nginx caching for speed; however, that would lose the ability to count JPEG impressions (especially thumbnails), so I switched to a mixed JS/C NPM and now resizing is sufficiently fast to run live. The actual node.js code itself also runs cleanly – feels very snappy in the browser after the old python implementation.

Metadata/SEO: the change of templating engine has meant specific templates can be applied to specific kinds of pages, rather than imposing one structure across the whole site; different OpenGraph and Twitter-Card metadata applies on the homepage, gallery and individual photo pages.

Statistics: lots of statistics. There are at least three aspects where statistics rule:

  • the usual analytics; it’s always handy to keep an eye on the most-popular images, external referrers, etc. The site uses its own application-level logging to register events on the page-impression scale, so the log data is queryable without having to dig through CLF webserver logs.
  • how should a photo gallery be sorted? By popularity, by date? Do thumbnails count? What about click-through rate? The new site combines all three metrics to devise its own score-function which is recalculated across all images nightly and forms the basis of a display order. (It surprises me that there are photo-galleries that expect people to choose the sort order by hand, or even present no obvious order at all.)
  • how should a photo-gallery be organized? My work is very varied, from bright colour to black and white, from sky to tree to mountain and water, from fast to long exposure, from one corner of the country to another, as the landscape leads; I did not want to impose a structure only to have to maintain it down the line. Accordingly, the new ShinyPhoto is self-organizing: within any slice through the gallery, a set of navigation tags is chosen that splits the images closest to half. Relatedly, the images on the homepage used to be a static selection, manually edited; now they are chosen dynamically by aspect-ratio and score.
  • Marketing: some aspects of the layout now enjoy a/b testing – no cookies required, but another hash function determines the site appearance and I can check which work best over time.

So far, it’s proving pleasantly easy to live with; apart from the continual debugging and adding of new features – fortunately now slowing down – I’m adding photos at a rate of a handful a day both to the site and to a new RedBubble account in case anyone wants to buy them, one way or another.

So apparently I now like the whole node.js ecosystem. It’s blown away the cobwebs of running – or more accurately not-running – a legacy website, whilst retaining full control of the appearance and structure of the site not handing that over to some third-party site designer.

A good way to start a new year, methinks.

Caithness Holiday Day 5: Badbea Clearance Village

An unusual choice of place to visit on the last day of one’s holidays, but an important monument to Highland/Caithness history nonetheless, and one ideally suited to a bleak cold foggy day, too.

Forced off the land as part of the Highland Clearances, people from the surrounding areas (Ousdale, Auchencraig) sought refuge at Badbea. Not the most hospitable area to try and make home, situated right on perilous cliff-tops in a location so windy the cattle and even children had to be tied down to stop them being blown away.

The bleakness certainly suits black and white.

Caithness Holiday Day 4: Duncansby Head and Stacks

Ignoring the previous post about offensive misuse of woodland, my fourth day of the holiday started out pretty well, with a trip to John o’Groats – awful tourist-trap of a place but at least they’ve renovated the hotel since I was last there and the ice-cream (2 scoops) was excellent. 

The sea stacks themselves are pretty awesome to behold, middle red sandstone showing evidence of having formerly been attached to the land but eroded away by the sea.

We proceeded to Duncansby Head – ignoring the lighthouse, walking down the coastline to the sea stacks. On the way, a large group – maybe 60 folks – were crowding some of the cliff-tops looking south, watching a small pod of Orcas swimming off distant headlands. Unfortunately the one kind of lens I didn’t have with me then was a long zoom – but the shouts of joy when one of the orcas blew or jumped were incredible.

On the way back, a disturbance in the water just away from the cliffs caught my eye: a peculiar kind of standing wave with the shape staying more or less constant. Obviously a conflict of two tides, one running along the north coast between the mainland and Orkney, the other flowing up the North Sea; on checking wikipedia later, that corner of the Pentland Firth is known for two tidal races, the “Duncansby Race” and the “Boars of Duncansby”. 

Wave interference – a standing wave pattern at the eastern end of the Pentland Firth – a tidal race as the east/west and north/south currents conflict around Duncansby Head. I’m not sure if this is the Duncansby Race or even the Boars of Duncansby, but it caught my eye as I was heading back up the coast.

Caithness Holiday Day 4: when a forest is not a wood

Sometimes I have to tell it like it is. Dunnet Forest is one of the least pleasant collections of trees I’ve ever had the displeasure of walking through. From start to finish, a total misuse of the land.

Within 50yd of the carpark are multiple signs warning owners to pick up after their dogs and to use the bin, even with the emotional manipulation that excrement left around could blind a child.

The woodland itself is awful – monoculture spruce with barren lack of undergrowth.

The only burn I saw was a stretch of ~70yd of stagnant scum-covered sludge, vibrant orange with industrial pollution.

There is a reek of unjust hypocrisy about the whole affair: one cannot help but think, even if there is some credibility in the idea of a small kid putting something off the forest floor in their eye, by surface area and decay-rate alone, they would be far more likely to encounter danger in the polluted stream than from anything left behind by a dog – which would, if anything, go some way to re-fertilizing the abused ground beneath the trees.

Toward the end of the ill-defined loop route are several sculptures carved out of the remains of some of the tree trunks. You’ll have had yer entertainment then – but not your walk in nature.

I could not escape fast enough.

The Annoyance of Greenpeace

These trees are no longer standing either

For a couple of years now, I have followed Greenpeace UK on Facebook. From what I can see, their environmentally friendly missions and aims are generally laudable.

But I am having a big problem with their methods. Here are three topics about which they have posted from the last year:

There’ll soon be more plastic in the sea than fish
What I approve of: the implicit attempt to reduce plastic pollution – not even just because it works its way back up the foodchain, but because no animal should suffer anywhere
What I disapprove of: the sensationalist attention-grabbing and meaningless headline – do they mean: by count; by mass; by volume?

Tell Volkswagen to stop making diesel cars now!
What I approve of: the move toward sustainable, ie electric, transport. I even had an electric car earlier in the year, and am just waiting on one that goes somewhere other than 20mi to Stirling.
What I disapprove of: the sensationalist attention-grabbling headline; the complete failure to mention that VW have had electric cars available for years (eGolf; various GTE hybrids), having increased the number of models around the group (Audi e-tron, etc) and are committed to producing increasing numbers in the next few years (the forthcoming I.D. range, some of which are quite interesting).

“From chocolate to toothpaste, these everyday products could contain #DirtyPalmOil. Time to tell companies to stop forest destruction”
What I approve of: preserving forestry, especially native tree species
What I disapprove of: the attention-grabbing headline; the complete failure to mention that Colgate-Palmolive (the “toothpaste” company indicted in the above) do not list palm oil in their ingredients and already have policies in place for “no deforestation” and specifically for sustainable behaviour regarding palm oil including along their supply chain.

A person blindly following their calls to action would at best have wasted their time on either writing some kind of letter or, even less fruitfully, a “petition”; at worst when the company refutes the argument, they’d rightly feel like a fool.

It seems the Greenpeace Method is to selectively ignore half the facts and present a logically fallacious appeal to emotion.

That’s a dishonesty I cannot support, so I’m out.

Frame interpolation for timelapse, using Julia

A long time ago I wrote a python utility to interpolate frames for use in timelapse. This project was timelapse.py.

Back in 2014 I ported the idea to the very-alpha-level language Julia.

In recent weeks Julia released version v1.0.0, followed shortly by compatibility fixes in the Images.jl library.

And so I’m pleased to announce that the julia implementation of my project, timelapse.jl (working simply off file mtimes without reference to exif) has also been updated to work with julia v1.0.0 and the new Images.jl API.

Usage:

zsh/scr, photos 11:32AM sunset/ % ls *
images-in/:
med-00001.png med-00022.png med-00065.png med-00085.png
med-00009.png med-00044.png med-00074.png

images-out/:

zsh/scr, photos 11:32AM sunset/ % ~/j/timelapse/timelapse.jl 50 images-in images-out
[1.536147186333474e9] - Starting
[1.536147186333673e9] - Loading modules
[1.536147201591988e9] - Sorting parameters
[1.536147201648837e9] - Reading images from directory [images-in]
[1.536147202022173e9] - Interpolating 50 frames
[1.53614720592181e9] - frame 1 / 50 left=1, right=2, prop=0.11999988555908203
[1.536147217019145e9] - saving images-out/image-00001.jpg
[1.536147218068828e9] - frame 2 / 50 left=1, right=2, prop=0.24000000953674316
[1.536147222013697e9] - saving images-out/image-00002.jpg
[1.536147222819911e9] - frame 3 / 50 left=1, right=2, prop=0.3599998950958252
[1.536147226688287e9] - saving images-out/image-00003.jpg

...

[1.536147597050891e9] - saving images-out/image-00048.jpg
[1.53614761140285e9] - frame 49 / 50 left=6, right=7, prop=0.880000114440918
[1.536147615090572e9] - saving images-out/image-00049.jpg
[1.536147615649168e9] - frame 50 / 50 left=6, right=7, prop=1.0
[1.536147619363807e9] - saving images-out/image-00050.jpg
[1.536147619960565e9] - All done
zsh/scr, photos 11:40AM sunset/ %

zsh/scr, photos 11:51AM sunset/ % ffmpeg -i images-out/image-%05d.jpg -qscale 0 -r 50 sunset-timelapse.mp4
ffmpeg version 3.4.2-2+b1 Copyright (c) 2000-2018 the FFmpeg developers

...

zsh/scr, photos 11:51AM sunset/ % ll -h sunset-timelapse.mp4
-rw------- 1 tim tim 4.9M Sep 5 11:46 sunset-timelapse.mp4

Focus-Stacking with the Fuji X-H1

For years I’ve been a fan of superresolution – taking multiple images of a scene with subtle sub-pixel shifts and upscaling before blending to give a greater resolution photo than any one source.

One of the features I used occasionally on the Pentax K-1 was its pixel-shift, whereby the sensor moved four times around a 1px square; this gives an improved pixel-level resolution and full chroma detail at each point.

Having exchanged that for the Fuji X-H1, I still look to perform super-resolution one way or another. Hand-held HDR always works – in this case even better than either the K-1 or the X-T20 because the X-H1 permits 5 or 7 frames per bracket at ±2/3EV each, which is ideal.

But I thought I’d experiment with a different approach: focus-stacking. This way, the camera racks the focus from foreground to background in many fine steps. Keeping the focal-length the same, the effective zoom changes subtly between successive images. Essentially, where hand-held HDR varies the position stochastically in an X-Y plane, focus-stacking means pixels from the source frames track a predictable radial line in the superresolved image.

The X-H1 has focus-bracketing but leaves the blending up to the user in post. That’s OK.

First, an overview of the scene:

Scene overview: Fuji X-H1, 18-135mm lens at 127mm, f/8 narrow DoF

The X-H1 made 50 frames, focussing progressively from front to back. These were blended using enfuse:

time align_image_stack -a /tmp/aligned_ -d -i -x -y -z -C [A-Z]*.{tif,tiff,jpg,JPG,png}
time enfuse -o "fused_$base" /tmp/aligned_* -d 16 -l 29 --hard-mask --saturation-weight=0 --entropy-weight=0.4 --contrast-weight=1 --exposure-weight=0 --gray-projector=l-star --contrast-edge-scale=0.3

The results are a little strange to behold – while the effective DoF is much increased (the distant wood texture is clear) the rock detail is quite soft; I suspect some of the above numbers need tweaking.

However, with a bit of work – both enhancing the local contrast and using in-painting to tidy up the rock itself – a pleasant image emerges:

The final polished result: banded rock on wood, Fuji X-H1

A definite improvement. I may have to use it in my landscape work a bit 🙂

A brief flirtation with electric vehicles

The world of EV ownership is fraught with systemic problems, chief among which being range anxiety. Actually – it’s calling it range-anxiety that’s the problem; concerns about range are very legitimate. Some of the biggest sources of friction between EV enthusiasts and skeptics are the assumptions that an average commute distance is a meaningful quantity; that people should be prepared to plan their driving around charging points; for longer trips to less over-populated areas where the distance between chargers is an appreciable proportion of the battery’s range, either ignore the risk of being stranded or swap to diesel (an admission that EVs aren’t up to the job yet).

If that’s all I said, I’d just be trolling. But I put my money where my heart was.

40kWh => 150 WLTP miles was the barest minimum range I could consider for my driving (mostly photo-hunting expeditions). Christmas and New Year were spent oogling pictures of shiny interiors online. Caught the bug.

She was called Aoife. Aoife the Leafy. Aoife the brand-spanking-new Leaf 2018-model Tekna-with-extra-bells-on spec shiny green Leafy for which I fairly emptied the personal piggy-bank back in February (when they’d only been G/A for a week) and gained keys-in-grubby-paw at the end of March.

Three days later we’re back. Would help if they connected both ends of the brake light cable. Would also help if they’d enabled the SIM card.

There followed 4 weeks of blissful silent driving. 7kW charger installed in the garage. Solar panels providing free miles. We went places: Argyll and back (scary when the weather changed and the battery got low); Kingussie and Alvie; Livingston and Tillicoultry; twice-weekly trips to nearest town and back – the closest I have to a mythical “commute”.

On May 4 we set sail for a round trip of down-south-shireâ„¢, got as far as Abington, tried to use an Ecotricity charger, bang, whole EV system dead.
Much of that day was spent walking Dog in a field behind Abington services whilst organising RAC, Nissan and RAC car hire on the phone.
Needed flat-bed all the way back to the dealer – Dog in Aoife’s boot with the windows dropped as we travelled north on a sunny day while I panicked about him all the way from the front cab. Second set-off was 6.5hr later than intended but we made it to Sussex with 3mins to spare before midnight. Vauxhall Ashtrays really do suck – that one was named the Chemical Toilet for the stench of Domestos. We did 1079mi that weekend in it, though.

Relay in the battery gone bing.

Over the subsequent 3 weeks the dealer decided their own screwdrivers were insufficient so it was taken to Edinburgh for major works; on the way there or back the haulage company dented the wheel-arch trim with the webbed rope, which took another week for the dealer to fix.
On May 25, in time for the second bank-holiday weekend, I collected Aoife from the dealer, got not even 30mins up the road before the ProPilot went bing as well.
Back to the dealer, this time with Dad in tow to lend a little clout.
My end-May holiday week in Caithness was spent, not gliding around serenly from planned charger to planned charger, but polluting the planet a petrol auto Juke, being the only thing the dealer had to offer at short notice.

On return from the wilds up North, the dealership were understanding; the sales manager suggested redoing the whole order from the top, create a new Aoife, try again and do it right this time. Either that or refund the whole lot. Those were my top two options as well.
Then the lead-time exploded from “6-7wk” to “Oct/Nov”.
At this point, rumours abound of next year’s Leaf including a 60kWh model which is far more attractive.

I negotiated with Nissan HQ directly concerning a “soft Breggsit” that would see me slide from Aoife to next year’s Leaf ASAP but the best package they could offer had no certainty – would require 4 dice to land 6s for satisfaction, including it not going bing again in the meantime; they wouldn’t be drawn whether it would come in a 60kWh version or not. In short, nothing I couldn’t do better by stepping away and approach whole market fairly afresh next year.

So that fell through, and a couple of days ago (after 6wk in the bad Joke, and more importantly after only having driven Aoife for 4 out of 14 weeks “ownership”) I finally signed the paperwork for a buy-back. (That’s what they call a refund where they tell you they’re retaining half your original deposit as the cost of ownership for the two “months” that you’ve “had” the car.)

That’s the story. My first ever brand-new car. My first EV. My first time of rejecting a car for being both unreliable and not really adequate after all. All in one. What would normally be a 3- to 4-year ownership cycle speeded-up 12x in so many months.

Today we collected Smith – back to a Hyundai diesel i30, which works – named for the agent who takes 3 movies to fleetingly escape the Matrix. Next year I shall reassess the market; Nissan can just compete alongside everyone else.

A little more on the systemic side. Here’s what I’ve learned.

1) People expect to be able to load up a car with range-reducing 8l of water, food, spare windscreen squirter juice, range-reducing weighty cameras and throw the range-reducing dog in the boot and go away exploring for a few days. Doing our own thing, where we like, when we like, not refuelling too often nor too long. Not subjecting the dog to undue stress in the process. Best not to try and persuade people they want otherwise.

2) Someone needs to consider the privacy aspect of these remote control apps. By tracking its location, I now know which panel-beater company was used and where a technician lives.

3) The specifics of each adventure pale into insignificance compared to a whole ownership experience. The good old-fashioned qualities of customer service and reliability are invaluable.

3b) All the humans involved have been pleasant and helpful and well-meaning, making the right decisions to keep me rolling one way or another – but somewhere along the line there is institutional inefficiency with things taking way too long to process.

4) There are features and there is marketing. ProPilot is something and nothing – together it’s a new marketing word for Level 2 autonomy but in reality it’s nothing more than adaptive cruise-con with lane-departure warnings and nudges, only good for motorways, and when it goes wrong you’re just as scuppered as when anything else goes awry. More notably, the electric seats missing from the Leaf’s specs table are the exact same electric seats you could’ve had in an ICE vehicle 10yr ago or more; ditto the sunglasses holder in the ceiling that isn’t there but has been standard for a while. Likewise the adaptive cruise-con is nothing new. These things are all worth 1 tick in the box on the spec-sheet, no more. Beware the marketing kool-aid; shop with a very level head.

 

Spittal of Glenshee

I don’t remember much about the hotel in Spittal of Glenshee – I suspect I saw it a few times when passing by up the glen, but that’s about it. I didn’t have recourse or time to visit the area for a few years, during which time it burned down in 2014 – quite a transformation, leaving the land just fenced-off to decay.

Nice setting:

As an aside, a friend and I were recently nattering about the saturation slider and how there’s always a temptation to overdo it. I mentioned that some images seem to “resonate” at multiple spots across the saturation axis – maybe fully saturated like slide film of old, maybe flatter like colour neg film of old, maybe artistically desaturated, maybe full-on black&white. The above image seems to work at 3 degrees.

Funky ruins: