Test Card F Prototype

One of my favourite websites is Mikey Bennett’s Vintage Technology page. I love looking at all the vintage television sets Mikey has lovingly restored back to full working order. If your old Bush has lost its colour or your horizontal hold is ruining your enjoyment of your Rank then Mikey’s your man.

Mikey on an experimental 1969 3-D television

A few years back Rory Clark created a very entertaining DVD to demonstrate all the sets in the South West England Vintage Television Museum collection that Mikey curates. The DVD featured a range of test cards and tuning signals from the very old up to the present day accompanied by a selection of tones and music. Although it has given sterling service since then, Rory wanted to create an updated and expanded DVD for Mikey.

One of the cards Rory wanted to include this time was a prototype Test Card F featuring a rather different picture in place of Carol Hersee. Here’s the original:

String vests have never photographed better

Unfortunately the surviving scan of the card wouldn’t really show off Mikey’s television sets to best effect as it has faded quite considerably – the grey linearity squares had a distinctly reddish cast and the green castellations in the reference generator area had almost gone black. Therefore Rory asked me if I could recreate the card.

To do this, I used Inkscape as I only draw items in Flash now if it’s completely unavoidable. This is what I came up with in Inkscape:

She’s gone. Was it something I said?

The hardest job when recreating the card was doing the hand lettering on the caption. I did experiment to see if I could get away with using Benguiat Condensed, but it simply didn’t look close enough. In the end, the lettering took as long as the whole of the rest of the card.

It’s interesting to see the differences between this card and Test Card F. A good place to go to find out what’s missing is Alan Pemberton’s Pembers’ Ponderings website. He has two clickable Test Card Fs which will tell you exactly what each part of the card does.

I can’t wait to see how Rory “distresses” the my Inkscape drawing to make it look like a real transparency on the finished DVD.

BBC on the BBC

Over the past few days I’ve been converting nitrofurano‘s image filters from stand-alone sdlBasic programs to Python-Fu image filters for The GIMP. But, so far, there has been a particularly noticeable absence – the BBC Micro.

Partly that was because the BBC Micro world has already been utterly spoilt in the image conversion department by Francis G. Loch‘s incredible BBC Micro Image Converter. It’s a highly professional piece of software and does it all. I’ve posted about it many times here and the work I’ve done for Retro Software would have been utterly impossible without it.

BBC Micro Image Converter by Francis G. Loch

But partly it was because Francis’ program had inspired me to try and find out more about the mind-boggling array of dither options he had included in his program. It boasted a host of exotic sounding names like “Floyd-Steinberg”, “Sierra”, “Jarvis, Judice and Ninke” and “Stucki”.

Paulo had used a technique called Bayer ordered dither in his filters, which is similar to the traditional half-toning used in print. It’s very powerful, very fast and gives you a lovely regular patterned effect on the images, which is sometimes just what you’re after.

Naturally, Francis’ BBC Micro Image Converter does this as well. But these exotic sounding names were the inventors of various flavours of another technique: error diffusion.

Error diffusion works by trying to compensate for the colour information lost by turning a pixel into a value from a restricted palette by sharing it out amongst the surrounding pixels.

After looking at the Wikipedia entry for Floyd-Steinberg, it looked like even I could understand how to program it and then after finding an excellent article here I realised that all the other filters did exactly the same thing. They just shared out the lost information (or quantisation error) to different pixels in different proportions.

And, after a couple of hours messing about in Python, I managed to get out a servicable MODE 2 image (click on the images to enlarge):

Floyd-Steinberg error diffusion, 100% strength

You can see just how effective error diffusion is when you compare the results to the same image processed with no error diffusion:

The same image with no error diffusion

Here’s the original image for comparison:

I’m the one on the right

I excitedly added a range of different filters into my BBC Micro image filter:

Take your pick!

There was a problem though. Sierra3 was taking well over 70 seconds. This sluggishness was caused by the inefficient way in which I was checking that a pixel was within a certain range in Python.

Sierra3, 100% Strength – and very slow!

An error message I had been getting during development rather ironically proved to be the key to solving the speed problem. Instead of using time consuming range() functions to see if pixels were inside a particular range, I could use exception handling and check for an IndexError instead. This was very fast – it sped the filter up by a factor of at least four. Mind you, it still crawls along compared to Francis’ version!

The next thing I needed to add to the filter was something called “Serpentine parsing“. This means that instead of processing the image from left to right as it moves down, the computer processes the image backwards and forwards. This helps to stop all the error diffusion going in just one direction – smearing all the errors to the right.

Finally, pinching another one of Francis’ excellent ideas, I added a strength control to the filter to allow you to control how strongly the error diffusion works.

Finished interface

Here is Test Card F with 50% Floyd-Steinberg error diffusion strength:

Floyd-Steinberg error diffusion, 50% strength

And here it is with 25% Floyd-Steinberg error diffusion strength:

Floyd-Steinberg error diffusion, 25% strength

So, a BBC Micro Mode 2 image filter for The GIMP, that can be downloaded from here. However there are numerous refinements that need to be added to it. But they will have to wait for another day.

Test Card F Copyright © 1967 BBC, ITA and BREMA.

Probably The Ugliest Test Card In The World

When I drew my recreation of the IBA electronic test-card ETP-1 in Macromedia Flash, I only captioned it with the large IBA caption.  As I only needed the card to recreate an HTV start-up sequence, I never bothered adding the two best known captions that appeared on the card – for Channel Four and S4C.

IBA ETP1 recreated in Macromedia Flash 8

This always annoyed me, so whilst I was listening to a podcast this morning I finally decided to finish it off. I used Inkscape to draw the lettering – I’ll export it as an EPS file for import into Macromedia Flash at a later date.

Beautiful calligraphic script

If you enlarge the image below, you will see that letter is designed on a 10 x 10 pixel grid, with 2 pixel leading between each letter.

Snap to Grid and Clone Object are your friends

Now all I need to is some KPM tracks by Keith Mansfield and I’m back in the early 80s again.

Test cards and Tuning Signals

One of the best ways of improving your skills with a vector graphics editor is to try and produce a test card using one. Producing test cards helped to hone my skills in Flash enormously, so I thought it was about time I tried to make one up in Inkscape to see how I got on.

The card I chose was the original BBC/ITA/BREMA Test Card D, from 1964. This is because I had a very good quality scan of an original held in the Transdiffusion archive.

One of the things I found different was that in Flash I often used to set the “origin” of my drawing at the centre of the screen. In Inkscape I couldn’t do this – the origin is always the bottom left hand corner of the document. Of course, what I could have done was create my drawing with the origin at the centre and then positioning it properly in the document at the end, but I didn’t think of that!

The main thing I got out of the exercise was that in Inkscape the “Align” panel really is your friend. It makes positioning regularly arranged shapes really easy. Most of the work in this picture was done by simply drawing shapes and then arranging them one of the numerous Align options.

The gratings (the stripey bits) in the centre of the card are simply boxes containing reflected gradient fills.

Completed “Inkscape” Test Card D

After doing a test card, I decided to have a bash at a tuning signal. The one I particularly wanted to try was the ITA “Picasso” card. This was very quick – it took no more than an hour to complete.

 Picasso in Inkscape

However, once I’d completed it I wanted to add some captions to it, and this is where the problem started. The original issue of the Picasso card was captioned in a weird mutant grotesque font. No font I had or could see available to buy really matched it, so I decided to make my own in Inkscape and FontForge using pictures of as many genuine Picasso cards as I could as reference material.

 The “Picasso ITA” font

Then, all that was left to do was a bit of what my friend Rory Clark calls “distressing” in The GIMP and I was all done.

Click to enlarge
I’ve released the font under CC-BY-SA and it is available to download from here.