Machine Intelligence Laboratory

Cambridge University Department of Engineering

Dr Graham Treece, Department of Engineering


wxDicom documentation

Image sampling and display

These controls are all associated with how the current image is interpolated to create the actual displayed image. They can be accessed from the 'Display' tab in the control area on the right. The display image updates automatically when any of these controls are changed.

The operations are always applied in the same order: sub-sampling, then filtering, then zooming and interpolating, then taking the gradient (if required), then thresholding (if required).

Sub-sampling
This deliberately sub-samples the original image to a resolution lower by the factor given in this slider, optionally also low-pass filtering first to prevent aliasing. This is mainly useful for demonstrating the effects of interpolation on images.
Colour space
This determines what colour space (for coloured images) the processing and interpolation are performed in. It also determines how the colour along a selected line (shift left-click) is displayed, as follows:
Grey colour space
The colour image is converted to greyscale before processing.
RGB colour space
The three colour components are red, green and blue, exactly as displayed.
HSL colour space
The colour components represent hue, saturation and lightness.
YCbCr colour space
The colour components are luminance, red chroma and blue chroma, also known as YUV.
CIE XYZ colour space
The colour components are a form of normalised red, green and blue.
CIE L*a*b colour space
The colour components are lightness, red/green, and yellow/blue.
CIE L*c*h colour space
The colour components are lightness, chroma and hue.
Channels
This allows you to see individual channels for any colour space above which has multiple channels.
Interpolation
This controls what interpolation technique is used to form the zoomed display image:
No interpolation
Only a single pixel in the display image is set for each pixel in the original image, with everything else left blank. This is good for showing where the actual data is, and also why interpolation is always required.
Nearest Neighbour
Display pixels are set to the value of the nearest original pixel, which is an interpolant (it passes through the original data) but with not even C0 (value) continuity. This is useful for revealing the actual size of the original pixels.
Bi-linear
Bi-linear interpolation between original data, which is an interpolant with C0 continuity.
Cubic B spline
Piecewise cubic B-splines, which only approximate (do not necessarily pass through) the original data, but are very smooth with C2 (second derivative, or curvature) continuity.
Cubic Catmull-Rom spline
Another piecewise spline, which is an interpolant, but only has C1 (gradient) continuity. This tends to emphasise edges a bit more, but can overshoot the data.
Cubic Mitchell-Netravali spline
A reasonable balance between the previous two splines.
Lanczos (a=2) interpolation
This would represent 'ideal' interpolation if the range was infinite, but here is truncated to the nearest two samples in any direction.
Lanczos (a=3) interpolation
As above, but with an increased range of three samples in any direction.
Gradient
Checking this box will display the gradient of the data. If no line is defined (see ), the magnitude of the maximum gradient is shown. If a line is defined, the gradient is calculated and displayed in that direction. Use the 'windowing' (right mouse button) to adjust the contrast.
Level
If this is checked, the slider controls the level at which the image is thresholded. For colour images, each channel is thresholded separately, and they are set to maximum (255) if they are each above the threshold. For greyscale images, data above the threshold is coloured magenta.