The following describes the most significant changes which have
occurred in the AST library between versions V1.5 and V1.6:
- The C interface to several methods (astTranNastTranN, astMarkastMark and
astPolyCurveastPolyCurve) have been changed to make them easier to call from C++.
Parameters which previously had type “double (*)[]” have been changed
to the simpler “double *”. Using the old types may result in non-fatal
compiler warnings, but should not change the behaviour of the methods.
- A bug has been fixed in the PlotPlot class which could cause groups
of tick marks to be skipped when using very small gaps.
- A bug has been fixed in the Plot class which could cause axes to be
labeled outside the visible window, resulting in no axes being visible.
- The FITS-WCS encoding used by the FitsChanFitsChan class now includes the
WCSNAME keyword. When creating a FrameSetFrameSet from FITS headers, the values of
the WCSNAME keywords are now used as the DomainDomain names for the corresponding
Frames in the returned FrameSet. When writing a FrameSet to a FITS header
the Domain names of each FrameFrame are stored in WCSNAME keywords in the
header.
- The FITS-WCS encoding used by the FitsChan class now attempts to
retain the identification letter associated with multiple axis
descriptions. When reading a FrameSet from a FITS header, the identification
letter is stored in the IdentIdent attribute for each Frame. When writing a
FrameSet to a FITS header, the identification letter is read from the
Ident attribute of each Frame. The letter to associate with each Frame
can be changed by assigning a new value to the Frame's Ident attribute.
- The FITS-WCS, FITS-PC, FITS-IRAF and FITS-AIPS encodings used by the
FitsChan class now create a SkyFrameSkyFrame with the SystemSystem attribute set to
“Unknown” if the CTYPE keywords in the supplied header refers to an
unknown celestial coordinate system. Previously, a Frame was used instead
of a SkyFrame.
- The FITS-WCS, FITS-PC, FITS-IRAF and FITS-AIPS encodings used by the
FitsChan class no longer report an error if the FITS header contains no
CTYPE keywords. It is assumed that a missing CTYPE keyword implies that
the world coordinate system is linear and identically equal to
“intermediate world coordinates”.
- The new value “noctype” is now recognized by the WarningsWarnings attribute
of the FitsChan class. This value causes warnings to be issued if CTYPE
keywords are missing from foreign encodings.
- A new attribute called AllWarningsAllWarnings has been added to the FitsChan
class. This is a read-only, space separated list of all the known condition
names which can be specified in the Warnings attribute.
- The FitsChan class now attempts to assigns a TitleTitle to each Frame in
a FrameSet read using a foreign encoding. The Title is based on the Domain
name of the Frame. If the Frame has no Domain name, the default Title
supplied by the Frame class is retained.
- The FitsChan class uses the comments associated with CTYPE
keywords as axis labels when reading a foreign encoding. This behaviour
has been modified so that the default labels provided by the Frame class
are retained (instead of using the CTYPE comments) if any of the CTYPE
comments are identical.
- A new “interpolation” scheme identified by the symbolic constant
AST__BLOCKAVE has been added to the AST_RESAMPLE
X
set of
functions. The new scheme calculates each output pixel value by finding
the mean of the input pixels in a box centred on the output pixel.
- The SkyFrame class can now be used to represent an arbitrary spherical
coordinate system by setting its System attribute to “Unknown”.
- The indices of the latitude and longitude axes of a SkyFrame can
now be found using new read-only attributes LatAxisLatAxis and LonAxisLonAxis. The
effects of any axis permutation is taken into account.
- A new attribute called Ident has been added to the ObjectObject class.
This serves the same purpose as the existing IDID attribute, but (unlike ID)
its value is transferred to the new Object when a copy is made.
- A bug has been fixed which could prevent complex CmpFrames
behaving correctly (for instance, resulting in the failure of attempts
to find a MappingMapping between a CmpFrameCmpFrame and itself).