diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-12-08 18:57:06 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-12-08 18:57:06 (GMT) |
commit | 90a861b642f765d5657ab827aedabe3920ff9333 (patch) | |
tree | 88b93d468ca1feed91ef2958f46f3f74f1418aac /ast/ast.news | |
parent | fba23129f50db253ed3fbbaa23d6e342bf86068e (diff) | |
download | blt-90a861b642f765d5657ab827aedabe3920ff9333.zip blt-90a861b642f765d5657ab827aedabe3920ff9333.tar.gz blt-90a861b642f765d5657ab827aedabe3920ff9333.tar.bz2 |
upgrade AST
Diffstat (limited to 'ast/ast.news')
-rw-r--r-- | ast/ast.news | 1083 |
1 files changed, 0 insertions, 1083 deletions
diff --git a/ast/ast.news b/ast/ast.news deleted file mode 100644 index bd5dbbc..0000000 --- a/ast/ast.news +++ /dev/null @@ -1,1083 +0,0 @@ -AST Library ------------ - A new release (V8.3.0) of the Starlink AST (astrometry) library is -now available. - - AST provides a comprehensive range of facilities for attaching -world coordinate systems (such as RA/Dec, frequency, etc) to astronomical -data, for retrieving and interpreting that information and for generating -graphical output based on it. - - The library should be of interest to anyone writing astronomical -software which needs to manipulate coordinate system data, especially -celestial coordinate systems. AST is portable and -environment-independent. - -Main Changes in this Version ----------------------------- - -- A new method called astAxNorm has been added to the Frame class that -normalises an array of axis values. When used with SkyFrames, it allows -longitude values to be normalised into the shortest range. - -- A bug has been fixed in the Fortran include file AST_PAR that caused constants -related to PI to be defined as single rather than double precision. - -- A bug has been fixed in the astGetRegionBounds method that could -cause the wrong bounds to be returned for regions spanning a longitude = -zero singularity. - -Main Changes in V8.2.0 ----------------------- - -- A new class of Mapping called UnitNormMap has been added that converts a -vector to a unit vector relative to a specified centre, plus length. A -UnitNormMap has N inputs and N+1 outputs.The lower N output coordinates -represent a unit vector parallel to the supplied input vector, and the -(N+1)'th output coordinate is the length of the input vector. - -- The restriction that Mappings are immutable has been extended to all -Mapping classes. This means that attributes representing parameters of -a Mapping's forward or inverse transformation cannot be changed after -the Mapping has been created. In order to minimise the risk to existing -software, this rule does not apply to Mappings that have not yet been -included in other objects such as CmpMaps or FrameSets, or which have not -yet been cloned. In other words, an error is reported if an attempt is -made to change the nature of a Mapping's transformation, but only if the -reference count of the Mapping is greater than one. The Mapping classes -affected include: GrismMap, LutMap, PcdMap, SphMap, WcsMap and ZoomMap. - - -Main Changes in V8.1.0 ----------------------- - -- The configure script has a new option "--without-fortran" that allows -AST to be built in situations where no Fortran compiler is available. The -resulting library has no Fortran interface and so cannot be used within -Fortran applications. Also, the link scripts do not attempt to include the -fortran runtime libraries. - -Main Changes in V8.0.7 ----------------------- - -- A bug in FitsChan has been fixed which could cause a small shift in - spectral axis value when writing out a spectral cube to FITS-WCS headers, - This shift occurred only if the celestial axes in the cube were not FK5 - (RA,Dec). - -- Avoid some more compiler warnings. - -- A "BadKeyValue" warning is now issued by the FitsChan class if an illegal -FITS keyword value is encountered. See attribute "Warnings" and function -"astWarnings". - -Main Changes in V8.0.6 ----------------------- - -- Fix bug in FitsChan that caused SIP headers to be treated as linear -when creating a FrameSet from the headers. - -- Fix bug in LutMap that incorrectly allowed an inverse lutmap to be used -even if the original LutMap was not monotonic. - -- Allow attributes to be set for each plane of a Plot3D. - -- Avoid some compiler warnings. - -Main Changes in V8.0.5 ----------------------- - -- The SkyFrame class has a new attribute called SkyTol, which specifies -the smallest significant distance within the SkyFrame. It is used to -decide if the Mapping between two SkyFrames can be considered a unit -transformation. The default value is 0.001 arc-seconds. - -- A bug has been fixed in the FitsChan class that prevented illegal -characters within FITS keyword names (i.e. characters not allowed by the -FITS standard) being detected. This bug could under some circumstances -cause a subsequent segmentation violation to occur. - -- A "BadKeyName" warning is now issued by the FitsChan class if a FITS -keyword name is encountered that contains any illegal characters. See -attribute "Warnings" and function "astWarnings". - -Main Changes in V8.0.4 ----------------------- - -- The behaviour of the astAddFrame method has been changed slightly. -Previously, astAddFrame modified the FrameSet by storing references to -the supplied Mapping and Frame objects within the FrameSet. This meant -that any subsequent changes to the current Frame of the modified FrameSet -also affected the supplied Frame object. Now, astAddFrame stores deep -copies of the Mapping and Frame objects (rather than references) within -the modified FrameSet. This means that subsequent changes to the modified -FrameSet will now have no effect on the supplied Frame. - -- The choice of default tick-mark for time axes has been improved, to avoid -previous issues which could result in no suitable gap being found, or -inappropriate tick marks when using formatted dates. - -- A new method called astRegionOutline has been added to the Plot class. -It draws the outline of a supplied AST Region. - -- A bug has been fixed that could cause astSimplfy to enter an infinite loop. - -- Some improvements have been made to the Mapping simplification process -that allow more Mappings to be simplified. - -- The Frame class has a new read-only attribute called "InternalUnit", -which gives the units used for the unformatted (i.e. floating-point) axis -values used internally by application code. For most Frames, the -InternalUnit value is just the same as the Unit value (i.e. formatted and -unformatted axis values use the same units). However, the SkyFrame class -always returns "rad" for InternalUnit, regardless of the value of Unit, -indicating that floating-point SkyFrame axis values are always in units -of radians. - -- The LutMap class has a new attribute called LutEpsilon, which specifies -the relative error of the values in the table. It is used to decide if -the LutMap can be simplified to a straight line. - - -Main Changes in V8.0.3 ----------------------- - -- Methods astRebin, astRebinSeq, astResample and astTranGrid now report an -error if an array is specified that has more pixels than can be counted by -a 32 bit integer. - -- The hypertext documentation is now generated using Tex4HT rather -than latex2html. The format of the hypertext docs has changed -significantly. - -- Another bug fix associated with reading CAR projections from FITS-WCS headers. - -- Constructor options strings of the form "..., "%s", text );" can now be -supplied. This avoids a security issue associated with the alternative -form "..., text );". - - -Main Changes in V8.0.2 ----------------------- - -- For security reasons, the change introduced to astAppendString in - V8.0.1 has been moved to a new function called astAppendStringf, and - astAppendString itself has been reverted to its V8.0.0 version. - - -Main Changes in V8.0.1 ----------------------- - -- The macro used to invoke the astAppendString utility function has - changed to allow printf-style converstions to be included in the - supplied text. Any code that uses this macro must be re-compiled. - -- The astRebin and astRebinSeq family of functions now include support - for arrays with char (byte) and unsigned char (unsigned byte) data types. - -- The Base and Current attributes of a FrameSet may now be set using the - Domain name or the index of the required Frame. - -- The FITS XPH projection is now supported. - -- The order of WCS axes within new FITS-WCS headers created by astWrite - can now be controlled using a new attribute called FitsAxisOrder. - -Main Changes in V8.0.0 ----------------------- - -- AST is now distributed under the Lesser GPL licence. - -- Least squares fitting of N-dimensional polynomials is now done using -files copied from the C/C++ Minpack package (see -http://devernay.free.fr/hacks/cminpack/index.html). - -- Use of the IAU SOFA library has been replaced by ERFA library, which is -a re-badged copy of SOFA distributed under a less restrictive license. A -copy of ERFA is included within AST. - -Main Changes in V7.3.4 ----------------------- - -- By default, the simplification of Polygons no longer checks that the -edges are not bent by the simplification. A new attribute, SimpVertices, -can be set to zero in order to re-instate this check. - -- The Polygon class has a new mathod, astConvex, that returns a Polygon -representing the shortest polygon (i.e. convex hull) enclosing a -specified set of pixel values within a supplied array. - -Main Changes in V7.3.3 ----------------------- - -- The FitsChan class has new attributes CardName and CardComm, which hold -the keyword name and comment of the current card. - -- When reading FITS-WCS headers that include polynomial distortion in the -SIP format, any inverse transformation specified in the header is now -ignored and a new inverse is created to replace it based on the supplied -forward transformation. Previously, an inverse was created only if the -header did not include an inverse. The accuracy of the inverse -transformation has also been improved, although it may now be slower to -evaluate in some circumstances. - -- A bug has been fixed that could over-write the FitsChan CarLin attribute -with a non-zero value if the header contains a spectral axis. - -- The default options for each newly created FitsChan can now be -specified via the environment variable FITSCHAN_OPTIONS. - -Main Changes in V7.3.2 ----------------------- - -- Fix support for reading GLS projections from FITS headers. - -- The KeyMap class has new sorting options "KeyAgeUp" and "KeyAgeDown" that -retain the position of an existing entry if its value is changed. See the -SortBy attribute. - -- A bug has been fixed in FitsChan that caused CDELT keywords for sky -axes to be treated as radians rather than degrees when reading a FITS -header, if the corresponding CTYPE values included no projection code. - - -Main Changes in V7.3.1 ----------------------- - -- Fix bug that could cause a segmenatation fault when reading a FITS TNX -header. - -Main Changes in V7.3.0 ----------------------- - -- IMPORTANT! The interface for the astRebinSeq<X> (AST_REBINSEQ) family -of functions has been changed in order to allow a greater number of -pixels to be pasted into the output array. In C, the "nused" parameter -is now a pointer to a "int64_t" variable, instead of a simple "int". In -Fortran, the NUSED argument for AST_REBINSEQ<X> is now an INTEGER*8. - -APPLICATION CODE SHOULD BE CHANGED ACCORDINGLY TO AVOID SEGMENTATION -FAULTS AND OTHER ERRATIC BEHAVIOUR. - -- Added a new facility to the FrameSet class to allow each Frame to be -associated with multiple Mappings, any one of which can be used to -connect the Frame to the other Frames in the FrameSet. The choice of -which Mapping to use is controlled by the new "Variant" attribute of the -FrameSet class. - -- Mappings (but not Frames) that have a value set for their Ident attribute -are now left unchanged by the astSimplify (AST_SIMPLIFY) function. - -Main Changes in V7.2.0 ----------------------- - -- A new method call astMapDefined has been added to the KeyMap class. -It checks if a gtiven key name has a defined value in a given KeyMap. - - -Main Changes in V7.1.1 ----------------------- - -- A bug has been fixed in FitsChan that caused inappropriate CTYPE values -to be generated when writing a FrameSet to FITS-WCS headers if the -current Frame describes generalised spherical coordinates (i.e. a -SkyFrame with System=Unknown). - -- When a FitsChan is used to write an "offset" SkyFrame (see attribute -SkyRefIs) to a FITS-WCS encoded header, two alternate axis descriptions -are now created - one for the offset coordinates and one for the absolute -coordinates. If such a header is subsequently read back into AST, the -original offset SkyFrame is recreated. - - -Main Changes in V7.1.0 ----------------------- - -- IMPORTANT! The default behaviour of astRebinSeq is now NOT to conserve -flux. To conserve flux, the AST__CONSERVEFLUX flag should be supplied -when calling astRebinSeq. Without this flag, each output value is a -weighted mean of the neighbouring input values. - -- A new flag AST__NONORM can be used with astRebinSeq<X> to indicate that -normalisation of the output arrays is not required. In this case no -weights array need be supplied. - -- A bug has been fixed in astAddFrame (AST_ADDFRAME) method that could -result in the incorrect inversion of Mappings within the FrameSet when -the AST__ALLFRAMES flag is supplied for the "iframe" parameter. - -- The astRate method has been re-written to make it faster and more -reliable. - -Main Changes in V7.0.6 ----------------------- - -- A bug has been fixed in astRebinSeq<X> which could result in -incorrect normalisation of the final binned data and variance values. - -- When reading a FrameSet from a FITS-DSS header, the keywords CNPIX1 and -CNPIX2 now default to zero if absent. Previously an error was reported. - -Main Changes in V7.0.5 ----------------------- - -- The FitsChan class can now read FITS headers that use the SAO -convention for representing distorted TAN projections, based on the use -of "COi_j" keywords to hold the coefficients of the distortion polynomial. - - -Main Changes in V7.0.4 ----------------------- - -- The previously private grf3d.h header file is now installed into -prefix/include. - - -Main Changes in V7.0.3 ----------------------- - -- A bug has been fixed which could cause an incorrect axis to be used when -accessing axis attributes within CmpFrames. This could happen if axes -within the CmpFrame have been permuted. - -- A bug has been fixed in the SkyFrame class that could cause the two -values of the SkyRef and/or SkyRefP attributes to be reversed. - -- Bugs have been fixed in the CmpRegion class that should allow the border -around a compound Region to be plotted more quickly, and more accurately. -Previously, component Regions nested deeply inside a CmpRegion may have -been completely or partially ignored. - -- A bug has been fixed in the Plot3D class that caused a segmentation -violation if the MinTick attribute was set to zero. - -- The astResampleX set of methods now includes astResampleK and -astResampleUK that handles 64 bit integer data. - -Main Changes in V7.0.2 ----------------------- - -- The libast_pal library is no longer built if the "--with-external_pal" -option is used when AST is configured. - - -Main Changes in V7.0.1 ----------------------- - -- The levmar and wcslib code distributed within AST is now stored in the -main AST library (libast.so) rather than in separate libraries. - - -Main Changes in V7.0.0 ----------------------- - -- Fundamental positional astronomy calculations are now performed -using the IAU SOFA library where possible, and the Starlink PAL library -otherwise (the PAL library contains a subset of the Fortran Starlink SLALIB -library re-written in C). Copies of these libraries are bundled with AST -and so do not need to be obtained or built separately, although external -copies of SOFA and PAL can be used if necessary by including the -"--with-external_pal" option when configuring AST. - - -Main Changes in V6.0-1 ------------------------ - -- The Spitzer "-SIP" distortion code is now recognised within FITS -headers that describe non-celestial axes, as well as celestial axes. - -- A bug has been fixed that could cause inappropriate equinox values to -be used when aligning SkyFrames if the AlignSystem attribute is set. - -- The format of the version string for AST has changed from -"<major>.<minor>-<release>" to "<major>.<minor>.<release>". - -Main Changes in V6.0 ------------------------ - -- This version of AST is the first that can be used with the Python -AST wrapper module, starlink.Ast, available at http://github.com/timj/starlink-pyast. - -- When reading a FITS-WCS header, the FitsChan class now recognises the -non-standard "TPV" projection code within a CTYPE keyword value. This -code is used by SCAMP (see www.astromatic.net/software/scamp) to -represent a distorted TAN projection. - -- The Plot class has been changed to remove visual anomalies (such as -incorrectly rotated numerical axis labels) if the graphics coordinates have -unequal scales on the X and Y axes. - -- The graphics escape sequences used to produce graphical sky axis labels -can now be changed using the new function astTuneC (AST_TUNEC). - -Main Changes in V5.7-2 ------------------------ - -- The PolyMap class can now use an iterative Newton-Raphson method to -evaluate the inverse the inverse transformation if no inverse -transformation is defined when the PolyMap is created. - -- The FitsChan class has a new method astWriteFits (AST_WRITEFITS) -which writes out all cards currently in the FitsChan to the associated -external data sink (specified either by the SinkFile attribute or the -sink function supplied when the FitsChan was created), and then empties -the FitsChan. - -- The FitsChan class has a new method astReadFits (AST_READFITS) -which forces the FitsChan to reads cards from the associated external -source and appends them to the end of the FitsChan. - -- The FitsChan class has a new read-only attribute called "Nkey", which -holds the number of keywords for which values are held in a FitsChan. - -- The FitsChan class has a new read-only attribute called "CardType", which -holds the data type of the keyword value for the current card. - -- The FitsChan astGetFits<X> (AST_GETFITS<X>) methods can now be used to -returned the value of the current card. - -- If the FitsChan astRead method reads a FITS header that uses the --SIP (Spitzer) distortion code within the CTYPE values, but which does -not provide an inverse polynomial correction, and for which the PolyTran -method of the PolyMap class fails to create an accurate estimate of the -inverse polynomial correction, then an iterative method will be used to -evaluate the inverse correction for each point transformed. - -- The Object class has a new function astToString (C only), which creates -an in-memory textual serialisation of a given AST Object. A corresponding -new function called astFromString re-creates the Object from its -serialisation. - - -Main Changes in V5.7-1 ------------------------ - -- All classes of Channel can now read to and write from specified text -files, without the need to provide source and sink functions when the -Channel is created. The files to use are specified by the new attributes -SourceFile and SinkFile. - -- The FitsChan class now ignores trailing spaces in character-valued WCS -keywords when reading a FrameSet from a FITS header. - -- If the FitsChan astRead method reads a FITS header that uses the -SIP -(Spitzer) distortion code within the CTYPE values, but which does not -provide an inverse polynomial correction, the FitsChan class will now use -the PolyTran method of the PolyMap class to create an estimate of the -inverse polynomial correction. - - - -Main Changes in V5.7-0 ------------------------ - -- The FitsChan class support for the IRAF-specific "TNX" projection has -been extended to include reading TNX headers that use a Chebyshev -representation for the distortion polynomial. - -- The FitsChan class support for the IRAF-specific "ZPX" projection has -been extended to include reading ZPX headers that use simple or Chebyshev -representation for the distortion polynomial. - -- A bug has been fixed in the FitsChan class that caused headers -including the Spitzer "-SIP" distortion code to be read incorrectly if no -inverse polynomial was specified in the header. - -- A new attribute called PolyTan has been added to the FitsChan class. It -can be used to indicate that FITS headers that specify a TAN projection -should be interpreted according to the "distorted TAN" convention -included in an early draft of FITS-WCS paper II. Such headers are created -by (for instance) the SCAMP tool (http://www.astromatic.net/software/scamp). - -- The PolyMap class now provides a method called astPolyTran (AST_POLYTRAN) -that adds an inverse transformation to a PolyMap by sampling the forward -transformation on a regular grid, and then fitting a polynomial function -from the resulting output values to the grid of input values. - - -Main Changes in V5.6-1 ------------------------ - -- Tables can now have any number of parameters describing the global -properties of the Table. - -- Frames now interpret the unit string "A" as meaning "Ampere" rather -than "Angstrom", as specified by FITS-WCS paper I. - -- A bug has been fixed in the astFindFrame (AST_FINDFRAME) method that -allowed a template Frame of a more specialised class to match a target -frame of a less specialised class. For example, this bug would allow a -template SkyFrame to match a target Frame. This no longer happens. - - -Main Changes in V5.6-0 ------------------------ - -- New functions astBBuf (AST_BBUF) and astEBuf (AST_EBUF) have been added -to the Plot class. These control the buffering of graphical output -produced by other Plot methods. - -- New functions astGBBuf and astGEBuf have been added to the interface -defined by file grf.h. The ast_link command has been modified so that the --grf_v3.2 switch loads dummy versions of the new grf functions. This -means that applications that use the -grf_v3.2 switch should continue to -build without any change. However, the new public functions astBBuf and -astEBuf described in the previous item will report an error unless the -new grf functions are implemented. If you choose to implement them, you -should modify your linking procedure to use the -grf (or -grf_v5.6) -switch in place of the older -grf_v3.2 switch. See the description of the -ast_link command for details of these switches. - -- New method astGetRegionMesh (AST_GETREGIONMESH) returns a set of -positions covering the boundary, or volume, of a supplied Region. - -Main Changes in V5.5-0 ------------------------ - -- The FitsChan "TabOK" attribute is now an integer value rather -than a boolean value. As in previous versions, it is used to indicate -whether the "-TAB" algorithm should be supported by the astRead -(AST_READ) and astWrite (AST_WRITE) methods, but in addition it is now -also used to give the version number to assign to any table gebnerated as -a consequence of calling astWrite (AST_WRITE). A negative or zero value -(the default) indicates that support for the -TAB algorithm is not -available, where as a positive non-zero value indicates that support is -available and also gives the table version number to use when creating -subsequent -TAB headers. - - -Main Changes in V5.4-0 ------------------------ - -- The FitsChan class now has an option to support reading and writing -of FITS-WCS headers that use the -TAB algorithm described in FITS-WCS paper -III. This option is controlled by a new FitsChan attribute called TabOK. -See the documentation for TabOK for more information. - -- A new class called "Table" has been added. A Table is a KeyMap in -which each entry represents a cell in a two-dimensional table. - -- A new class called "FitsTable" has been added. A FitsTable is a -Table that has an associated FitsChan holding headers appropriate to a -FITS binary table. - -- KeyMaps can now hold byte (i.e. "unsigned char" or BYTE) values. - -- A new method called astMapRename (AST_MAPRENAME) has been added to rename -an existing entry in a KeyMap. - -- KeyMaps have a new attribute called KeyCase that can be set to zero to -make the handling of keys case insensitive. - -Main Changes in V5.3-2 ------------------------ - -- A bug has been fixed in the FitsChan class that could cause wavelength -axes to be assigned the units "m/s" when reading WCS information from a -FITS header. - -- The astSet function (AST_SET) now allows literal commas to be included in -string attribute values. String attribute values that include a literal -comma should be enclosed in quotation marks. - -- A bug in FitsChan has been fixed that caused "-SIN" projection codes within -FITS-WCS headers to be mis-interpreted, resulting in no FrameSet being -read by astRead. - -- The KeyMap class has a new attribute called "SortBy". It controls -the order in which keys are returned by the astMapKey (AST_MAPKEY) function. -Keys can be sorted alphabetically or by age, or left unsorted. - -- Access to KeyMaps holding thousands of entries is now significantly -faster. - -- KeyMaps can now hold word (i.e. "short int" or INTEGER*2) values. - -Main Changes in V5.3-1 ------------------------ - -- The KeyMap class has a new method called astMapCopy/AST_MAPCOPY that -copies entries from one KeyMap to another KeyMap. - -- The KeyMap class now supports entries that have undefined values. A -new method called astMapPutU/AST_MAPPUTU will store an entry with undefined -value in a keymap. - -- The KeyMap class has a new boolean attribute called MapLocked. If true -(non-zero), an error is reported if an attempt is made to add any new entries -to a KeyMap (the value associated with any old entry may still be changed # -without error). The default is false (zero). - -- The Object class has a new method called astHasAttribute/AST_HASATTRIBUTE -that returns a boolean value indicating if a specified Object has a named -attribute. - -- The SkyFrame class has two new read-only boolean attributes called -IsLatAxis and IsLonAxis that can be used to determine the nature of a -specified SkyFrame axis. - -- A bug has been fixed in the astRebin(Seq)/AST_REBIN(SEQ) methods -that could cause flux to be lost from the edges of the supplied array. - -- A bug has been fixed in the astRebin(Seq)/AST_REBIN(SEQ) methods -that caused the first user supplied parameter to be interpreted as the -full width of the spreading kernel, rather than the half-width. - -- The StcsChan class now ignores case when reading STC-S phrases (except -that units strings are still case sensitive). - -- The Channel class now has an Indent attribute that controls indentation -in the text created by astWrite/AST_WRITE. The StcsIndent and XmlIndent -attributes have been removed. - -- All classes of Channel now use the string "<bad>" to represent the -floating point value AST__BAD, rather than the literal formatted value -(typically "-1.79769313486232e+308" ). - -- The KeyMap class now uses the string "<bad>" to represent the -floating point value AST__BAD, rather than the literal formatted value -(typically "-1.79769313486232e+308" ). - -- The KeyMap class has a new method called astMapPutElem<X>/AST_MAPPUTELEM<X> -that allows a value to be put into a single element of a vector entry in -a KeyMap. The vector entry is extended automatically to hold the new -element if required. - -- The DSBSpecFrame class now reports an error if the local oscillator -frequency is less than the absoliute value of the intermediate frequency. - -- A new method astQuadApprox produces a quadratic fit to a 2D Mapping. - -- A new method astSkyOffsetMap produces a Mapping from absolute SkyFrame -coordinates to offset SkyFrame coordinates. - - -Main Changes in Version 5.3 ---------------------------- - -- The details of how a Frame is aligned with another Frame by the -astFindFrame and astConvert (AST_FINDFRAME and AST_CONVERT) functions -have been changed. The changes mean that a Frame can now be aligned with -an instance of a sub-class of Frame, so long as the number of axes and -the Domain values are consistent. For instance, a basic 2-dimensional -Frame with Domain "SKY" will now align succesfully with a SkyFrame, -conversion between the two Frames being achieved using a UnitMap. - -- The arrays that supply input values to astMapPut1<X> are now declared -"const". - -- Added method astMatchAxes (AST_MATCHAXES) to the Frame class. This -allows corresponding axes in two Frames to be identified. - -- The astAddFrame (AST_ADDFRAME) method can now be used to append one or -more axes to all Frames in a FrameSet. - - -Main Changes in Version 5.1 ---------------------------- - -- A new method called astSetFitsCM (AST_SETFITSCM) has been added to -the FitsChan class. It stores a pure comment card in a FitsChan (that -is, a card with no keyword name or equals sign). - -- A new attribute called ObsAlt has been added to the Frame class. It -records the geodetic altitude of the observer, in metres. It defaults to -zero. It is used when converting times to or from the TDB timescale, or -converting spectral positions to or from the topocentric rest frame, or -converting sky positions to or from horizon coordinates. The FitsChan -class will include its effect when creating a set of values for the -OBSGEO-X/Y/Z keywords, and will also assign a value to it when reading a -set of OBSGEO-X/Y/Z keyword values from a FITS header. - -- The TimeMap conversions "TTTOTDB" and "TDBTOTT", and the SpecMap -conversions "TPF2HL" and "HLF2TP", now have an additional argument - -the observer's geodetic altitude. - -- The Polygon class has been modified to make it consistent with the -IVOA STC definition of a Polygon. Specifically, the inside of a polygon -is now the area to the left of each edge as the vertices are traversed in -an anti-clockwise manner, as seen from the inside of the celestial sphere. -Previously, AST used the anti-clockwise convention, but viewed from the -outside of the celestial sphere instead of the inside. Any Polygon saved -using previous versions of AST will be identified and negated automatically -when read by AST V5.2. - -- A new class of Channel, called StcsChan, has been added that allows -conversion of suitable AST Objects to and from IVOA STC-S format. - -- A new method called astDownsize (AST_DOWNSIZE) has been added to the -Polygon class. It produces a new Polygon that contains a subset of the -vertices in the supplied Polygon. The subset is chosen to retain the main -features of the supplied Polygion, in so far as that is possible, within -specified constraints. - -- A new constructor called astOutline (AST_OUTLINE) has been added to the -Polygon class. Given a 2D data array, it identifies the boundary of a -region within the array that holds pixels with specified values. It then -creates a new Polygon to describe this boundary to a specified accuracy. - -- A new method called astRemoveRegions (AST_REMOVEREGIONS) has been added -to the Mapping class. It removes the masking effects of any Regions found -within a (possibly compound) Mapping or Frame. In effect, it replaces -each Region found within the Mapping or Frame with a UnitMap or -equivalent Frame. - -- A new set of methods, called astMapGetElem<X> (AST_MAPGETELEM<X>) has -been added to the KeyMap class. They allow a single element of a vector -valued entry to be returned. - -- A new attribute called KeyError has been added to the KeyMap Class. It -controls whether the astMapGet... (AST_MAPGET...) family of functions report -an error if an entry with the requested key does not exist in the KeyMap. - -Main Changes in Version 5.1 ---------------------------- - -- The astUnlock function now has an extra parameter that controls whether -or not an error is reported if the Object is currently locked by another -thread. - -- The values of the AST__THREADSAFE macro (defined in ast.h) have -been changed from "yes" and "no" to "1" and "0". - -- The PointList class has a new method, astPoints, that copies the axis -values from the PointList into a supplied array. - -- The PointList class has a new (read-only) attribute, ListSize, that -gives the number of points stored in the PointList. - -- A new method (astIntersect) has been added to the Frame class. It -determines the position at which two geodesic curves intersect. - -- The XmlStrict attribute and astXmlWarnings function have been removed. -The same functionality is now available via the existing Strict attribute, -a new attribute called ReportLevel, and a new function called astWarnings. - -- A bug in the type-checking of Objects passed as arguments to constructor -functions has been fixed. This bug could lead to applications crashing or -showing strange behaviour if an inappropriate class of Object was -supplied as an argument to a constructor. - -- The astPickAxes function will now return a Region, if possible, when -applied to a Region. If this is not possible, a Frame will be returned as -before. - -- The default gap size between the ISO date/time labels used by the Plot -class when displaying an annotated axis described by a TimeFrame has been -changed. The changes are meant to improve the labelling of calendar time -axes that span intervals from a day to a few years. - -Main Changes in Version 5.0 ---------------------------- - -- AST is now thread-safe. Many of the macro definitions in the "ast.h" -header file have changed, and so all source code that include "ast.h" -should be re-compiled. - -- The TimeFrame class now support Local Time as a time scale. The offset -from UTC to Local Time is specified by a new TimeFrame attribute called -LTOffset. - -- Addition of a new class called Plot3D that provides facilities for -producing 3-dimensional annotated coordinate grids. - -- A correction for diurnal aberration is now included when -converting between AZEL and other celestial coordinate systems. The -correction is based on the value of the ObsLat Frame attribute (the -geodetic latitude of the observer). - -- A bug has been fixed which caused the DUT1 attribute to be ignored -by the SkyFrame class when finding conversions between AZEL and other -celestial coordinate systems. - -- The Channel class has a new attribute called Strict which controls -whether or not to report an error if unexpected data items are found -within an AST Object description read from an external data source. Note, -the default behaviour is now not to report such errors. This differs from -previous versions of AST which always reported an error is unexpected -input items were encountered. - - - -Main Changes in Version 4.5 ---------------------------- - -- All FITS-CLASS headers are now created with a frequency axis. If the -FrameSet supplied to astWrite contains a velocity axis (or any other form -of spectral axis) it will be converted to an equivalent frequency axis -before being used to create the FITS-CLASS header. - -- The value stored in the FITS-CLASS keyword "VELO-LSR" has been changed -from the velocity of the source to the velocity of the reference channel. - -- Addition of a new method call astPurgeWCS (AST_PURGEWCS) to the FitsChan -class. This method removes all WCS-related header cards from a FitsChan. - -- The astRebinSeq functions now have an extra parameter that is used to -record the total number of input data val;ues added into the output -array. This is necessary to correct a flaw in the calculation of output -variances based on the spread of input values. NOTE, THIS CHANGE WILL -REQUIRE EXISTING CODE THAT USES ASTREBINSEQ TO BE MODIFIED TO INCLUDE THE -NEW PARAMETER (CALLED "NUSED"). -- The Plot class now honours the value of the LabelUp attribute even if -numerical labels are placed around the edge of the Plot. Previously -LabelUp was only used if the labels were drawn within the interior of -the plot. The LabelUp attribute controls whether numerical labels are -drawn horizontally or parallel to the axis they describe. -- The Plot class has a new attribute called GrfContext that can be used -to comminicate context information between an application and any -graphics functions registered with the Plot class via the astGrfSet -(AST_GRFSET) function. -- Functions registered with the Plot class using astGrfSet (AST_GRFSET) -now take a new additional integer parameter, "grfcon". The Plot class -sets this parameter to value of the Plot's GrfContext attribute before -calling the graphics function. NOTE, THIS CHANGE WILL REQUIRE EXISTING -CODE THAT USES astGrfSet (AST_GRFSET) TO BE MODIFIED TO INCLUDE THE -NEW PARAMETER. -- Support has been added for the FITS-WCS "HPX" projection (HEALPix). -- A new flag "AST__VARWGT" can be supplied to astRebinSeq. This causes -the input data values to be weighted using the reciprocals of the input -variances (if supplied). -- The Frame class has a new read-only attribute called NormUnit that -returns the normalised value of the Unit attribute for an axis. Here, -"normalisation" means cancelling redundant units, etc. So for instance, a -Unit value of "s*(m/s)" would result in a NormUnit value of "m". -- A new method astShowMesh has been added to the Region class. It -displays a mesh of points covering the surface of a Region by writing out -a table of axis values to standard output. -- A bug has been fixed that could segmentation violations when setting -attribute values. - -Main Changes in Version 4.4 ---------------------------- - -- The astFindFrame (AST_FINDFRAME) method can now be used to search a -CmpFrame for an instance of a more specialised class of Frame (SkyFrame, -TimeFrame, SpecFrame, DSBSpecFrame or FluxFrame). That is, if an instance -of one of these classes is used as the "template" when calling -astFindFrame, and the "target" being searched is a CmpFrame (or a -FrameSet in which the current Frame is a CmpFrame), then the component -Frames within the CmpFrame will be searched for an instance of the -supplied template Frame, and, if found, a suitable Mapping (which will -include a PermMap to select the required axes from the CmpFrame) will be -returned by astFindFrame. Note, for this to work, the MaxAxes and MinAxes -attributes of the template Frame must be set so that they cover a range -that includes the number of axes in the target CmpFrame. - -- The DSBSpecFrame class has a new attribute called AlignSB that -specifies whether or not to take account of the SideBand attributes when -aligning two DSBSpecFrames using astConvert (AST_CONVERT). - -- The Frame class has a new attribute called Dut1 that can be used to -store a value for the difference between the UT1 and UTC timescales at -the epoch referred to by the Frame. - -- The number of digits used to format the Frame attributes ObsLat and -ObsLon has been increased. - -- The use of the SkyFrame attribute AlignOffset has been changed. This -attribute is used to control how two SkyFrames are aligned by astConvert. -If the template and target SkyFrames both have a non-zero value for -AlignOffset, then alignment occurs within the offset coordinate systems -(that is, a UnitMap will always be used to align the two SkyFrames). - -- The Plot class has a new attribute called ForceExterior that can be -used to force exterior (rather than interior) tick marks to be produced, -even if this would result in less than 3 tick marks being produced. - -- The TimeFrame class now supports conversion between angle based -timescales such as UT1 and atomic based timescales such as UTC. - - -Main Changes in Version 4.3 ---------------------------- - -- The SpecFrame class has a new attribute called SourceSys that specified -whether the SourceVel attribute (which specifies the rest frame of the -source) should be accessed as an apparent radial velocity or a redshift. -Note, any existing software that assumes that SourceVel always represents -a velocity in km/s should be changed to allow for the possibility of -SourceVel representing a redshift value. - -- The astGetFitsS (AST_GETFITSS) function now strips trailing white space -from the returned string, if the original string contains 8 or fewer -characters. - - -Main Changes in Version 4.2 ---------------------------- - -- The SideBand attribute of the DSBSpecFrame class can now take the -option "LO" in addition to "USB" and "LSB". The new option causes the -DSBSpecFrame to represent the offset from the local oscillator frequency, -rather than either of the two sidebands. - -- The FitsChan class has been changed so that it writes out a VELOSYS -keyword when creating a FITS-WCS encoding (VELOSYS indicates the -topocentric apparent velocity of the standard of rest). FitsChan also -strips out VELOSYS keywords when reading a FrameSet from a FITS-WCS -encoding. - -- The FitsChan class has a new method called astRetainFits (AST_RETAINFITS) -that indicates that the current card in the FitsChan should not be -stripped out of the FitsChan when an AST Object is read from the FitsChan. -Unless this method is used, all cards that were involved in the creation -of the AST Object will be stripped from the FitsChan afte a read operation. - -- The ast_link_adam and ast_link scripts now ignore the -fsla and -csla -options, and always link against the minimal cut-down version of SLALIB -distributed as part of AST. - -- A problem with unaligned memory access that could cause bus errors on -Solaris has been fixed. - -- A new function called astTune (or AST_TUNE) has been added which can be -used to get and set global AST tuning parameters. At the moment there are -only two such parameter, both of which are concerned with memory management -within AST. - -- A new method called astTranGrid (AST_TRANGRID in Fortran) has been -added to the Mapping class. This method creates a regular grid of points -covering a rectangular region within the input space of a Mapping, and -then transforms this set of points into the output space of the Mapping, -using a piecewise-continuous linear approximation to the Mapping if -appropriate in order to achive higher speed. - -- A new subclass of Mapping has been added called SwitchMap. A -SwitchMap represents several alternate Mappings, each of which is used to -transforms input positions within a different region of the input -coordinate space. - -- A new subclass of Mapping has been added called SelectorMap. A -SelectorMap tests each input position to see if it falls within one of -several Regions. If it does, the index of the Region containing the -input position is returned as the Mapping output. - -- The behaviour of the astConvert (AST_CONVERT) method when trying to -align a CmpFrame with another Frame has been modified. If no conversion -between positions in the Frame and CmpFrame can be found, an attempt is -now made to find a conversion between the Frame and one of two component -Frames contained within the CmpFrame. Thus is should now be possible to -align a SkyFrame with a CmpFrame containing a SkyFrame and a SpecFrame -(for instance). The returned Mapping produces bad values for the extra -axes (i.e. for the SpecFrame axis in the above example). - -Main Changes in Version 4.1 ---------------------------- - -- A new control flag has been added to the AST_RESAMPLE<X>/astResample<X> -functions which produces approximate flux conservation. - -- The SkyFrame class now supports a System value of "AZEL" corresponding -to horizon (azimuth/elevation) coordinates. - -- The FitsChan class allows the non-standard strings "AZ--" and "EL--" to -be used as axis types in FITS-WCS CTYPE keyword values. - -- The Frame class now has attributes ObsLon and ObsLat to specify -the geodetic longitude and latitude of the observer. - -- The ClockLon and ClockLat attributes have been removed from the -TimeFrame class. Likewise, the GeoLon and GeoLat attributes have been -removed from the SpecFrame class. Both classes now use the ObsLon and -ObsLat attributes of the parent Frame class instead. However, the old -attribute names can be used as synonyms for ObsLat and ObsLon. Also, -dumps created using the old scheme can be read succesfully by AST V4.1 -and converted to the new form. - -- A new function astMapSplit has been added to the Mapping class. This -splits a Mapping into two component Mappings which, when combined in -parallel, are equivalent to the original Mapping. - -- The default value for the SkyRefIs attribute has been changed from -"Origin" to "Ignored". This means that if you want to use a SkyFrame -to represent offsets from some origin position, you must now set the -SkyRefIs attribute explicitly to either "Pole" or "Origin", in addition -to assigning the required origin position to the SkyRef attribute. - - -Main Changes in Version 4.0 ---------------------------- - -- Experimental support for reading IVOA Space-Time-Coordinates (STC) -descriptions using the XmlChan class has been added. Support is included -for a subset of V1.20 of the draft STC specification. - -- A new set of methods (AST_REBIN<X>/astRebin<X>) has been added to -the Mapping class. These are accurately flux-conserving alternatives to the -existing AST_RESAMPLE<X>/astResample<X> methods. - - -Main Changes in Version 3.7 ---------------------------- - -- Support for time coordinate systems has been introduced throught the -addition of two new classes, TimeFrame and TimeMap. The TimeFrame is a -1-dimensional Frame which can be used to describe moments in time (either -absolute or relative) in various systems (MJD, Julian Epoch, etc.) and -referred to various time scales (TAI, UTC, UT1, GMST, etc). The TimeMap -is a Mapping which can transform time values between these various -systems and time scales. - - -Main Changes in Version 3.6 ---------------------------- - -- If the Format attribute associated with an axis of a SkyFrame starts -with a percent character (%), then axis values are now formatted and -unformatted as a decimal radians value, using the Format syntax of a -simple Frame. - -- The Plot class has a new attribute called Clip which controls the -clipping performed by AST at the plot boundary. - -- The PolyMap class has been modified to allow a PolyMap to be written -succesfully to a FitsChan using Native encoding. - -- A mimimal cut down subset of the C version of SLALIB is now included -with the AST distribution and built as part of building AST. This means -that it is no longer necessary to have SLALIB installed separately at -your site. The SLALIB code included with AST is distrubuted under the -GPL. The default behaviour of the ast_link script is now to link with -this internal slalib subset. However, the ``-csla'' option can still be -used to force linking with an external full C SLALIB library. A new -option ``-fsla'' has been introduced which forces linking with the -external full Fortran SLALIB library. - - -Main Changes in Version 3.5 ---------------------------- - -- AST now provides facilities for representing regions of various -shapes within a coordinate system. The Region class provides general -facilities which are independent of the specific shape of region being -used. Various sub-classes of Region are also now available which provide -means of creating Regions of specific shape. Facilities provided by the -Region class include testing points to see if they are inside the -Region, testing two Regions for overlap, transforming Regions from one -coordinate system to another, etc. - -- A new class of 1-dimensional Frame called FluxFrame has been added which -can be used to describe various systems for describing ovserved value at a -single fixed spectral position. - -- A new class of 2-dimensional Frame called SpecFluxFrame has been added which -can be used to describe a 2-d frame spanned by a spectral position axis -and and an observed value axis. - -- A new class of Mapping called RateMap has been added. A RateMap encapsulates -a previously created Mapping. The inputs of the RateMap correspond to the -inputs of the encapsulated Mapping. All RateMaps have just a single -output which correspond to the rate of change of a specified output of -the encapsulated Mapping with respect to a specified input. - -- The SkyFrame class now supports a value of "J2000" for System. This -system is an equatorial system based on the mean dynamical equator and -equinox at J2000, and differs slightly from an FK5(J2000) system. - -- Methods have been added to the FitsChan class to allow values for named -keywords to be changed or added. - -- The parameter list for the astRate method of the Mapping class has been -modified. It no longer returns a second derivative estimate. Existing -code which uses the astRate (AST_RATE) method will need to be changed. |