next up previous 237
Next: BAD PIXELS
Up: ACCESSING ARRAY COMPONENTS
Previous: Mapping the Variance Component as Standard Deviations


Restrictions on Mapped Access

Certain restrictions are imposed on mapped access to NDF components, the most important being that each array component may only be mapped for access once through any NDF identifier. Thus, two successive calls to NDF_MAP (or NDF_MAPZ) specifying the same identifier and array component will result in an error. Of course, the component may later be re-mapped if it has first been unmapped, either by an intervening call to NDF_UNMAP, or implicitly.

One way of avoiding this restriction is to clone a duplicate identifier using NDF_CLONE so that a component can be mapped twice, once through each identifier. However, a more fundamental restriction exists if a possible access conflict may occur. Update and write access to NDF components is always exclusive, so the NDF_ system will reject any attempt to access a component twice if one of the attempts involves update or write access, although the same component may be accessed any number of times (through different identifiers) for read access alone.

In addition, arrays stored in scaled or delta form (rather than primitive or simple form), are currently read-only. An error will be reported if an attempt is made to map a scaled or delta array component for update or write access. If you need to modify the values in such an array, then you should first make a copy of the NDF. Copying an NDF automatically converts all scaled amd delta arrays into simple arrays, and so the copied array can be mapped for any type of access.


next up previous 237
Next: BAD PIXELS
Up: ACCESSING ARRAY COMPONENTS
Previous: Mapping the Variance Component as Standard Deviations

NDF [1ex
Starlink User Note 33
R.F. Warren-Smith & D.S. Berry
16th July 2012
E-mail:starlink@jiscmail.ac.uk

Copyright © 2013 Science and Technology Facilities Council