Massey Documents by Type

Permanent URI for this communityhttps://mro.massey.ac.nz/handle/10179/294

Browse

Search Results

Now showing 1 - 2 of 2
  • Item
    The development of a visual language for image processing applications : a thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Science at Massey University, Palmerston North, New Zealand
    (Massey University, 1992) Ngan, Phillip Michael; Ngan, Phillip Michael
    The research described in this thesis is based on the hypothesis that computer support for the heuristic development of image processing algorithms can be improved by the provision of a human-computer interface that is suited to the task. Current interfaces are largely text based and are not specifically designed to provide this support. It is suggested that an interface incorporating aspects of menu-based, direct manipulation, and visual languages, can provide the necessary support. The research of this thesis begins with an analysis of the task of image processing algorithm development. It is found that in development, algorithms are more appropriately viewed as data-oriented networks of imaging operations than as process-oriented lists. The representation of algorithms in most current interfaces, particularly in text based systems, do not clearly convey the multi-threaded data paths in an algorithm. However, a data-oriented representation expresses such parallel paths clearly and naturally. The second finding of the analysis is that human designers employ a set of problem solving strategies or heuristics in the interactive development of algorithms. These strategies include the top-down decomposition of the imaging task, the identification and focus of critical sub-goals, the progressive refinement of an algorithm, and the modification of existing algorithms. These heuristics are used implicitly in the development of algorithms, but the ease with which they are used in text based interfaces is restricted by the lack of appropriate interactive facilities. An evaluation of interface techniques suggests that an interface that combines aspects of menu-based, direct manipulation, and visual languages, can support the required interaction for the heuristic development of algorithms. The required data-flow view can be provided by an iconic data flow language. Such a representation is highly visible, and can be interpreted by a user at a glance. Quick and convenient specification and editing of a data flow network can be performed via direct manipulation interaction facilities. The search for suitable operations can be facilitated by menu systems. On the basis of the arguments for the adoption of a data-flow representation of algorithms, a problem solving approach to algorithm development, and highly interactive facilities, a software package, called OpShop, has been implemented. Examples which compare OpShop to text based systems show that four major tasks involved in algorithm development are better supported with the new interface. These tasks are the visualisation of multi-threaded data paths, the interactive experimentation with algorithm parameters, the modification of algorithm topology, and the comparison of alternative algorithms. In these examples, the OpShop software represents the tangible outcome of the design for an interface that specifically supports the heuristic development of image processing algorithm.
  • Item
    VERTIPH : a visual environment for real-time image processing on hardware : a thesis presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Computer Systems Engineering at Massey University, Palmerston North, New Zealand
    (Massey University, 2009) Johnston, Christopher Troy
    This thesis presents VERTIPH, a visual programming language for the development of image processing algorithms on FPGA hardware. The research began with an examination of the whole design cycle, with a view to identifying requirements for implementing image processing on FPGAs. Based on this analysis, a design process was developed where a selected software algorithm is matched to a hardware architecture tailor made for its implementation. The algorithm and architecture are then transformed into an FPGA suitable design. It was found that in most cases the most efficient mapping for image processing algorithms is to use a streamed processing approach. This constrains how data is presented and requires most existing algorithms to be extensively modified. Therefore, the resultant designs are heavily streamed and pipelined. A visual notation was developed to complement this design process, as both streaming and pipelining can be well represented by data flow visual languages. The notation has three views each of which represents and supports a different part of the design process. An architecture view gives an overview of the design's main blocks and their interconnections. A computational view represents lower-level details by representing each block by a set of computational expressions and low-level controls. This includes a novel visual representation of pipelining that simplifies latency analysis, multiphase design, priming, flushing and stalling, and the detection of sequencing errors. A scheduling view adds a state machine for high-level control of processing blocks. This extended state objects to allow for the priming and flushing of pipelined operations. User evaluations of an implementation of the key parts of this language (the architecture view and the computational view) found that both were generally good visualisations and aided in design (especially the type interface, pipeline and control notations). The user evaluations provided several suggestions for the improvement of the language, and in particular the evaluators would have preferred to use the diagrams as a verification tool for a textual representation rather than as the primary data capture mechanism. A cognitive dimensions analysis showed that the language scores highly for thirteen of the twenty dimensions considered, particularly those related to making details of the design clearer to the developer.