|
Home
Research
Papers
Mammography
C++ Programming
Personal
Recommended Reading
Links
|
| Publications |
| |
|
| |
Henderson, C.D.M., 2004,
Efficient string concatenation using expression templates,
, C/C++ Users Journal, article in press
Henderson, C.D.M., 2004,
Optional Storage, C/C++ Users Journal 22(5), article
in press
Henderson, C.D.M., 2002,
Ready-to-run C++, Available online only
Henderson, C.D.M., 1989,
Dragon Monitor, Dragon User, 69: January 1989
Henderson, C.D.M., 1988,
Dragon Invoicer, Dragon User, 64: August 1988
|
|
| Professional
Papers |
| |
|
| |
Efficient string concatenation using expression templates
C/C++
Users Journal, Volume & Issue TBD
Craig D.M. Henderson
Authored February 2004, Accepted February 2004
Expression templates
are a powerful technique for delayed evaluation of expression. In
this article, I use expression templates to make optimising string
concatenation by taking advantage of the delay and allocating just
one buffer that is large enough to contain the string that results
from the entire expression. The expression is evaluated only when
it is assigned to a basic_string
object, so if the expression is never assigned, then the expression
is never evaluated. This is contrary to the normal behaviour that
would create a host of temporary strings and then just throw them
away.
Keywords: C++ development; template; generic programming;
expression templates
|
| |
|
| |
Optional Storage
C/C++
Users Journal, Volume 22, Number 5. May 2004
Craig D.M. Henderson
Authored April 2003, Accepted September 2003
This paper presents
a technique for creating a generic data structure that can eliminate
any unwanted data members at compile time, to optimise the storage
requirements of the class but maintain a consistent interface. A running
example is provided to demonstrate the use of the technique. A generic
personal_details class is defined to represent the forenames, surname,
gender, maiden name and children's names of a person. Storage requirements
for members that are not required are eliminated at compile time,
for example the maiden name from the representation Men.
Keywords: C++, template, memory optimization
|
|
| Academic
Papers |
| |
Under review
|
| |
Automated identification of the orientation of mediolateral
oblique mammographic images
Craig D.M. Henderson
University of the West of England, Bristol
Authored August 2003, Revised October 2003
When comparing mammogram
images, whether temporal, bilateral or otherwise, it is essential
that the orientation of the breasts in each image match. This initial
image orientation problem is generally omitted from the registration
procedure and left to the operator to provide the x-ray images in
the order and orientation that the software system requires. In
a fully automated system, this is an unacceptable burden on the
system operator. This paper describes an algorithmic procedure for
identifying the orientation of mediolateral oblique (MLO) breast
images that can be used as a first step in the process of mammogram
registration in an automated system.
Keywords: mammogram; image analysis; image orientation
|
| |
In preparation
|
| |
Segmentation of mediolateral oblique mammographic images
with accurate breast border detection
Craig D.M. Henderson
University of the West of England, Bristol
Work in progress; October 2003
MLO mammographic image
segmentation
Keywords: mammogram; image analysis; image
segmentation |
|
| Discussion
Papers |
| |
|
| |
Ready to Run C++
Craig D.M. Henderson
March 2002
Traditional compiler
techniques centre on individual source files in their entirety to
form a compilation unit. This requires the entire unit to be recompiled
any of its dependent files have been modified, regardless of the
nature of the change. This paper discusses how things could be improved.
Keywords: software development environment, background
compilation
Download the PDF (31Kb)
|
|
| Nostalgic |
| |
|
| |
 |
Dragon Monitor Dragon
User Magazine (69), January 1989
Craig D.M. Henderson
January 1989
A memory dump
program written in BASIC for the Dragon 32 computer.
Keywords: memory dump, hex dump
|
|
| |
|
| |
 |
Dragon Invoicer Dragon
User Magazine (64), August 1988
Craig D.M. Henderson
August 1988
A menu driven
Invoice creation program written in BASIC for the Dragon 32
computer. Fully functioning program listing for the devoted
readers to type into the machine before it crashed and you
lost everything!
|
|
|
|
E-mail

(Logo
created at http://www.cooltext.com)
|
|