Releases to date have been as follows:
stilts
",
invoked using the stilts
script or the
stilts.jar
jar file, and the various tasks are
named as subsequent arguments on the command line.
Command arguments are supplied after that.
The new invocation syntax is described in detail elsewhere in
this document. As well as invocation features such
as improved on-line help, optional prompting,
parameter defaulting, and more uniform access to common features,
this will make it more straightforward to wrap these tasks
for use in non-command-line environments, such as behind a
SOAP or CORBA interface, or in a CEA-like execution environment.
tmatch2
has been introduced.
This provides flexible and efficient crossmatching between
two input tables. Future releases will provide commands for
intra-table and multi-table matching.
tcat
has been introduced, which
allows two tables to be glued together top-to-bottom.
This is currently working but very rudimentary - improvements
will be forthcoming in future releases.
calc
has been introduced,
which performs one-line expression evaluations from the
command line.
tpipe
and other commands have been introduced:
addskycoords
: calculates new
celestial coordinate pair from existing ones
(FK4, FK5, ecliptic, galactic, supergalactic)replacecol
: replaces column data,
using existing metadatabadval
: replaces given 'magic'
value with nullreplaceval
: replaces given 'magic'
value with any specified valuetablename
: edits table nameexplodecols
and explodecols
commands
replace explode
The new stream
parameter of tpipe
now
allows you to write filter commands in an external file, to
facilitate more manageable command lines.
Wildarding for column specification is now allowed for some filter commands.
tcube
Command
stats
filter provides the same information as
the old stats
output mode, but allows much more
flexible use of the results. It can also calculate many new
quantities, including quantiles, skew and kurtosis.meta
filter provides the same information as
the old meta
output mode, but allows much more
flexible use of the results.assert
filter provides in-pipeline logical
assertions.uniq
filter collapses multiple adjacent identical
or similar rows.sorthead
filter provides a (usually) more
efficient method of doing what you could previously do
by combining sort
and head
filters.colmeta
filter adds/modifies metadata for selected
columns.check
filter checks table in stream - for debugging
purposes only.Additionally usage of the sort
filter has been changed
so that it can now do everything that sortexpr
used to
be able to do; sortexpr
is now withdrawn.
plastic
mode broadcasts the table to
one or all registered PLASTIC listeners.cgi
mode writes the table to standard output in a
form suitable for output from a CGI script.discard
mode throws away the table.topcat
mode now attempts to use PLASTIC
(amongst other methods) to contact TOPCAT.stats
and meta
modes are mildly
deprecated in favour of the corresponding new filters
(see above).csv-noheader
format variant output handler
added.roundDecimal
and formatDecimal
functions introduced for more control over visual appearance
of numeric values.mark.workaround
system property which can
optionally work around a bug in some input streams
("Resetting to invalid mark" errors).ucd
and
utype
attributes of TABLE element in
votlint
.istream=true
is now less likely to cause a
"Can't re-read stream" error.colfits
format, new startable.storage
policy "sideways
") have been introduced.
These can provide considerable efficiency improvements for
certain tasks when working with very large (and especially wide)
tables.
multicone
- Makes multiple cone search queries to the same serviceregquery
- Queries the VO registrytranspose
filter added.setparam
and clearparams
filters.addskycoords
.tcat
command has been replaced by more capable
tcat
and
tcatn
commands.
Between them these provide concatenation of an unlimited number of
homogeneous or heterogeneous input tables.
Additional columns may be added to indicate which of the input tables
given output rows originated from.
in
in tcat
,
cmd
and friends)
may now be specified in the form "@filename".
This indicates that the value for the parameter is to be obtained
by reading it from the named file.
This is useful if a very long value is required for the parameter
in question. The script
parameter of
tpipe
has therefore been
withdrawn, since it did just the same thing.
ivo:
- or myspace:
-type URLs.
toHex
and fromHex
numeric conversion
functions have been added
(Section 10.5.3).commands
etc.-J
flag to stilts
script
for passing flags directly to Java.out
parameter to votlint
.-ifndim
and -ifshape
flags to
explodeall filter.exact
match mode in
tmatch2
now copes with array-valued columns.force
parameter to multicone
task
as a workaround for some broken services.stats
filter.votlint
about
utype
attribute on RESOURCE elements.tjoin
introduced.votlint
and votcopy
.-bench
flag to stilts
command.text
and ascii
output formats (now one-pass not two-pass).duptag
parameters to tmatch2
task for customised renaming of columns with duplicated names.sinh
, cosh
, tanh
and inverses).funcs
task, a browser for
expression language function documentation.-checkversion
to list of stilts
flags.table
parameter to
calc
command
(for access to table parameters).param$
notation (Section 10.2).ucd$
notation
in expressions (Section 10.1)
and as column identifiers (Section 6.2).TNULL
n header
cards - write them as numeric not string values.gcj
).formatDecimalLocal
functions in
class Formats.fluxToLuminosity
and luminosityToFlux
functions in class
Fluxes.transpose
filter.sqlcone
task introduced, along with some classes in package
uk.ac.starlink.ttools.cone
designed for library use by
AstroGrid DSA code.
tmatch2
params
parameter now has minoccurs=0
, since that can be true
for exact matches.-stdout
and -stderr
flags to
stilts
command.app-description.xml
file.sqlcone
command.fluxToLuminosity
function.tmatch2
command are new tasks:
tskymatch2
:
stripped down version of tmatch2
for ease of use when
matching with sky coordinates.tmatch1
:
internal matcher, finds groups of objects within a table.tmatchn
:
finds group or multiple-pair matches between multiple (>2)
tables.Two tasks have been renamed for improved clarity and consistency:
multicone
is now named
coneskymatch
sqlcone
is now named
sqlskymatch
There has also been some enhancement and rationalisation of
parameters for all table join tools (tmatch*
as well as
tjoin
,
coneskymatch
and sqlskymatch
):
fixcols
and
suffix*
parameters to control renaming of duplicated
columns in output tables (note this replaces the old
duptag*
parameters in tmatch2
).progress
parameter
which allows you to configure whether progress is reported to the
console.copycols
parameter of coneskymatch
and sqlskymatch
now defaults to "*
"
(include all columns from input table in the output).Section 7 of the manual has been somewhat rearranged and improved.
votlint
handling of TABLEDATA-type
multi-dimensional char
/unicodeChar
arrays.
These are now split up into strings by counting characters rather
than using whitespace delimiters.
I think it's doing the right thing now.sqlclient
,
which is a general JDBC-based SQL command-line client.sqlupdate
,
which allows updates to existing rows in SQL tables.tosql
output mode:
write
(can be create
, dropcreate
or append
)newtable
renamed
dbtable
database
renamed
db
for consistency with other commandsscorecol
added to
tmatch2
,
coneskymatch
and
sqlskymatch
commands,
which controls adding a new column to match output tables
containing a goodness-of-match value.parallel
added to
coneskymatch
task
which allows multiple cone searches to be carried out in
parallel.erract
added to
coneskymatch
which controls response to
isolated failures in individual cone search queries.-debug
flag).help='*'
which prints help for
all parameters of a task at once.+verbose
flag
for reducing verbosity level.datatype
attribute.progress
parameter to tmatchn
.emptyok
parameter to
coneskymatch
.calc
task.stats
filter cardinality value
calculation.fixcols
.stats
filter
usage message.server
is
provided which allows STILTS commands to be executed via HTTP.
One purpose of this is to facilitate server-side use of the
plotting commands co-located with data to generate on-the-fly
graphical summaries of server-held datasets.
minReal
and maxReal
functions
(max/min ignoring blank values) in class
Arithmetic.
tcat
's
loccol
parameter.utype$
notation
in expressions (Section 10.1)
and as column identifiers (Section 6.2).regquery
command has changed in implementation,
data access, and output format. It now queries VOResource1.0
registries rather than the very out of date registry protocol which
was used in earlier versions.fits-basic
output
handler as signed byte values (TFORM=B,TZERO=-128)
rather than signed shorts (TFORM=I).regquery
)
to fail for Java 1.6.votlint
's validation tests
(VOTABLE element content model,
INFO and PARAM and FIELD required attributes).TFORMnn=rAw
)
is now understood for FITS binary tables.addskycoords
filter).votcopy
: XML processing instructions
garbled on output, and pathnames in base
parameters
inappropriately flattened in hrefs attribute values.votlint
can now validate VOTable documents following
the (provisional, 2009-09-29 PR) VOTable 1.2 standard.votable.namespacing
system
property.votlint
now checks that the correct XML namespaces are
in use.parse*
string->numeric conversion
functions now cope with leading or trailing whitespace.coneskymatch
can now match using SIA and SSA
services as alternatives to Cone Search ones
(see its new servicetype
parameter).startable.storage
policy "adaptive
"
is now the default. This should mean running out of memory less
often. The old behaviour can be restored by giving the new
-memory
command line flag.fixcolnames
.coneskymatch
to fail in locales that use ","
for a decimal point.tmatch1
, tmatch2
, tmatchn
and
tskymatch2
).
For several common regimes, using default settings,
memory use has been decreased by a
factor of about 5, and CPU time reduced by a factor of about 3.tuning
for
tmatch1
, tmatch2
and tmatchn
,
and parameter healpixk
for tskymatch2
).
Experimentation with these can lead to significant performance
improvements for given matches.find=best
"
match assignments when pair matching in crowded fields.
Crossmatch results thus may differ between earlier versions
and this one. Both are reasonable, but the newer behaviour is
more correct. In non-crowded fields, there should be no change.malloc()
)
for intermediate-sized buffers
to avoid running out of java heap space.find=each
" for
coneskymatch
and sqlskymatch
commands.
This allows you to get an output table with exactly one row for
each row of the input table.-memgui
to monitor memory usage during runs.rowrange
.array
functions for constructing arrays,
and new aggregating functions median
and
quantile
.progress
parameter
has changed; it now has an additional option which will write
limited profiling information as well as logging as the match
progresses.ylabel
parameter to plothist
command.random
and sequential
filters have
been renamed randomview
and seqview
respectively. This provides a better idea of what they do.
Since they are only useful for debugging, it is unlikely that this
will break anyone's existing code.random
introduced which converts tables
to random-access if necessary.legend
parameter to
plotting commands.matcher
parameters can now accept
classnames of MatchEngine
implementation classes as
an option.stilts_jars.zip
) as an alternative to
the monolithic jar file (stilts.jar
).
This may be more appropriate for those using STILTS classes in a
framework that contains other third party class libraries.tmulti
and tmultin
.
These currently just copy multiple input tables to a single
multi-table container file (e.g. Multi-Extension FITS or
multi-TABLE VOTable). Future releases may generalise the output of
multi-table processing.multi
parameter introduced for tcat
and tmulti
tasks to pick up all tables in a
multi-table container file.treads
and twrites
for multi-table I/O.addresolve
;
this currently uses Sesame.repeat
, which repeats table rows a
given number of times.long
" in IPAC format
tables.meta
filter.Finally, from this release STILTS requires version 1.5 (a.k.a. 5.0) of the Java J2SE Runtime Environment; it will no longer run on version 1.4, which is now very old. I don't expect this to cause compatibility issues for anyone, but I'm interested to hear if that's not the case.
http://user:pass@host/path
) on
table URLs handled.tapquery
and
tapresume
have been introduced.
These provide support for the Table Access Protocol (TAP),
and allow freeform queries in an SQL-like language to be
made to remote databases.
soapout
parameter to regquery
command.count
, variance
and
stdev
functions to
Arrays.funcs
window display.replaceval
filter to work with Infinities.dashNS
and
linewidthNS
to plot2d
task.taplint
.
This is a validator for TAP (Table Access Protocol) services.
It is only likely to be useful to people developing or operating
TAP services.nan
and inf
representations.Infinity
and NaN
.coneskymatch
cone search verbosity parameter so that
VERB=3 is not erroneously ignored.best1
and best2
have been added
for the find
parameter in the pair matching commands
tmatch2
and tskymatch2
.
They correspond to finding the best match in table B for each row
in table A, and in crowded fields often provide more intuitive
semantics than the previous symmetric best
option
(in non-crowded fields there is generally no difference).
This replicates the matching performed by some other tools,
including Aladin.2d_ellipse
,
and
skyellipse
.d_err
.
skyerr
matcher have changed slightly.Coords
class has been replaced by
CoordsDegrees
and
CoordsRadians
classes providing sky coordinate functions,
and a new class
TrigDegrees
provides normal degree-based trigonometric functions
alongside the radian-based versions in
Maths
.
Some of the old function names have changed to make clear that they
use radians and not degrees.
This change should be much more convenient in most cases;
sorry it's taken so long to get round to.join
function is added to the
Arrays class
to combine all the elements of an array into a string.taplint
, mostly thanks to bug
reports etc from the TAP community:
ivo://ivoa.net/std/TAPRegExt#upload-*
)
as per most recent TAPRegExt draft.parse
to tapquery
command,
allowing pre-send syntax checking of submitted ADQL.star.basicauth.user
and
star.basicauth.password
.coneskymatch
in the presence of
unreliable or inconsistent DAL services.pixsample
which can sample pixel data from HEALPix table files
(useful for things like Schlegel dust extinction).
Also addpixsample
filter,
which does the same job.pixfoot
which can generate MOC (Multi-Order Coverage) maps.coneskymatch
when using some Cone Search services (mostly VizieR).
This uses the Multi-Order Coverage map service operated by CDS.
It can make VizieR multi-cone queries much faster by not doing
cone searches that are outside the coverage region of the
catalogue in question.inMoc
).votable.version
.
Output version is VOTable 1.2 by default.votlint
has been changed so that it handles
different VOTable versions more capably.
Versions 1.1+ are now validated against a schema
(which is how those versions are defined) rather than against
a DTD hacked to do the same job as the schema.
VOTable 1.3 validation is now provided.votcopy
command has a new version
parameter to control output version,
and a new nomagic
parameter to control whether
VALUES
/null
attributes are removed
where appropriate.+Inf
"/"-Inf
",
not "Infinity
"/"-Infinity
" as in
previous versions).votlint
is now stricter about floating point
TD
element contents.schemaLocation
attribute by default.hypot
(=sqrt(x*x+y*y))
to the Maths
class in expression language.split
functions for string splitting
to the Strings
class in expression language.-utype
flags for addcol
,
replacecol
, colmeta
and
setparam
filters,
and utype
option for meta
filter.toString
function:
it now works on non-numeric values,
gives the right answer for Long
integers
and character values,
and returns a blank value rather than the string "null" or "NaN"
for blank inputs.OBS
stage (ObsTAP validation)
to taplint
.CAP
stage of taplint
.
Declared languages (including features) and output formats are
now checked.coneskymatch
parallel
parameter.tmatchn
group mode which could result in
output rows with columns from only a single table,
i.e. not representing an inter-table match,
even when join*=default
.TFORMn=rC/rM
).replacecol
and replaceval
filters which could cause truncation of strings in FITS
and possibly VOTable output when the new value was longer
than the previously declared maximum length.tcat
, tcatn
so that in most cases
output column metadata is compatible with all input tables, not
just the first one in terms of nullability, array shape etc.rows
"/"bytes
"
rather than "row
"/"byte
"
for TAP capability unit values.MedAbsDev
and ScMedAbsDev
)
options to stats
filter.star.basicauth.*
system properties if they
have not been set up.-version
flag has changed accordingly.meta
now copes better with array-valued
table parameters.parallel
parameter of skyconematch
(though this may be adjusted with a system property).toString
overloads - now works for byte and
boolean values too.tcube
, pixfoot
).regquery
command can now successfully talk to
the NVO/VAO/STSci registry.
That has been broken since mid-2010.tloop
for generating single-column
tables from a numeric loop variable.taplint
now checks for the right ObsCore ID,
though still recognises the wrong one (got from TAPRegExt),
and warns if found.Nd_cuboid
matcher option to match commands.cdsskymatch
.
In most cases (for querying tables that can be found in VizieR)
this can and should be used instead of
coneskymatch
- it's much faster.coneskymatch
, sqlskymatch
and pixfoot
will now guess RA/Dec columns
if relevant parameters are left blank.png-transp
to generate PNG files with transparent backgrounds.taplint
:
taplint
API to facilitate static acquisition of
report codes during programmatic use.
A few error codes have changed.taplint
.taplint
MDQ stage data type mismatch error
report for BOOLEAN/boolean declared/returned data.taplint
now takes steps to ensure that TAP_SCHEMA
column list query is not truncated.taplint
now flags absence of ObsCore table with
I[nfo] not F[ailure] status.taplint
stages which
perform validation against XSD schemas.
Schemas from external namespaces may now be imported and used.
The CPV stage, which was previously broken and disabled
by default, is now fixed and enabled by default.
Known/expected schemas are stored locally, and a warning is
reported if external ones are used. Schema validation seems
remarkably complicated, so it's possible there are still errors
in this implementation - if you suspect so,
please report it.taplint
.plot2d
, plot3d
and plothist
.
Parameter
class now supports generics)
and there are some visible
changes to the user documentation as well
(parameters now report their data type,
and tasks report their classname).
Normal (e.g. command-line) usage should not undergo any changes,
but a fair bit of UI code has changed, so unexpected problems
are possible.
gui
,
which displays the table data in a scrollable
window on the screen.-allowunused
flag to the stilts command.
If this is set, then unused parameter settings on the command line
just result in a warning, not failure of the command.votcopy
that generated unreadable output to BINARY or BINARY2 serialization
if any non-empty column had datatype="unicodeChar".
Also improved behaviour when copying between tables with
unicodeChar columns; these are usually preserved now, rather
than being squashed to datatype char.
Some lurking Unicode-related issues remain.tapskymatch
.nearMoc
, and MOC can be identified by
VizieR table IDs as well as by filename/URL.repeat
filter,
add -row|-table
flags to control sequence of output rows.setparam
and repeat
filters,
allow use of an algebraic expression for values,
not just a literal value.$ncol
and $nrow
to
the
expression language
to refer to the column and row counts in a table.
The special variable index
is also deprecated in favour
of $index
or $0
.stilts
invocation script to pick up classes from
stilts.jar
in script directory in preference to
other places (e.g. topcat-full.jar).taplint
to permit application/xml
not just text/xml content-type where appropriate (UWS stage).taplint
so it doesn't warn (W-TMV-UNSC) about
unknown VOSITables schema.taplint
so that unicodeChar
matches CHAR/VARCHAR in the same way as char
for column type declaration purposes.taplint
so that capabilities document can have
TAPRegExt dataModel ivo-id elements with xs:anyURI rather than
vr:IdentifierURI (only a warning is issued in the latter case),
in anticipation of TAPRegExt-1.0 Erratum #1.taplint
to handle adql:TIMESTAMP columns more
carefully on upload and retrieval.plot2plane
. Points may be weighted.title
parameter.sizexy
allows plotting (optionally autoscaled)
markers with horizontal and vertical extents
independently determined by input data.*func
allow assignment of
different data->ramp mapping functions
(sqrt and square as well as linear and logarithmic),
and new parameters *quant
allow quantisation
of the colour map to discrete levels.maxsizeN
parameter with autoscaleN
for size
plot layer type.
You can now optionally turn off autoscaling and specify marker size
in pixels instead.auxcrowd
parameter to plot2 tasks to influence
tick crowding on aux axis colour ramp. Also adjust default to use
fewer ticks.arrowN
parameter in
layers like
xyvector
).ellipseN
parameter in layers
like xyellipse
).PlotDisplay
class that forms the result of
plot2 commands can now have PointSelectionListener
s
registered on it. This lets you determine what point a user
has clicked on if you're using the plotting classes from
third party java code.REQUEST=queryData
parameter)
in the multi-SSA mode (servicetype=ssa
) of
coneskymatch
.
This long-standing bug would have stopped this command working
at all with well-behaved SSA services.tcube
).auxmax
, auxmin
to plotting task documentation.<syscmd
" or "syscmd|
"
to supply input byte streams from Un*x pipelines.plot2plane
.true
/false
,
the normalisation
parameter of the histogram layer
now has the options
none
, height
,
area
and maximum
.
This allows both the area normalisation introduced in v3.0-2,
and the height normalisation used in earlier versions
which it replaced.barform
parameter now provides the options
semi_filled
(the new default) and semi_steps
.
These give outlined partially transparent bars, which make it
much easier to see what's going on in multi-dataset histograms.
Note semi_steps
does not currently export very nicely
to PDF/EPS.
Similar options are also available in the new KDE plots.count_rows()
method to JyStilts
table objects, which for non-random tables
may be much more efficient than len()
.taplint
is now aware of, and performs some checks
related to, schema-level table metadata declared by TAP services.TFORMn='rX'
) columns.
Values read from these columns are presented as a
boolean[]
array. In all previous versions of STIL
the bits have appeared in that array in the wrong sequence
(LSB..MSB per byte rather than the other way round).
Apologies to anyone who may have got incorrect science results
from this error in the past, and thanks to Paul Price for helping
to diagnose it.TFORMn='rX'
processing;
attempting to read a single-element bit vector column
(TFORMn=1X
or X
) previously
resulted in an error making the file unreadable.
Values read from such columns are now presented as
Boolean scalars.datatype="bit"
) appearing in BINARY/BINARY2
serializations. This one was more obvious, it would usually
generate an error when attempting to read the file.votcopy
that converted columns from
datatype unsignedByte
to short
when
transforming. Since v3.0-3 this is no longer necessary.
In the case of converting to a binary serialization,
since v3.0-3 this was causing it to generate unreadable VOTable
output.votcopy
that failed to handle
columns with datatype bit
. In the case of
converting to a binary serialization, these were in all previous
versions generating unreadable VOTable output.
Now they convert them to columns with datatype
boolean
(not perfect, but better).skyvector
bug:
dlat
and dlon
values were being used the wrong way round.add
, subtract
,
multiply
, divide
,
reciprocal
, condition
.curl(1)
command is now issued at the CONFIG level
(visible using flags -verbose -verbose
).taplint
parameter maxtable
limits the number of tables tested in the stage that
queries data from each individual table (MDQ
).
May be useful for very large services.tapquery
parameter upvotformat
to determine what VOTable serialization variant is used to
transmit uploaded tables to the TAP server.
Previously uploads were always BINARY which ought to work,
but the parameter now defaults to TABLEDATA,
since some services (e.g. CADC)
currently fail with binary uploads.uk.ac.starlink.ttools.example.BasicPlotGui
.Object$
<column-id>"
you get the value as an Object not a primitive.
This is a special-interest measure for user-defined
functions that need to see null numeric values.matcher
values of
<n>-d_err
, skyerr
,
2d_ellipse
and skyellipse
only.
Thanks to Grant Kennedy (IoA) for reporting this bug.
xtype
of JD or MJD,
and units
of year.healpixSqdeg
,
healpixSteradians
,
steradiansToSqdeg
,
sqdegToSteradians
,
SQDEG
).-verbose
flag).array
, intArray
, stringArray
in class Arrays;
concat
, join
in class Strings;
and
sum
, mean
, variance
,
stdev
, min
, max
,
median
, countTrue
in new class
Lists.array(x1)
, array(x1,x2)
, ...
array(x1,x2,x3,x4,x5,x6,x7,x8)
replaced by array(values...)
).min
/max
functions in class
Arithmetic
have been renamed
minNaN
/maxNaN
to avoid confusion,
but in most cases existing expressions involving min/max
will work as before.concat(toString(RA),";",toString(DEC))
can now be written concat(RA,";",DEC)
).L
" character.plot2time
command
has been enhanced so that it can make multi-zone plots -
multiple plots stacked vertically that share the same horizontal
(time) axis but have independent vertical axes.
The time plot itself and this multi-zone feature are currently
experimental; in future versions they may be improved or changed,
and the multi-zone feature may be extended to other plot types.
Some other changes and fixes have gone along with this:
NavigationListener
interface and rearranging some
PlotDisplay
and AbstractPlot2Task
constructor/factory method arguments.
For single-zone plots the changes are not very substantial.
This only affects you if you are using the STILTS classes
as a java plotting library.
If that applies to you and you have trouble upgrading,
I'm happy to provide assistance.plot2time
now supports shading modes
(shadingN
and associated parameters).auxmapZ
replaces spectromapN
,
where Z
is an optional zone suffix
and N
is an optional layer suffix).function
layer type now works in the time plot,
rather than throwing an error.
However, it doesn't work very well, since the time coordinate
is in unix seconds rather than something more user-friendly.tapquery
and tapresume
now use
blocking HTTP requests rather than repeated polls
to wait for asynchronous TAP job completion from
services that declare themselves UWS 1.1 compliant.executionduration
and destruction
to
tapquery
command.
These let you request resource limit adjustments when submitting
an asynchronous TAP job.countTrue
in class
Arrays.EXA
for taplint
checks TAP /examples
endpoint.
Note the details of the examples format are still under discussion,
(this version targets WD-DALI-1.1-20160415 &
WD-TAP-1.1-20160428, somewhat informed by TAPNotes-2013-12-13),
so the details may change in future.taplint
now validates ObsCore 1.1 where declared
alongside ObsCore 1.0.
Currently uses PR-ObsCore-v1.1-20160330.Reporter
is now called TextOutputReporter
.
If you are using taplint programmatically you may need to make
small changes. This results from some refactoring that makes
it easier to customise taplint output.opaque
config option with
transparency
for plane and sky density plots.coneskymatch
.
tmatchn
.tskymap
).auxclip
now have a default value of null.
This uses a default clip, which avoids very light colours.
Explicitly supplying a subrange value (e.g. "0,1
")
can now use the whole range; previously the very light colours
were inaccessible.tablesurl
, examplesurl
etc
to task taplint
,
so you can specify custom locations for different TAP endpoints
rather than have them fixed at their default locations
hanging off the base service URL.
Ditto for the tasks tapquery
and tapskymatch
,
though in these cases the extra parameters are
(since currently rather special interest) largely undocumented.taplint
behaviour in absence of a /tables endpoint
(404 now gives a Warning not an Error).taplint
ObsTAP validation updated to
PR-ObsCore-v1.1-20160709.auxfunc=log
and negative data values were present.density
layer,
which has been withdrawn
(grid
can do all the same things and more,
except specify bin size in screen pixels).plot2plane
,
so you can now plot histograms with a temporal horizontal axis.unit
for
histogram, KDE, and KNN plots.per_day
etc
for histogram, KDE and KNN layers when used from the
plot2time
command.plot2*
command
*color
parameters
now include the (140)
CSS-like colours alongside
the dozen standard plotting colours.insets
parameter now lets you specify
margins round plots using any combination of
<top>,<left>,<bottom>,<right>
,
rather than requiring all values or none.auxwidth
to plot2 commands,
to control colour ramp lateral dimension in pixels.skyerr
and nd_err
matchers now report output separations as scaled (dimensionless)
values rather than in physical units; this means the results are
more comparable, so Best matches will make more sense.format
parameter).taplint
OBS stage for
PR-ObsCore-v1.1-20160923.hypot
now takes an arbitrary number of arguments
(instead of exactly two).blockmaxrec
parameter to
tapskymatch,
and improve warning text in case of result truncations.tapquery
/tapresume
behaviour
when monitoring async jobs; if the service goes down,
the application will wait for it to come back rather than
bailing out.mocfmt
parameter
in pixfoot command) have changed;
option ascii
is replaced by json
.
The old ASCII format was slightly broken JSON in any case.plot2
command
insets
parameter, present since v3.0-6.plot2plane
/plot2time
label painting; horizontal axis label was sometimes off the
bottom of the plot by a few pixels.auxmap
, densemapN
etc)
for the plotting commands
will now accept custom colour maps that interpolate between
a list of named colours,
e.g. "HotPink-yellow-SkyBlue
".posAngRadians
and
posAngDegrees
added to expression language.COOSYS
elements,
the relevant information is now accessible as
column auxiliary metadata
(CoosysSystem
, CoosysEpoch
,
CoosysEquinox
)
e.g. using the meta
filter.COOSYS
elements
read from VOTable-based formats (VOTable or FITS-plus)
will now be written out to VOTable-based formats with
equivalent COOSYS references included.
Currently not table parameters though.votable-binary2-inline
and
votable-binary2-href
are now offered alongside
the five previously available VOTable variants.charset
parameter of votcopy
now defaults to UTF-8 rather than the system default.autoscale
with unit
in
skyvector
and
skyellipse
plot layers.xyvector
,
xyzvector
,
skyvector
,
xyellipse
,
skyellipse
;
autoscaling is now turned off by default.
Apologies for this change to behaviour,
but it's better for consistency with new layer types
xycorr
and
skycorr
,
and presents less danger of misinterpreted plots.E_QTYP
to warning W_QTYP
in view of TAP-1.0 Erratum #3.COOSYS
element is now passed without a deprecation
warning in VOTable 1.3 documents by
the taplint
and votlint
validators,
in view of VOTable-1.3 Erratum #1.
The warning is still issued for VOTable 1.2 documents,
but the text is toned down.vr:IdentifierURI
type;
this follows TAPRegExt Erratum #1.447a7be073876dba32
).
This fixes a bug in
healpixRingIndex
that could give
the wrong value for small values of longitude near zero
in the equatorial region.
It seems possible that this might have led to very infrequent
missed associations when crossmatching in these regions,
but tests appear to indicate that no such errors would
actually have resulted.viewsys
differs from datasys
.
Previously the
dlat
/dlon
/posang
parameters were always interpreted in
the view, rather than the data, sky coordinate system.desigTo*
for extracting positions from IAU-style object designations
(like 2MASS J04355524+1630331
) - use with care.polarDistanceDegrees
and
polarDistanceRadians
;
these calculate the distance in 3d space between two
positions specified in spherical polar coordinates.phase
to help with phase folding given a known period.
A new modulus function
mod
,
whose output is always positive
(unlike the %
operator) is also added.uk.ac.starlink.topcat.plot2.TopcatLayer*
".
These useless items were added in potentially large numbers when
saving plotted tables from TOPCAT v4.5 (TOPCAT bug).
A null tpipe
operation at this version will therefore
purge these items.obs_publisher_did
/publisher_id
changed
to match REC-ObsCore-1.1 (even though it's an illegal UCD1+).datalinklint
.slice
and pick
added to class
Arrays.square
added to class
Maths.addcol
and colmeta
filters
now accept -shape
and -elsize
flags
for defining array and string shape/extent column metadata.-verbose
flag.
The contours are now plotted correctly right up to the edge of
the visible plot, and various bugs have been fixed.combine
parameter
(sum
,
mean
,
median
,
min
,
max
,
stdev
, etc)
for weighted histograms.
This means that you can plot e.g. the mean value of a given quantity
per interval on the X axis rather than just the summed quantity.
A corresponding (though somewhat less well-defined) option is
also provided for the
kde and
densogram plotters.combine
parameter that configures how
values are binned in various histogram-like plots
(skydensity,
healpix)
grid,
and since this version also
contour,
histogram,
kde)
now has two new options,
sum-per-unit
and count-per-unit
.
These work like the existing sum
and count
options, but scale the combined values by the relevant unit
(e.g. X axis unit or solid angle).
Where these units are physical, a perunit
parameter is also provided for scaling in convenient units:
second, day, year etc for time
(plot2time), and
square degree, arcminute, arcecond etc for solid angle
(skydensity,
healpix).
In some cases, the combine
default values
have changed.combine
/perunit
options
are also added to the tskymap command.plot2time
as well as plot2plane
.votlint
no longer considers an integer- or array-typed
PARAM
element with attribute value=""
to be an error.votlint
no longer Warns about
PARAM/@ref
->FIELD/@ID
references,
since this usage pattern is now found in
DataLink Service Descriptors.funcs
command.taplint
's VOTable validation now includes
XML schema/DTD
validation as well as the custom VOTable checks.
It was always supposed to do this, but it seems that it didn't,
at least in recent versions.coneskymatch
from sending cone search queries
with sr=NaN
.taplint
OBS stage;
ObsCore v1.1 s_region
UCD is
pos.outline;obs.field
, not
phys.outline;obs.field
(a relic from PR-ObsCore-1.1-20161004).delete=now
to
tapresume
,
which lets you delete a TAP async job.
Also add a message to tapquery
inviting the user to delete interrupted jobs in this way.tapquery
and tapresume
that
caused a result read failure for result VOTables longer than 2Gb.