HIPR Applet Running Instructions
The following are instructions on how to run the applets
which are part of the HIPR package. These applets are designed
to allow the user to try out the operators which are outlined
in the worksheets for themselves.
All of these applets can be run using the Applet Viewer from
the directory /usr/local/extpapers/papers/HIPRsrc/newjavasrc/
Image Loading
You can experiment with different images using any of the images
supplied in HIPR or by a URL. Some of those available in HIPR
have the prefixes given here and .gif as the file extension:
greyscale (cam1, che1, cln1, fru1, man8, str1, str2, str3, tol1,
txt2, wal2, wom1, wom2, urb1, xra1) and range (bae1, ren1) images.
Enter image specifiers either as a full HIPR image filename
(eg. cam1.gif) or by a full URL. Only gif and jpg files can be loaded.
Pushing the Load Image button causes the specified image to be
loaded.
Applet Running Instructions
The applets can only be used on a machine running Solaris 2.6 or
higher. Java 1.1.2 or higher is also required to use the applets.
Change directory to /usr/local/extpapers/papers/HIPRsrc/newjavasrc.
From there the applets can be run by typing -
appletviewer apdilate.htm (to run the dilate operator applet etc.).
All of the available operators are runnable in this directory using
appletviewer and the appropriate .htm file.
The Applets
Image Arithmetic
Point Operations
Geometric Operations
Image Analysis
Morphology
Digital Filters
Feature Detectors
Image Transforms
Image Synthesis
Other
Known Bugs
Instructions
Image Arithmetic:
Filename: appixadd.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There is one pull-down menu. It allows you to decide
what will be added to the first image, which can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. Addition may produce
images with values larger than 255. These values are
clipped to 255, but Scaling and Offset values can be entered to
allow you to rescale the images yourself before the clipping
takes place, according to Output =
Scaling*Difference + Offset. Pressing the green Add button
starts the operator. The output is displayed in the output window
which is positioned left of the two input windows.
Filename: appixsub.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There are two pull-down menus. The first allows you to decide
what will be subtracted from the first image, which can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. The second pull-down
menu, Polarity, allows you to select which image should be
subtracted from which image. Subtraction may produce
images with values larger than 255 or smaller than 0. These
values are clipped to 255 or 0, but Scaling and Offset
values can be entered to allow you to rescale the images
yourself before the clipping takes place, according to Output =
Scaling*Difference +
Offset. Pressing the green Subtract button starts the operator.
The output is displayed in the output window which is positioned
left of the two input windows.
Filename: appixmult.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There is one pull-down menu. It allows you to decide
what the first image will be multiplied by, which can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. Multiplication may produce
images with values larger than 255. These values are
clipped to 255, but Scaling and Offset values can be entered to
allow you to rescale the images yourself before the clipping
takes place, according to Output =
Scaling*Difference + Offset. Pressing the green Multiply button
starts the operator. The output is displayed in the output window
which is positioned left of the two input windows.
Filename: appixdiv.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There are two pull-down menus. The first allows you to decide
what the first image will be divided by. This can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. The second pull-down
menu, Polarity, allows you to select which image should be
divided by which image. Division may produce
images with values larger than 255. These values are clipped to
255, but Scaling and Offset
values can be entered to allow you to rescale the images
yourself before the clipping takes place, according to Output =
Scaling*Difference +
Offset. Pressing the green Divide button starts the operator.
The output is displayed in the output window which is positioned
left of the two input windows.
Filename: apblend.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There is one pull-down menu. It allows you to decide
what the first image will be blended with, which can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. In the box labelled
Blending factor a number between 0 and 1 should be entered to
specify what proportion of each image is used in the output
image. A value of 0.5 will take equally from each image, whereas
a value of 0.8 will be biased towards the first image
Multiplication may produce images with values larger than
255. These values are clipped to 255, but Scaling and
Offset values can be entered to allow you to rescale the images
yourself before the clipping takes place, according to Output =
Scaling*Difference +
Offset. Pressing the green Multiply button starts the
operator. The output is displayed in the output window which is
positioned left of the two input windows.
Filename: apand.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There are two pull-down menus. The first allows you to decide
what the first image will be ANDed with. This can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. The second pull-down
menu, Operator, allows you to select whether or not the operator
applied is the AND or the NAND operator. ANDing may produce
images which are difficult to see. Scaling and Offset
values can be entered to allow you to rescale the images
yourself, according to Output = Scaling*Difference +
Offset. Pressing the green (N)AND button starts the operator.
The output is displayed in the output window which is positioned
left of the two input windows.
Filename: apor.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There are two pull-down menus. The first allows you to decide
what the first image will be ORed with. This can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. The second pull-down
menu, Operator, allows you to select whether or not the operator
applied is the OR or the NOR operator. ORing may produce
images which are difficult to see. Scaling and Offset
values can be entered to allow you to rescale the images
yourself, according to Output = Scaling*Difference +
Offset. Pressing the green (N)OR button starts the operator.
The output is displayed in the output window which is positioned
left of the two input windows.
Filename: apxor.htm
The two input images are displayed in the Input 1 and Input 2
display areas below the control buttons, along with the image sizes.
There are two pull-down menus. The first allows you to decide
what the first image will be XORed with. This can be either the
second image loaded or a constant value. If a constant value is
selected, then you have to enter that constant into the box to
the right of the Constant value string. The second pull-down
menu, Operator, allows you to select whether or not the operator
applied is the XOR or the XNOR operator. XORing may produce
images which are difficult to see. Scaling and Offset
values can be entered to allow you to rescale the images
yourself, according to Output = Scaling*Difference +
Offset. Pressing the green X(N)OR button starts the operator.
The output is displayed in the output window which is positioned
left of the two input windows.
Filename: apinvert.htm
The input image is displayed in the Input display areas
below the control buttons, along with the image size.
Pressing the green Invert button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apbitshift.htm
The input image is displayed in the Input display areas
below the control buttons, along with the image size.
There is one pull down menu. This allows you to choose which
direction the pixels in the image are shifted. In the box
labelled Shift value an integer can be entered which allows you
to determine how far the bits are shifted in the
image. Bitshifting may produce images which are difficult to
see. Scaling and Offset values can be entered to allow you to
rescale the images yourself, according to Output =
Scaling*Difference + Offset.
Pressing the green BitShift button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Point Operations:
Filename: apthreshld.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size. Next to
this is the histogram which has been generated from the input
image. On the histogram image are two lines, one red and one
green. The green line corresponds to the current lower threshold
value and the red line corresponds to the current upper
threshold value.
There is one pull down menu. This allows you to choose whether
or not the output of the thresholding is inverted or not. Above
this menu are two slide bars which are used to change the values
of the upper and lower thresholds. Sliding these along will
change the position of the red and green lines in the histogram
window, thus allowing you to see what areas of the histogram are
being selected. Pressing the green Threshold button starts the operator.
The output is displayed in the output window which is positioned
left of the input windows.
Filename: apadapthresh.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
There is one pull down menu. It allows you to choose which of
the three functions outlined in the HIPR page is used to
calculate the local threshold value. Above this menu is a
textbox into which can be entered an integer which specifies the
size of the neighbourhood which will be looked at when working
out the local threshold value. For instance the default value of
7 will consider a 7x7 window centred on the current
pixel. Below the pull down menu is another box called Constant
value into which an integer value is entered. This is the value
that is subtracted from the local threshold value before the
threshold is applied to the local pixel. Pressing the green
Threshold button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apcontrast.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
There is one pull down menu. It allows you to choose which of
the three functions outlined in the HIPR page is used to
stretch the image. The two boxes below this allow you to specify
upper and lower bounds on the contrast stretching. These are
bounds which the intensity values of the stretched image will
lie between. The next two boxes are used only when the
percentile method is selected, and specify upper and lower
percentage boundaries of the image intensity values. These
values are floating point numbers between 0 and 1. The final box
is used when the cutoff method is selected and is used to
specify a percentage value (float between 0 and 1) of the
maximum intensity which is used to calculate the cutoff point in
the image histogram. Pressing the green Stretch button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apequalize.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size. Next to
this is the histogram of the input image.
Pressing the green Equalize button starts the operator.
The output is displayed in the output window which is positioned
left of the input window. The histogram window is updated to now
show the histogram of the equalized output image.
Filename: appixlog.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The only input field of this operator is the scale factor
field. Into here is entered a number which is used to scale the
output image. This is necessary as the output image can be
difficult to see.
Pressing the green Apply Log button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: appixexp.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The only input field of this operator is the gamma value which
determines how bright the output image appears. The value entered
here is a floating point number typically in the range 0.0 to
1.0. however larger values than this can be entered.
Pressing the green Exponentiate button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Geometric Operations:
Filename: apscale.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
There are three pull down menus from which to select. The first
of these, Method, selects what method is used to determine how
to calculate the output image when the scaling takes
place. The third menu, Scale, determines what size of scaling is
taking place. If you are scaling down then a value of two would
mean that the width and height would each be half as big. When
scaling up takes place, the scale value determines how big the
area which is being scaled up is. The middle of the three boxes,
Direction, specifies whether you are scaling the image up or
down. If the selection in this box is expand, then a box should
appear in the input window which shows the area you wish to
expand. This box can be moved around in the image by clicking
the mouse in the input window. Where the mouse is clicked will
determine where the top left of the box is. The size of the box
is determined by the size menu explained above.
Pressing the green Scale button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: aprotate.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The only input box is the rotation angle box. Into this is
entered an integer which specifies how much the image is to be
rotated by. All rotations happen as if the image was a compass
point pointing directly North. So if a rotation angle of 90 is
entered, then the image will be rotated 90 degrees to the
right.
Pressing the green Rotate button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apreflect.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size. On the
input image is drawn a red line. This line corresponds to the
line along which the image will be reflected.
The only input to this operator is the slide bar which is used
to change the angle of the line of reflection by sliding it back
and forth. As well as being able to change the angle of the line
of rotation, the position of the line can also be altered. This
is done by clicking in the input window. The point at which the
user clicks defines a point through which the line will pass.
Pressing the green Reflect button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: aptrans.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The pull down menu labelled Wrap/No Wrap allows you to toggle
whether or not the image is wrapped around once it has been
translated. In order to define the translation which the image
must undergo, a line is drawn in the input window whose
direction is the direction the image is to be translated and
whose length is how far the image is to be translated. To define
the line click and hold on the input window and drag the
mouse. This draws a line from the clicked point to the current
mouse point. When the mouse button is released the destination
point of the line is defined and it is drawn on the screen.
Pressing the green Translate button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apaffine.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The input to the operator is two arrays A and B. These are the
two arrays defined in the HIPR page corresponding to this
operator. Entering values in the textfields will change the
values in the arrays when they are used in the transformation.
Pressing the green Transform button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Image Analysis:
Filename: aphistgram.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
Pressing the green Histogram button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
At this time no operator exists for this function.
Filename: aplabel.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
There are two input fields which are used to apply a scale
factor and offset to the output image. This is necessary as the
greyscale values output can be difficult to see. The formula
used to calculate the output is Output = Scaling*Difference +
Offset. The output image will label each of the components with
a different greyscale value, and the number of different
components is displayed in a pop-up window.
Pressing the green Labelx button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Morphology:
Filename: apdilate.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
Each element in the 3x3 kernel has two possible states on (red)
and off (grey). For each background pixel, if the kernel matches
(the kernel is centred on the pixel, every 'on' element matches
a foreground pixel and every 'off' element matches a background pixel)
then that background pixel is flipped to a foreground pixel. The
output is displayed to the right of the input image.
Filename: aperode.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
Each element in the 3x3 kernel has two possible states, on (red)
and off (grey). For each foreground pixel, if the kernel matches
(the kernel is centred on the pixel, every 'on' element matches
a foreground pixel and every 'off' element matches a background pixel)
then that foreground pixel is flipped to a background pixel. The
output is displayed to the right of the input image.
Filename: apopen.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The input image is simply eroded and then dilated using the same kernel.
Several iterations will erode for several iterations and then dilate
for the same number of iterations. The output is displayed to the
right of the input image.
Filename: apclose.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The input image is simply dilated and then eroded using the same kernel.
Several iterations will dilate for several iterations and then erode
for the same number of iterations. The output is displayed to the
right of the input image.
Filename: aphitmiss.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
Each element in the 3x3 kernel has three possible states,
foreground, background and anything. The kernel is centred on each
pixel in the image in turn and if every foreground element in the
kernel matches with a foreground pixel and every background element
in the kernel matches with a background pixel (anything elements
automatically match with any pixel) then that pixel becomes a foreground
pixel and all other pixels become background pixels. The
output is displayed to the right of the input image.
Filename: apthin.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The input image is first 'HitandMiss'ed using the kernel.
The result of the HitandMiss is then logically subtracted from the
original image. The output is displayed to the right of the input
image.
Filename: apthicken.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The input image is first 'HitandMiss'ed using the kernel.
The result of the HitandMiss is then logically added to the
original image. The output is displayed to the right of the input
image.
Filename: apskeleton.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The input image is thinned using 8 different kernels in turn.
[[0,0,0],[X,1,X],[1,1,1]] then [[X,0,0],[1,1,0],[X,1,X]] then
the 6 90degree rotations of these two kernels.
This is then repeated until no more change occurs. The resulting
image is the skeleton of the original image. The output is displayed
to the right of the input image.
Filename: apmat.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The distance transform of the input image is calculated. The skeleton
of the distance transform is then calculated, retaining the grey-level
pixel values to produce the MAT image. The output is displayed
to the right of the input image.
Digital Filters:
Filename: apmeansmooth.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
For each pixel the mean of the 9 neighbourhood pixel values
(that match the 'on' elements in the kernel, 'off' values are
ignored) is found and the pixel is set to that value.
The output is displayed to the right of the input image.
Filename: apmediansmooth.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
For each pixel the median of the 9 neighbourhood pixel values
(that match the 'on' elements in the kernel, 'off' values are
ignored) is found and the pixel is set to that value.
The output is displayed to the right of the input image.
Filename: apgaussiansmooth.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The size of the Gaussian kernel (containing discrete values) can be
set by selecting one of the radio buttons. The value of theta
can be selected by adjusting the value in the text box. The input
image is then convolved with the automatically generated kernel to
produce the output image. The output is displayed to the right of
the input image.
Filename: apconsmooth.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
For each pixel the maximum and minimum neighbours are found. If the
pixel value is greater than it's maximum neighbour then it's value
is reduced to that of the neighbouring maximum. If it is less than it's
minimum neighbour then it is increased to this minimum. In this way
unusually high and low pixels values are removed. The output is
displayed to the right of the input image.
At this time no operator exists for this function
Filename: apfft.htm
See Fourier Transform
Filename: aplaplacian.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The Laplacian kernel can be chosen from a selection of three, each
producing slightly different outputs due to the different kernel
values. The input image is convolved with this kernel to produce
the output image. The output is displayed to the right of the
input image.
Filename: aplog.htm
The Laplacian of Gaussian kernel is calculated using the kernel
size and the theta value. The input image is then convolved
with this kernel to produce the output image. The output is
displayed to the right of the input image.
Filename: apunsharp.htm
The input image is initially smoothed using the mean smoothing
operator. This smoothed image is then subtracted from the original
image to produce an edge image. Part of this edge image (determined
by the k parameter) is then added to the original image to produce
the sharpened output image. The output is displayed to the right
of the input image.
Feature Detectors:
Filename: aproberts.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
Into the scale box should be entered a floating point number
greater than 0. This is used to scale the output of the edge
detection as it can sometimes be difficult to see properly.
Pressing the green Roberts Cross button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apsobel.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
Into the scale box should be entered a floating point number
greater than 0. This is used to scale the output of the edge
detection as it can sometimes be difficult to see properly.
Pressing the green Sobel button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apcanny.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The pull down menu allows you to select what size of kernel will
be used in the Gaussian Smoothing phase of the operator. The
standard deviation of the Gaussian Smoothing can also be altered
using the box below this menu. The next two boxes, upper and
lower threshold, are used to define threshold values which will
be used in the tracking stage of the operator. The high threshold
defines the initial value which must be passed in order to
begin tracking and the low threshold is the value which must be
passed in order to continue the tracking. The Canny may produce
images with values larger than 255 or smaller than 0. These
values are clipped to 255 or 0, but Scaling and Offset
values can be entered to allow you to rescale the images
yourself before they are clipped, according to Output =
Scaling*Difference + Offset.
Pressing the green Canny button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: apcompass.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The first pull down menu allows you to decide which of the
kernel sets to use to detect the edges with. All the sets of
kernels are defined in the HIPR worksheet for this operator. The
second pull down menu allows you to define whether or not the
label image should should be labelled with different colours, or
different greyscale values. The Compass may produce
images with values larger than 255 or smaller than 0. These
values are clipped to 255 or 0, but Scaling and Offset
values can be entered to allow you to rescale the images
yourself before they are clipped, according to Output =
Scaling*Difference + Offset.
Pressing the green Apply Compass button starts the operator.
The output is displayed in the two output windows which are positioned
left of the input window. The first window shows the label image
which has been generated, whilst the second window shows the
edge image with image intensity signally edge strength.
Filename: apzerocross.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The first pull down menu allows you to decide what size of
kernel to use in the Gaussian Smoothing phase, and the standard
deviation of this Smoothing can be entered in the box below the
pull down menu. The next pull down menu allows you to decide
whether to apply gradient limited crossings or not to the
image. If this is selected a value is input in the textbox below
which specifies the gradient that must exist at a possible
zerocrossing point in order for it to be classified as a zerocrossing.
Pressing the green Zero Crossing button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Filename: aplinedet.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The first four boxes are check boxes which can be either
selected or de-selected to determine whether or not the type of
line specified is looked four. Selecting each type of line will
apply a different kernel, and the outputs from these are
combined to make a single picture with all the selected
lines. The pull down menu below these allow you to select if a
threshold should be applied so that only significant lines are
found. This is entered in the box below the menu. On the output
window the lighter the value the stronger the line, unless the
threshold is applied in which case all lines are white and the
background black.
Pressing the green Detect Lines button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Image Transforms:
Filename: apdistance.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The image is repeatedly thinned (all foreground edge pixels are
removed in every iteration). Each iteration, the thinned pixels
are stored and a grey level value is assigned to them (0 for the
first iteration up to 255 for the final pixels remaining). The
output image is then coloured with these values. The output is
displayed to the right of the input image.
Filename: apfft.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The fourier transform can be applied by clicking on the
Apply Fourier Transform button. Various operations can then
be applied to the output of the fourier transform (for example
a frequency filter, specifying high/low pass and radius). The
inverse fourier transform can then be applied to view the effects
in the spatial domain. The output is displayed to the right of
the input image.
Filename: aphough.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The textfield labelled threshold is used to enter a threshold
(float between 0 and 1) which determines which lines are strong
enough to constitute real lines in the image. Below this is a
pull down menu which allows you to select whether or not the
input image should be overlaid on the line image. This is
sometimes useful as a check that the lines which have been found
do in fact exist in the image.
Pressing the green Apply Hough button starts the operator.
The outputs are displayed in the output windows which are positioned
left of the input window. The first output is a picture of the
hough space which the line voting was made in. The x axis
corresponds to line angle, and the y axis is the radius from the
centre. The lighter the image is, the more votes were received
at that point. The second output image is the picture of the
lines which passed the threshold. These lines have been drawn in
blue so that when they are overlaid on the original image they
are easy to distinguish.
Image Synthesis:
Filename: aprnoise.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The top pull down menu allows you to select what sort of noise
should be added to the input image. This can be either of type
Gaussian or of type Shot. If Gaussian is selected, the Gaussian
side of the interface becomes active and a standard deviation of
the Gaussian noise can be entered. If Shot is selected then The
Shot side of the interface becomes active. When this happens you
can then go on to select either Partial or Full shot
noise. Partial shot noise is where a new value is generated to
replace a pixel, and Full shot noise is where either 0 or 255 is
used to replace a pixel. In either case each pixel in the image
is changed with a probability equal to that entered in the box
below this pull down menu.
Pressing the green Apply Noise button starts the operator.
The output is displayed in the output window which is positioned
left of the input window.
Other:
Filename: apconvolve.htm
The input image is displayed in the Input display area
below the control buttons, along with the image size.
The kernel can be varied in size between 1 to 7 elements by
1 to 7 elements by clicking on the numbered buttons along the top
and down the left of the kernel display. The value for each kernel
element can then be set appropriately. The input image is then
convolved with the kernel to produce the output image.
NOTE the output image will be originalWidth-kernelWidth+1 wide
and originalHeight-kernelHeight+1 high. The output is displayed
to the right of the input image.
Known Bugs:
At the present time the stop button on the interface is
unimplemented. This is due to problems in having the operator
running in a separate thread to the interface, which would allow
the operator to be stopped when in progress. The consequence of
this is that clicking on the stop button will do nothing, and
there is no way of stopping the operator from running in mid
operation unless the Appletviewer it is running in is closed
down. For this reason it is advised not to use large images on
the more complex operators as once you have started them there
will be no way to stop them if they take a long time to run.
At the time of writing there appeared to be some memory leaks in
the applets which caused the applets to run out of memory under
certain circumstances. The exact cause of these is unknown and
once the system has run out of memory it cannot continue to have
the operator run. If this happens an error message will appear
in the window from which the Appletviewer was run stating a
java.lang.OutOfMemoryError. If this happens the AppletViewer
needs to be shutdown and re-run. This will reallocate the memory
and allow the operator to be run again. Again as with the Stop
Button problem it is best not to run large images through the
more complex operators to avoid them running out of memory.
This problem is one caused by the lack of functionality in the
Stop Button. When an operator is run, the interface from which
it was run freezes until such time as the operator has finished
running. This is due to the fact that they are not running in
different threads. The interface will still register any user
actions with the interface (e.g a button click), however any
action resulting from this interaction will not be executed
until after the operator has finished running.
Occasionally when the Appletviewer is loaded up, the components
which are contained in it will be drawn as if the Appletviewer
is bigger than it actually is. This problem can be easily solved
by resizing the window in which the AppletViewer is
running. This action will reposition the components in the
interface to the size that they were intended to be.
At the moment when the operators are run in the Appletviewer the
images which are used cannot be loaded by specifying a URL. This
means that the only images that can be run at this time are
those which are contained in HIPR. This should not cause too
many problems as the number of images in HIPR should be
sufficient to gain an understanding of any of the operators.
Last modified: Thu Aug 19 10:14:48 BST
This page was written by:
Timothy
Sharman and Simon Horne