Friday, 26 September 2008

Completing a PhD

I always thought that the objective of universities was to foster creative, innovative, and conceptual thinkers. As I near the end of my PhD, I feel as though all of my innovative and creative thoughts have been driven out of me but not into the thesis. Instead, I am being told just to do as my supervisor says and don't try anything new. A PhD is about being certified as a researcher in a particular research paradigm. Learn the rules of the paradigm and don't shake the boat.

In my teaching, my objective has been to develop people who can think through the issues and reason their way to solutions based on having a sound conceptual framework. If as a result of this learning, the person challenges my thinking or takes a different approach based on sound reasoning then I should be pleased since they are showing the initiative that I am trying to foster.

The closer I get to the end of my thesis, the more I feel that I am trying to guess what my supervisor wants and want the examiners might want. What those objectives are become clearer with each interaction. With each lot of feedback, I realise just how much time I have wasted by being a free thinker and by not having allowed my supervisor to dictate the steps to this point.

Here is my advise to a new student on how they should approach a thesis. I would recommend that you:

  • learn what is of interest to your supervisor,
  • learn how they approach their research,
  • seek to find a way to extend their work or to pursue something that is what your supervisor want to explore,
  • follow a research method that your supervisor would use,
  • uncover the reasoning that your supervisor has for the research questions and research method,
  • follow the structure that your supervisor expects when writing it up,
  • learn your supervisor's approach to writing by writing papers with them along the way and reading all the papers that they have had some influence in writing, and
  • don't pursue anything that you might be interested in and your supervisor has no interest in.

The bulk of your learning is related to learning about your supervisor and their methods. In Thomas Kuhn's (1996) terminology, you are learning the research paradigm and becoming indoctrinated in the ways of that paradigm. Thomas Kuhn argues that a student learns the methods of the paradigm and what is or is not acceptable for the paradigm. They are not expected to challenge the paradigm or to draw on alternative paradigms. The student is to conform in order to join the community. If they don't conform then they will not receive the accreditation to become part of that community.

The bottom line is to ignore any thoughts that you might have that challenge the paradigm. Just accept it and use it. Once you are indoctrinated then you can indoctrinate others.


Kuhn, T. S. (1996). The structure of scientific revolutions (3rd ed.). Chicago: University of Chicago.

Saturday, 20 September 2008

Panorama Stitching

Since my last report on stitching panoramas, I have been out and taken a number of new sequences. I am discovering a range of issues that influence the quality of the final panorama. Some of these relate to the technique used in taking the images that compose the final image. Other relate to the stitching process itself.

When I go out to take an image, I now try and set the camera to manual for all settings. The reason is quite simple. Any change in focus or exposure can cause problems in the final stitched image. The same applies for adjustments in the white balance. I had mainly thought that this applied when taking photos under artificial lighting when the light temperature is lower and you are left with an orange tinge in the photos. However when taking a sequence of photos that make up the spherical image, the camera if set on auto white balance makes decisions about the nature of the light temperature and adjusts the image colours as it believes are required. The solution is simple. Never leave anything to be set automatically by the camera. Take control and set everything yourself.

Some of the stitching programs can compensate for some of these problems but not all. If the image is out of focus then it is out of focus. No attempt to improve it using software will resolve the problem. A change in focal length can be handled by a stitching program such as Hugin but if the change is too great then you might have gaps between the images. The stitching program can't full in the gaps. The panotools that are used by Hugin will also attempt to correct exposure problems by attempting to match the histogram of the the portions that overlap and adjusting one of the images to that revised exposure. However, this can lead to other problems. In effect, the less patch up work that has to be done in the processing work flow, the better.

Adjusting the camera settings to manual doesn't solve the change in light conditions that occurs when taking an image while the sun is setting (see the Days Bay wharf panorama). As the light fades, there is a need to adjust for the change in tones caused by the change in the amount of light available and possibly the change in colour of the light (i.e. a change in the light temperature). This is difficult to achieve manually and the automatic options simply compound the problem. With the Days Bay wharf sunset, the problem can be seen in the nadir image at the top of the sphere. It simply doesn't seem to match. I need to explore the blending options because I am not sure that these have been applied in a way that might resolve the problem.

The second issue in taking these images are movements in the camera positioning. I ensure that the tripod is level and endeavour to ensure that it won't move but even leaving your hand resting on the camera can change the camera angle by one or two degrees. This seems to have more impact when this angle change in the vertical dimension. Hugin provides a facility to find control points but the default option failed to find points between layers. There are also alternative programs that can be used from within Hugin and it can be time consuming testing each of these options. You also land up with a clutter of files that contain the definitions of the control points between the images.

As someone who wants to focus on the photography and not the processing after the event, I find this quite frustrating.

The long wait between drinks

It can be difficult waiting for a clear direction in terms of how one should use your abilities and understanding. We are being tested in this respect at the moment.

I went through the interview process for one position, completing a number of programming exercises along the way. I was informed that I was next on their list to be employed because I had exceeded their expectations. However, contractual requirements meant they needed client approval to expand the team. That approval wasn't given so I was informed that the position was no longer there but that they would act as a referee for me.

Since then, I have been through another two interviews for possible positions with another organisation. Again not an outright 'no' but rather there is no position available at this time that matches your talents. They indicated that they would advise me if anything did come up that might be suitable. Maybe the economic uncertainty is beginning to impact some of these organisations.

Each of these is a blow to my confidence. Sure I lack experience in the use of some of the tools currently used in industry but when given the opportunity, I have usually exceeded expectations including sometimes my own. In the interview process, I don't hide the fact that I haven't used some of the tools but it does frustrate me that the usage of specific tools has priority over conceptual understanding but this is getting a little off topic.

The PhD thesis has now reached a point where there is a complete draft. It is oversize by a little over 11,000 words. Major revisions of the larger sections is required if I am to get it down to the 100,000 word limit.

I have things to do that occupy my time but the issue is that they don't help the cash flow. That concerns me but I sense that I am supposed to be where I am and doing what I am doing especially with regards to writing the thesis.

There is another piece of uncertainty in this equation in that I am unsure of what I am supposed to do next. I enjoy developing software especially when I can focus on problems to do with providing the functionality. No so keen any more on going through all the set up requirements to put in place a build system or to make the tool set work. Both in the programming environments and in the panorama stitching, I see that we haven't learnt to resolve the integration problems. We still expect the user of the tools to do the integration of the tools set and to locate the components that need to work together for the task. Maybe this says something about where I am at in my thinking with respect to my own role.

The other thing that I enjoy doing is helping others learn and discovering whether the approach that I am using is really helping the other person learn what I expected them to learn.

The problem seems to be that there are few positions available that allow me to focus on these two aspects without consuming more time than I have available.

Sometimes, we simply have to trust that things will work out and not panic when solutions don't seem to be appearing in the way that we anticipate.

Sunday, 14 September 2008

Web site development

Over the last month, my primary focus has still be writing the thesis. At the end of last week, a full draft of the thesis was completed. There has also been an emphasis on finding work. This saw me having to complete a programming project using Flex as reported on 23 August. Over the weekend, I returned to building our own website (

The site was originally built using a template design by Andreas Viklund ( The difficulty was that the common items such as the menu was on every page leading to difficulties with maintenance. When I taught a course on the design of web-based information systems at the beginning of 2007, I started building an XML based version of the site to overcome this maintenance problem. With last year's trip to Finland and the pressures of the thesis, the completion of the project was delayed but this weekend, I finally managed to convert part of it to being generated from XML. The outstanding issues proved easy to resolve and now the focus can shift to putting up some content.

Not directly linked to the project to translate to XML was putting up a couple of photo galleries. This has been done using Adobe Lightroom and its Flash gallery template. Having learnt Flex programming, the next goal is to create our own Flash / Flex based galleries.

When I taught the course, I endeavoured to get the students thinking about the separations between content, structure and format. This also included separating common content from the specific content of a particular page. The diagram that I used to try and explain my objective is on the right.

It is this usage of XML and XSLT that I have used for our website. The schema (XSD) provides the rules for structuring the content (XML). I created an common content template (XSLT) that also transforms the XML to HTML. I am using XSLT version 2. The actual formatting is controlled by a base style sheet (CSS). There are a couple of subsidiary style sheets that are used to give certain groups of pages their own style. When transformed, I end up with the HTML pages that are the website.

I discovered that Microsoft's Internet Explorer will accept the XML file as input and initiate the transformation. It then displays the file as expected. Unfortunately Firefox and Google Chrome look like they do the transformation but they don't format using the style sheet (CSS). I wonder whether this is because the style sheet is inserted by the transformation. A small problem that I will explore later but since it is fairly easy to generate the pages using the Oxygen XML editor, I don't need to do the translation on the server or in the browser. This may change as the number of pages making up the website increases.

The other discovery is that Microsoft's Internet Explorer needs and DocType declaration before it will display the generated file correctly. Firefox and Google Chrome don't. However, ensuring that you have a valid DocType statement isn't that difficult.

Overall, another good learning exercise that has provided an easier to maintain website without purchasing a lot of expensive tools.