next up previous
Next: Propagation Rules for Extensions
Up: COMPONENT PROPAGATION
Previous: General

Propagation Rules for Standard NDF Components   

Because the meaning and interpretation of the standard NDF components (data, variance, quality, etc.) is well-defined, it is always possible to decide into which of three categories each of these components falls when writing an application. This then dictates the action which should be taken, as follows:

1.
Process it. Any component which an application is capable of processing must be processed in such a way that its validity is maintained.
For instance, if an operation is to be performed on the data component, then an appropriate operation must usually also be performed on the variance component (if defined) so that it continues to represent the variance of the data in the output NDF. If the application cannot perform the necessary operation, then any component which would become invalid as a result falls into category 3 below (and is simply ignored).

2.
Propagate it. Any components which will not be rendered invalid by the processing can be propagated without change.

For instance, the special case of adding a constant to the data component would not render the variance component invalid. It may therefore simply be propagated (i.e. copied) to the output NDF unchanged. Most applications which perform pixel-to-pixel processing and do not change the shape of an NDF can also propagate the axis and quality components in the same way.

3.
Ignore it. Any remaining components whose subsequent validity is in any doubt must be ignored, never propagated.

It may not be possible to ensure that some NDF components will retain their validity after processing. This may simply be because an application (or perhaps an entire software package) chooses not to support certain NDF components; this is quite acceptable behaviour. Alternatively, the meaning of certain components may be destroyed by certain types of processing; for instance the validity of the quality component cannot possibly survive a Fourier transform operation applied to the data component no matter how sophisticated the software. In either case, the affected component(s) must be ignored and not propagated. This means that they will be lost from the output NDF.

The purpose of these rules is to ensure that the validity of all the standard NDF components is retained throughout all stages of processing, and that all defined components in an NDF always have valid values. If an application cannot guarantee this for any component, then it must ignore that component so that it remains undefined in the output data structure.



next up previous
Next: Propagation Rules for Extensions
Up: COMPONENT PROPAGATION
Previous: General


Starlink User Note 33
R.F. Warren-Smith
11th January 2000
E-mail:rfws@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils