- ←Prev
- NDF
Routines for Accessing the
Extensible N-Dimensional Data Format -
- TOC ↑
H CHANGES AND NEW FEATURES
H.1 Changes Introduced in V1.3
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.2 and V1.3 (not the current version):
-
(1)
- New facilities have been added for handling NDF history information (see §22).
-
(2)
- New facilities have been added to allow the automatic reading and writing of data files
written in a variety of “foreign” (i.e. non-NDF) formats. These are described in a separate
document (SSN/20).
-
(3)
- A new routine NDF_OPEN has been added to provide a general means of accessing NDF
datasets by name, locator, or a combination of both. It is modelled on the Fortran OPEN
statement (see §20.10) and provides flexible NDF access for programmers who do not
wish to use the ADAM parameter system.
-
(4)
- The symbolic constant DAT__ROOT provided by HDS is now supported by all NDF_
routines which accept HDS locators (see §20). Use of this constant in place of an HDS
locator indicates that the associated component name is in fact the full name of the
HDS object (or NDF). This allows access to HDS objects by name as an alternative to
using locators. The name of a foreign format data file may also be supplied using this
mechanism (SSN/20).
-
(5)
- All routines that accept the names of pre-existing NDF datasets now support
subscripting, and will return an appropriate NDF section.
-
(6)
- A new selective copy routine NDF_SCOPY has been added (see §20.9) which performs
component propagation in a similar manner to NDF_PROP but does not depend on the
ADAM parameter system.
-
(7)
- The two sets of routines NDF_XGT0x and NDF_XPT0x (where “x” is I, R, D, L or C) will
now accept compound component names when reading or writing the values of objects
in NDF extensions. This allows direct access to values stored within nested structures or
arrays in extensions (see §§11.4 & 11.5). The routine NDF_XIARY has also been similarly
enhanced.
-
(8)
- The routine NDF_TUNE has been extended to support new tuning parameters, most of
which are associated with the facilities for accessing foreign data formats (see above).
-
(9)
- Tuning parameters now acquire their default values from environment variables (see
§23.3).
-
(10)
- Due to changes in the underlying data system (HDS), locators to data objects may now
be annulled freely without risk of affecting the operation of the NDF_ library.
-
(11)
- There is no longer any need to call the routine HDS_START in standalone programs
which use the NDF_ library (previously this was required), although doing so will do no
harm.
-
(12)
- Instructions for compiling and linking NDF applications on UNIX have been added to
the documentation.
-
(13)
- On UNIX systems where shareable libraries are supported, these are now installed in a
separate .../share directory (rather than alongside the non-shareable libraries in the .../lib
directory). You should include the appropriate .../share directory (normally /star/share
on Starlink systems) in your library search path if you wish to use shareable libraries on
UNIX.
-
(14)
- The routine NDF_XNUMB now returns a guaranteed value of zero if it is called with
STATUS set, or if it should fail for any reason.
-
(15)
- A number of new error codes associated with the NDF history component and with access
to foreign data formats have been added to the include file NDF_ERR.
-
(16)
- The routine NDF_IMPRT has been documented as obsolete. Its function is now
performed by NDF_FIND by specifying a blank second argument.
-
(17)
- The routine NDF_TRACE has been documented as obsolete. Its function is now
performed by NDF_TUNE via the tuning parameter ‘TRACE’.
H.2 Changes Introduced in V1.4
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.3 and V1.4 (not the current version):
-
(1)
- The routines NDF_TUNE and NDF_GTUNE have been extended to support the new
DOCVT tuning parameter. This allows automatic conversion of foreign format data files
(SSN/20) to be disabled when not required.
-
(2)
- The maximum number of foreign data formats that can be recognised by the NDF_ library
(SSN/20) has been increased from 20 to 50.
-
(3)
- Two new routines NDF_GTWCS and NDF_PTWCS have been provided to read and
write World Coordinate System (WCS) information to an NDF. These WCS facilities are
implemented using the new AST library (see SUN/210). NDF_GTWCS returns an AST
pointer to a FrameSet and NDF_PTWCS expects a similar pointer to be supplied.
Note that this constitutes only a preliminary introduction of WCS facilities to the NDF
library, mainly to permit the writing of data format conversion applications that support
WCS information. Descriptions of the new routines are included in this document, but
the main text does not yet contain an overview of the WCS facilities, for which you should
consult SUN/210 at present. Further recommendations on the use of AST with the NDF_
library will be given in future, once experience with the new facilities has been gained.
-
(4)
- The new “WCS” component is now supported by other NDF_ routines, where
appropriate (e.g. NDF_PROP, NDF_RESET, NDF_SCOPY, NDF_SECT and NDF_STATE).
-
(5)
- A bug has been fixed in the NDF_SBB routine which could occasionally cause it to access
the bad-bits value for the wrong NDF.
-
(6)
- A bug has been fixed which could result in failure to access a named NDF data structure
comprising one of the AXIS components of another NDF (for example, “NDF.AXIS(2)”).
-
(7)
- The documentation (SUN/33 and SSN/20) has been updated to reflect these changes.
H.3 Changes Introduced in V1.5
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.4 and V1.5:
-
(1)
- An interface to the library has been added which is callable from C (see Appendices E
and F).
-
(2)
- A new include file “ndf.h” has been added to support the C interface.
-
(3)
- Several new error codes have been introduced to support the C interface.
-
(4)
- References to the VMS operating system have been removed from the documentation
(VMS is no longer supported by the current version of the NDF_ library).
-
(5)
- This document (SUN/33) has been updated to reflect recent changes to the library.
H.4 Changes Introduced in V1.6
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.5 and V1.6:
-
(1)
- Limited support for NDF array components stored in “scaled” form has been introduced.
The new routine NDF_PTSZx will associate scale and zero values with an existing array
component, thus converting it into a scaled array. See §12.4.
H.5 Changes Introduced in V1.7
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.6 and V1.7:
-
(1)
- NDF sections expressions can now include WCS axis values. See §16.3.
-
(2)
- New tuning parameters (“PXT...”) can be used to supress the default propagation of
named NDF extensions by NDF_PROP and NDF_SCOPY. See NDF_TUNE.
H.6 Changes Introduced in V1.8
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.7 and V1.8:
-
(1)
- The routine NDF_HSDAT has been added. This allows history records to be created with
a specified date.
H.7 Changes Introduced in V1.9
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.8 and V1.9:
-
(1)
- A new standard WCS Frame called FRACTION has been introduced, This Frame is
created automatically by the NDF library in the same that the GRID, PIXEL and AXIS
Frames are created. The FRACTION Frame represents normalised pixel coordinates
within the array - each pixel axis spans the range 0.0 to 1.0 in the FRACTION Frame.
-
(2)
- NDF sections specifiers can now use the “%” character to indicate that a value is a percentage
of the entire pixel axis. Thus “m31(50%,)”
will create a section covering the central 50 percent of the NDF on the first pixel axis.
-
(3)
- A history component will now be added automatically to the NDFs created by
NDF_CREAT and NDF_NEW if the “NDF_AUTO_HISTORY” environment variable, or
“AUTO_HISTORY” tuning parameter, is set to a non-zero integer.
H.8 Changes Introduced in V1.10
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.9 and V1.10:
-
(1)
- A new function NDF_ISIN has been added, which determines if one NDF is contained
within another NDF.
-
(2)
- The NDF_SCOPY and NDF_PROP functions now allow an asterisk to be used within the
CLIST argument as a wild card to match all extension names.
H.9 Changes Introduced in V1.11
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.10 and V1.11:
-
(1)
- Limited support for NDF array components stored in “delta’ compressed form has been
introduced. The new routine NDF_ZDELT will create a delta compressed copy of an input
NDF, and the new routine NDF_GTDLT will return details of the compression of a delta
compressed NDF. See §12.5.
-
(2)
- A new function NDF_ZSCAL has been added, which creates a SCALED copy of an input
NDF with SIMPLE or PRIMITIVE array components.
-
(3)
- A new function NDF_CREPL has been added, which allows an NDF placeholder to be
created via a specified environment parameter.
H.10 Changes Introduced in V1.12
The following describes the most significant changes which occurred in the NDF_ system between
versions V1.11 and V1.12:
-
(1)
- Support for 64 bit integer data values added.
-
(2)
- A new tuning parameter SECMAX has been aded, which allows the maximum number
of pixels within an NDF section to be specified. See §23.3.
-
(3)
- A new routine NDF_CANCL can be used to cancel the association between an
environment parameter and an NDF. This is identical to calling PAR_CANCL, except that
NDF_CANCL provides an option to cancel all NDF parameters in a single call, without
needing to know their names.
H.11 Changes Introduced in V1.13
The following describes the most significant changes that occurred in the NDF_ system between
versions V1.12 and V1.13 (the current version):
-
(1)
- A new routine NDF_HCOPY has been added to copy history information from one NDF
to another.
No changes to existing applications should be required, nor is any re-compilation or re-linking
essential.
H.12 Changes Introduced in V2.0
The following describes the most significant changes that occurred in the NDF_ system between
versions V1.13 and V2.0:
-
(1)
- The NDF library is now written entirely in C. However, the Fortran interface has not
changed and is provided by a thin layer on top of the C library.
-
(2)
- The only change to the C interface is that there is now no need to call
ndfInit
to initialise
the library. This is done automatically when an application first calls an NDF function.
-
(3)
- The C interface is now thread safe.
-
(4)
- New functions are provided in the C interface to allow each NDF to be locked for
exclusive access by a single thread.
H.13 Changes Introduced in V2.1
The following describes the most significant changes that occurred in the NDF_ system between
versions V2.0 and V2.1:
-
(1)
- A new tuning parameter called ROUND has been added that controls how floating-point
values are converted to integer during automatic type conversion.
-
(2)
- The behaviour of ndfUnlock has changed. Previously, calling ndfUnlock would
automatically annull all other identifiers associated with the same base NDF. This no
longer happens. Such identifiers can now be used safely once the original thread has
regained the lock on the base NDF.
H.14 Changes Introduced in V2.2
The following describes the most significant changes that occurred in the NDF_ system between
versions V2.1 and V2.2 (the current version):
-
(1)
- It is now possible to specifiy the extent of an NDF section using arc-distance values (see
§??).
Existing applications should be re-compiled and re-linked.
- ←Prev
- NDF
Routines for Accessing the
Extensible N-Dimensional Data Format -
- TOC ↑