Thursday, 25 November 2010
Monday, 22 November 2010
A few weeks ago, I presented the HECToR scientific visualisation training course to a group of researchers at the University of Reading. This course looks at the use of visualisation as a tool for the improved understanding of numerical data (as produced, for example, by calculations or simulations run on HECToR). We started by exploring the different types of data - characterizing each according to its structure, dependencies and dimensionality - before reviewing the different visualisation techniques (such as contouring, particle tracing, volume rendering) that are applicable to each type. Some examples of the techniques, used to display a variety of data types from several application areas, are given in the figures below.
Next, we briefly reviewed a few applications for performing visualisation, of which there are a plethora in both the public domain and commercial arenas. Some of these have comparable functionalities - thus, for example, Figure 1 was produced using IRIS Explorer, ADVISE was used for Figure 2, and Figure 3 was created with ParaView. The plot in Figure 4 (which illustrates the use of a routine from the NAG Toolbox for MATLAB®) was made using MATLAB.
Figure 4 can be used to demonstrate another aspect of the training course - namely, the highlighting of good and bad practice in visualisation. Depending on the resolution of the display medium for the figure, it is usually apparent that the blue solid curve is easier to see than the dashed green one. This may not necessarily be a significant effect, although you might be reminded of other instances you've seen in presentations where - for example - a yellow curve has been rendered more or less invisible by being displayed against a white background, or a blue curve against black. In general, it can be surprising how little attention is apparently paid to issues such as clarity and reproducibility in visualisations by users who've spent a lot of time generating and checking their results, only to see their impact lost or impeded because of a poorly-designed display.
As alluded to above, one of the things that should be taken into account when designing a visualisation is the use of colour. Indeed, Figure 3 also illustrates how care should be taken when selecting colours: many viewers will find its juxtaposition of the red surface against a green background difficult to look at (try reading green text on a red field - or vice versa - for a further illustration of this). The way in which we perceive colour is a complex subject, but one salient point is that, whilst our eyes see absolute colours, our brains perceive differences in colours - i.e., the appearance of a colour depends on its surroundings. This apparently surprising fact underpins the workings of a whole range of optical illusions, of which my current favourite is the so-called same colour illusion:
Looking at Figure 5, it can be difficult to see that the two orange circles are the same colour - although, bearing in mind the discussion above, most people would probably accept it. But what's much harder to believe (although it's also true) is that the squares which surround them are also the same colour as each other. The reason we perceive them as different is that they have different surroundings (and also because of the way in which our brains try and compensate for the effect of shadows).
Demonstrations of illusions such as this (and the examples of good and - mostly - bad practice in visualisation) made the training session quite a lively one. In fact, I suspect that - notwithstanding the undoubted fascination that can be exerted by the study of visualisation techniques and applications - this was the part of the presentation that lingered longest in the minds of many of the attendees. I could be wrong, though.
Wednesday, 17 November 2010
Anyway, along came a dapper fellow wearing a baseball cap who started a converstaion about the way standards were being implemented in the NAG Fortran compiler. I asked whether he was interested in using Fortran. "Well, I used to be", he said. Belatedly I looked down at his name badge. It turned out to be Tom Lahey, founding father of the Lahey Fortran compiler. What could I do but shake his hand and bow.
The show moves around different cities in the United States. This year SC10 is in New Orleans, Louisiana, and running from 14th to 21st November, with around 10,000 registered attendees. It's the 23rd outing since the first one which took place in Orlando, Florida in 1988. NAG has attended every single one of these events, and is one of just a handful of outfits to do so.
New Orleans was founded in 1718 by French speculators interested in making money from trade and finance, and named after the then French Regent, Philippe, Duke of Orléans. In the mid-eighteenth century it was ceded to the Spanish. They're the ones who actually created most of the characteristic architecture in the heart of the city now known as the French Quarter. In 1801 it returned to French control, only to be sold to the United States a couple of years later as part of the "Louisiana Purchase". In more recent times New Orleans was badly hit by Hurricane Katrina, and there's a nice museum detailing all the sad events of that calamity next door to St. Louis' Church in downtown New Orleans.
So, SC is always a great place to find out about the latest developments in computing technology, talk to NAG customers, meet old friends and make new ones, and this year is no exception. By the way, if it's not too late and you want to come to talk to us, the NAG booth is number 3131 in the exhibition hall.
The trouble is the parties. They start on the Sunday evening, with the "Exhibitors' Party". This is open to anyone with an X on their name badge, meaning that they're working one of the booths in the exhibition hall. The food is piled high, and there's enough drink to float the Queen Mary.
Monday evening is the "Opening Night Party", which is at the nearby Metropolitan Night Club. A jazz band plays the hits of Fats Domino, Louis Armstrong and other New Orleans greats. The food is piled high, and there's enough drink to float the Queen Mary.
Tuesday evening. Two big parties going on, one hosted by Cray and AMD which takes place in a ballroom at the Marriott Hotel, and one hosted by SGI and Intel, which is at Pat O'Brien's Bar on Bourbon Street in the French Quarter. In the interests of vendor neutrality, of course NAG staff must attend both parties. O'Brien's has another great jazz quartet playing, and is famous for "The Hurricane", a drink containing rum and a secret mix of fruits and spices. It's lethal, and guess what, there's enough of it to float the Queen Mary.
There are more parties to come. So, although we have the compensation of being able to learn more about what NAG users want in the way of fast numerical software, and finding out what our contemporaries are working on, the fact is, we've all got blisters on our feet from walking between the different parties.
It's a hard life. But someone's got to do it.
Thursday, 11 November 2010
I’m someone who enjoys talking with people at exhibition booths and the International High Performance Computing event, which is being staged next week (http://sc10.supercomputing.org/ ), will provide good opportunities.
Here is a chance to spend time with many current and future users of NAG products and services as well as with NAG collaborators. Attendees at this conference and exhibition work in such a variety of different areas that the conversations are always fascinating and informative.
Meeting with people face-to-face inevitably triggers more new ideas, and results in innovative solutions being created faster, than any electronic communication method.
I look forward to meeting some of you there (NAG have Booth #3131 – right at the heart of the main hall).
Friday, 5 November 2010
As I was being asked to write this blog post my brain awoke from it's number crunching stupor and I realised that I couldn't think of anything to write. The past few hours of sitting, programming in front of a computer seemed to have wiped out the artistic half of my mind.
I know at least for myself that staring at a monitor seems to obliterate all of my thoughts until I've finished the click clacking and click clicking of my current task and I can finally put blessed ink to physical paper to plan my next step.
So in order to re-enliven my thinking and my creativity, I sought a nice picture of a stunning scene. There's nothing like the beauty of creation to awaken something deep in your heart.
As I was quickly sketching the above picture to get the other half of my brain warmed up to it's full creative potential, I started wondering about creativity in programming.
Firstly there is the beauty of the written code itself, the ideas encapsulated within it and the intelligence of the design. Secondly there is the created product of what the non-technical viewer might see, such as a website, 3D artwork, mathematical art, 3D movies etc.
There is creativity in all that we do, and no less in programming. It is very satisfying to have finally cracked a problem successfully, and even more so if you can look at the flow and structure of your program and know that it is good and pleasing.
But despite the beauty that can be found in computer generated output or even in code (if you are able to comprehend it) I think I will always have to turn to a beautiful, fiery, ruby red sunset, or the playful sound of a nearby splashing stream as a way of awakening my heart.(photo kindly contributed by Paul Wilson from his flikr account)