### 3 Help for individual windows

The following sections are descriptions of how to use the SPLAT-VO windows, hopefully these should only serve as reference material, the function of windows should be clear from their descriptions, balloon-help and context. Use a window’s Help menu to view its related page on-line.

#### 3.1 The browser window

The browser window has several main elements, each of which is shown in the following figure:

Global list of spectra

In the Global list of spectra short names for each5 spectra are shown. The short names are intended to allow the quick identification of spectra and can be modified at any time by selecting the name and then typing a new name in the Short name field (remember to press <Return> to make the change happen). Initially short names are read from the TITLE or OBJECT properties of spectral data formats that support these (i.e. NDF and FITS respectively), otherwise they default to the file name.

Another important concept related to the global list, is using it to create a selected range or list of the spectra. Selection is important as this identifies which spectra you’d like to see properties for, or want to work with. There’s a quick tutorial on selecting spectra in the introductory material (§2.2).

Properties of current spectra

In the properties area there are controls for changing how the currently selected spectra are displayed (a spectrum always uses the same display properties) and where they are displayed.

If more than one spectrum is selected then the properties shown are those of the first spectrum (i.e. highest in the global list). However, any changes that you then make are applied to all the selected spectra.

If you load a table into SPLAT-VO the Columns: controls will show the names of the columns selected. If these are incorrect then you can choose a different set.

The properties that you can change include the colour (press on this to get a swatch of selectable colours), the composite value (that is the transparency so you can see lines or points through other line or points), the line type (simple connected polyline or histogram, or just a point marker). If you choose to draw lines then you can set the width and style (dashed etc.). If you choose to draw points then various types are available.

If the selected spectra have errors then you can display error bars by clicking on the Error bars: control. This is greyed out if errors are not available. The colour, number of sigma drawn and frequency of the error bars can be changed using the other controls on this line.

Views of current spectra

The views of the current spectra region shows the names of the plots that are displaying the currently selected spectra (this time if a plot is showing only some of the spectra, then it is highlighted in red). To add a spectrum or list of spectra to a plot, select their names in the global list and then click on the Displayed control (normally this results in a tick appearing). If a plot is already displaying some of the selected spectra then you force it to display them all by clicking twice – the first click removes the selected spectra and the second puts them all back, plus the ones not already shown.

To make a plot visible double click on its name. This should raise and deiconify it.

The toolbar region has a series of buttons that act as short-cuts to many of the functions found in the main menus. Here’s a quick break down of what they do:

• Create an open file dialogue. You can use this to browse any local files and select a list of them for opening. When opened they are added to the global list and displayed in a new plot (unless you untick the Display control). You may open files that are already in the global list, this just creates a new entry. Normally the type of a spectrum is determined using the file extension, but using this dialogue you can select a type, or ask that it be guessed.
• Download and display a spectrum from the Internet. If you have a URL for a spectrum to view then use this simple dialog.
• Query any known Simple Spectral Access Protocol (SSAP) servers about spectra that they hold on a region of the sky and download these to SPLAT-VO. This tool provides access to the Virtual Observatory.
• Query any known Observation Data Model Core (ObsCore) spectral services using the Table Access Protocoll (TAP) and download these to SPLAT-VO. This tool provides access to the Virtual Observatory.
• Browse a hierarchy of files. This dialogue can be used like the open file dialogue to choose a file containing a spectrum, but, it also allows you to look inside a file for any displayable components. This is useful for FITS files that contain extensions (spectral or table extensions can be opened), or HDS files that contain more than one NDF. The file type guessing used here is the same as that used when you set a type of guess (either on the command-line or by using the open file dialogue).

• Re-open the selected spectra. If the files containing your spectra change on disk you can select them in the global list get them opened. Note that not all spectra are backed by a suitable disk-file, these types will be ignored.
• Create a save file dialogue. Using this you can save a spectrum to disk-file. There are no restrictions on which file format you can save to, but information may be lost for certain types (i.e. TEXT format).
• Remove the currently selected spectra from the global list. This does not modify disk files. Spectra that are only resident in memory will be lost, without warning.
• Display the currently selected spectra in plots. Each of the selected spectra is displayed in a plot of its own. A similar effect is obtained by double-clicking a spectrum in the global list.
• Display all the currently selected spectra in a single plot. Use this when you want to compare spectra.
• Open a window to control the animation of some of the spectra. Using this window you can also create a JPEG or PNG sequence of the animation.
• View and possibly modify the coordinates and data values of the selected spectra. This shows an editable table of values. It is also possible to make global changes using algebraic expressions to convert or create new values.
• Open a window to set or remap the coordinate systems of any of the spectra. A variety of systems can be used covering wavelength, frequency, energy and velocity. Unit information can be used to align spectra in a plot (so you can trivially compare spectra in say angstroms and nanometres, energy and frequency or even heliocentric and topocentric rest frames etc.).
• Open a window to set the data units of any spectra. This can be useful when just setting the units displayed in a plot, but can also be used to convert spectra between flux systems when they are drawn (making them correctly aligned).
• View the FITS headers of any selected spectra. A window displaying the headers will be opened for each of the selected spectra. Note that only 1D FITS and NDFs will generally have FITS headers other types, including FITS tables, will not.
• Change the colour of all the spectra in the global list. Each time you press this button a new random seed is used to generate a different sequence of colours, so keep pressing until you see a sequence you like.
• Perform simple maths (add, subtract, divide and multiply) between pairs of spectra.
• Perform simple maths using a spectrum and a constant (add, subtract, divide and multiply).
• Access the on-line help system.

Interesting menu items not found in the toolbar are a list of standard line position catalogues (for optical and some IR and submillimeter lines), these are found in Options->Line identifiers. Others are to do with controlling the selection of the spectra and plots (see the Edit menu, just like deleting spectra from the global list you can delete all the selected plots) and changing the ‘look and feel’ of SPLAT-VO. These options are found in the Options->Look and Feel and Options->Colour Theme sub-menus. Note that if you select the CDE/Motif look and feel you cannot change the colour and fonts used.

You can also save and restore the global stack of spectra to and from diskfile using a special data format that is only recognised by SPLAT-VO. Using this method allows you to save a working set of spectra and restart an analysis later. Properties such as the line colours are restored, but any relationship between disk files and the spectra in the global list is lost. Data saved in a stack are compressed.

The Interop menu contains items for communicating with other SAMP-aware desktop applications. This is described in the Tool interoperability section (§6).

Finer control of the initial coordinate system picked by SPLAT-VO is given by the Options->Find spectral coordinates menu item. When this is selected (the default), SPLAT-VO will check for any spectral coordinate system in the input spectra and use that, if the default coordinate system isn’t spectral. It will also use any units it can locate to attempt a guess if all else fails. Unfortunately this means that if you intend to view another coordinate system (like GRID to see the channel numbers), it might fail, so switching this off gives you complete control. This option can also be enabled using the -k,--keepcoords switches on the command-line.

Accelerator keys

• Control-o Activate open file dialog.
• Control-l Activate location dialog.
• Control-r Re-open all spectra.
• Control-w Close window (and exit application).
• Delete Remove selected spectra.
• Control-a Select all spectra.
• Control-d Display selected spectra in plots.
• Control-i Display selected spectra in same plot.
• Control-u Re-colour all spectra.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.2 A plot window

The anatomy of a plot window is shown below:

It has three main regions, the menubar & toolbar, the control panel and the display area.

The display area

The display area shows a view of all the spectra that are currently associated with this plot. The colours, plotting style etc. of these spectra are determined by their global properties as set in the main browser window.

The plot title and axis labels are determined using the properties of the current spectrum, if possible. For instance if the current spectrum is an NDF then these values are determined from the NDF’s title, units and axis components, or for more recent NDFs from the properties of its WCS component. Similarly for FITS files these values are determined using the world coordinates FITS keywords. To change these look in the Configure Plot Options window, which is activated by pressing the button.

The size of the area used to display a spectrum is initially determined from an automatic match of its data and coordinate extents to the visible surface of the display area, you can change the size of the display surface using the zoom controls described below and/or you can change the actual data limits using the Configure Plot Options window. When you add or remove a spectrum the apparent size of the display region stays the same and all the spectra now displayed are scaled to fit within it. To return to a state where the visible surface matches the display area you need to press the and buttons.

The Configure Plot Options window also offers the ability change the colour of the display area background, to draw the lines using anti-aliasing (which reduces the jagged effects, but at the cost of drawing speed), to modify the reserved area around the plot and do things like position the numeric labels, set the axis gaps etc.

The following interactions are provided in the display area.

• Continuous coordinate and data readout: when you move the mouse pointer over the display area the coordinates and data value of the nearest point of the current spectrum are shown in the control panel. If the readout is not updating you have probably moved outside of the extent of the current spectrum (the one selected in the Displaying: control).

If the vertical hair is enabled, then this also follows the mouse pointer.

• Region Zoom: you can zoom on a feature by dragging a rectangle over it using the middle mouse button.
• Incremental Zoom: you can increase the zoom factors by one simply by pressing the middle mouse button anywhere in the display area or pressing the $\text{_}/=$ keys. If you hold down the shift key these zoom in Y, otherwise in X.
• Scrollbars: when the X or Y zooms make the plot greater in size than the display area scrollbars appear to the bottom and right. Just drag the sliders to scroll.
• Keyboard Scroll: the arrows keys can be made to control the scroll, provided the keyboard focus is in the display area. Make sure of this by clicking the left mouse button while pointed in the display area.
• Interpolated data value: if the keyboard focus is in the display area and the vertical hair is shown, then pressing the space bar will display the interpolated position of the hair, rather than the X coordinate and data value of the nearest position in the spectrum.
• Interactive graphics control: if any interactive graphics figures are shown (such as those that define ranges for fitting backgrounds and spectral lines, or are produced by the controls in the Graphics menu), then these can be moved by selecting them (just click on one and little grips appear around the edges) and then dragging them and resized by dragging the edge grips.
• Drop target: you can drop any spectra dragged from the global list and they will be displayed.

The control panel

The control panel area provides controls for interacting with the plot. It also shows details of what spectra are displayed in the plot and a continuous readout of the X coordinate and corresponding data value.

The Displaying: drop down list shows the names and current rendering properties of any spectra that are displayed. If you choose a spectrum from this list it becomes the current spectrum and is used as the basis for the plot’s coordinates (so the readouts now show the values of this spectrum, also the plot will be re-drawn if the coordinate system of the newly selected spectrum is different). The selected spectrum also becomes selected in the browser window (so you see its details more clearly and apply modifications). This spectrum is also the one used by any tools (such as background and line fitting) that work with only one spectrum. If you remove this spectrum using the Edit->Remove current spectrum option then the next spectrum in the list becomes the current one.

The Y limits (%): drop down list provides a series of quick cuts for setting the limits of the Y axis. Normally this is the full range, but using a percentage cut can usefully clip the range to reject extreme outlier data values. The data values used are restricted to the limits of then X coordinates (all when automatic ranging is used, the default ).

The Wavelength: entry control has two functions. The first is to show the current wavelength. The second is to allow you to centre the display area on a specific coordinate. Just type in the value you want to see here and press <Return>. Note that the label of this area modifies to match the label of the X axis, so could say something different to Wavelength:.

The :V-hair checkbox controls whether the ‘vertical hair’ is shown. The vertical hair is just a vertical line that follows the mouse pointer around the display area. It can be quite slow, so isn’t shown by default.

The X scale: and Y scale: controls change the zoom of the display area. The plus and minus controls increase and decrease the zoom by one, or you can choose a zoom from the drop-down lists, or you can type in a decimal value (which should be greater than equal to one) and press <Return>.

The :log controls determine if either of the axes are drawing using log spacing (this is not possible if either axis spans the value zero). Finer control of the log spacing and labelling can obtained using the plot configuration window.

The Track free checkbox determines what values are shown in the continuous coordinate readouts. When unchecked (the default) the values shown are the nearest ones of the current spectrum to the pointer position. When checked the readouts show the coordinates under the pointer.

The toolbar region has a series of buttons that act as short-cuts to most of the functions found in the main menus. Some of these create new windows with complex actions that should be consulted for further help.

• Print a copy of the display area to an installed printer or to a file. The output produced fits the output page format using the current aspect ratio of the display area, so if you’re zoomed by a large factor then you’ll get an output page that has a very small height. If you want a printout of just the visible part then cut it out and display it in a new plot first. Postscript output from this dialogue isn’t encapsulated. The next figure is an example of this output. Note that if you’re looking at a paper copy of this document you’re looking at the postscript output and if you’re looking at the on-line help it shows a scaled JPEG for on-line copies (see item after next).

• Same as the print option, except, this only offers to write a postscript file and doesn’t rely on having any printers installed on the local machine. The output can be in encapsulated form for inclusion in other documents.
• Make a JPEG or PNG image version of the display area. Again the file produced fits the output graphic using the current aspect ratio of the display area. The default is to produce an image with a pixel-to-pixel correspondence to what you see on the screen (if it were possible to view the whole of the area). Alternatively you can scale the graphic to fit some dimensions that you enter, or just clip the graphic to these dimensions. (Hint: if you want anti-aliased lines drawn in the image select this plotting option first using the plot configuration window).
• Make spectra fit the display area width. Use this to quickly return to an unzoomed coordinate state and to match the X axis width when you resize the plot window.
• Make spectra fit the display area height. Use this to quickly return to an unzoomed data value state and to match the Y axis height when you resize the plot window.
• Show the ‘panner’ window. You can use this to see a view of the whole extent of the currently displayed spectra (shown at the same aspect ratio as the display area). This also features a red rectangle that shows the extent of the display area, this can be moved to change the display area view.
• Show the plot configuration window. This contains many controls for setting the display area data limits, changing the plot title and axis labels, drawing grid lines, defining how many ticks to display, changing the amount of space around the plot edges, setting the background colour and whether to draw text or text and lines using anti-aliasing. It also offers facilities to save these settings for future restoration.
• Create a new spectrum (on the global list) that contains only the visible parts of the current spectrum. You can then display this new spectrum in this or a new plot. The new spectrum is given the name Cut <n> of <current_shortname>. This facility is useful to create printouts of just parts of a spectrum and to speed up processing of very large spectra.
• Show the region cutter window. This window allows you to graphically define which regions you’d like to cut, delete or replace by linear interpolation in the current spectrum.
• Show the toolbox for fitting a polynomial to defined regions of the current spectrum. This is used to define backgrounds prior to line fitting, or for subtracting and dividing backgrounds from spectra.
• Show the toolbox for taking an interpolated curve (i.e. a spline drawn on the plot using the features of the Graphics menu) and creating a spectrum from it.
• Show the toolbox for fitting emission and absorption lines. This measures the line position and equivalent width as well as fitting Gaussian, Lorentzian and Voigt profiles to selected wavelength ranges of the current spectrum. Remember to define a polynomial background before using this tool or have your data processed for fitting.
• Show the toolbox for filtering the current spectrum. The filters offered are simple ones like the average and median over a windowed area, plus more complex ones like smoothing using any of the known line shapes and denoising using wavelet transformations.
• Show the toolbox for selecting new coordinates or data units for the current spectrum (and therefore plot).
• Show the toolbox for flipping, shifting or redshifting editable spectra shown in the plot. Also allows you create an editable copy of the current spectrum.
• Show the toolbox for determining statistics (mean, standard deviation, etc.) of the whole or parts of the current spectrum.
• Show the toolbox for apply an offsets to the displayed spectra so they can be viewed more easily or shown in some order, for instance time of observation.

The Options menu contains several control items whose values are preserved between invocations of SPLAT-VO.

• Options->Match coordinates and/or fluxes. When this is selected the plot will attempt to convert the spectral coordinates and fluxes of all displayed spectra into the systems of the current spectrum, so that they will be aligned when displayed.

Whether this works or not depends on whether the spectra that you have read in contain correct descriptions (or descriptions that SPLAT-VO can make good guesses about) of the spectral coordinates and data fluxes and whether the flux system is supported. If this doesn’t work then check that your spectra have valid descriptions using the toolboxes in the main browser window for inspecting and setting spectral coordinates and data units ( and ).

In the case of line identifier catalogues, these will also be transformed to the rest frame of the observed source (i.e. they will be red or blue shifted if you have defined the source velocity as part of its coordinate system definition).

This option is switched on by default. If your spectra do not need aligning switch if off for extra performance.

• Options->Match non-flux data units. If your data units are not understood as fluxes it may still be possible to align them (dimensionally obvious unit conversions are possible for instance mK and K will be aligned correctly, as will eV and keV).
• Options->Match sidebands If your spectra are dual sideband then they can be aligned taking this into account, or they can be aligned just using the currently selected sidebands. By default they are not aligned by taking the sideband into account. If you want to do otherwise select this item.
• Options->Match origins If you have defined origins for your spectra to display offset coordinate systems then selecting this will align the spectra in those coordinates not the absolute ones.
• Options->Match using base system When matching spectra it is usual to achieve this by transforming all coordinate systems into a common system, this system is wavelength by default. For some systems it may be better to use another common system so by selecting this option you can set the common system used to be that of the current spectrum. This option is most useful when working with velocities, when you want the alignment to happen in that system (because the spectra have different rest frequencies).
• Options->Only display grid axes in visible area Normally the labelled axes displaying the spectral and data coordinates are drawn to the full size of the display surface of the plot. This is the quickest mode as it reduces the need for re-drawing. If you select this option the axes will be only drawn within the the visible part of the plot, which makes it easier to see the coordinate labels, but means that the axes need to be re-drawn continually when scrolling.
• Options->Only display spectra within axes Select this option if you only want spectra (including line identifiers) to be drawn within the bounds of the axes. When combined with the previous option to only display axes in the visible area this will potentially slow down scroll operations a lot, so the default is off.
• Options->Line identifiers->Load all matching line identifiers If you select this option then all line identifiers known to SPLAT-VO (including any that you have opened yourself), and whose coordinate ranges fall within that of the plot, will be loaded into the global list and displayed in the plot. Note that this will not work if the spectra displayed in the plot do not have defined spectral coordinates.
• Options->Line identifiers->Load all matching pre-loaded line identifiers If you select this option then all line identifiers already loaded into the global list, and whose coordinate ranges fall within that of the plot, will be displayed in the plot. Note that this will not work if the spectra displayed in the plot do not have defined spectral coordinates.
• Options->Line identifiers->Positions track current spectrum If you select this option then line identifiers that do not have data positions (this is typically true) will be positioned above the current spectrum, rather than displayed in a line along the bottom of the plot.
• Options->Line identifiers->Prefix name to labels If you select this item then the short name of each line identifier spectrum displayed in the plot will be prefixed to the label. This allows you to discriminate between crowded labels. Note that the short name of a line identifier can be modified in the main window, once it is loaded into the global list. For legibility any names that are appended by _lines, will have that string removed and any underscores will be replaced by spaces.
• Options->Line identifiers->Draw horizontal labels Select this option if you want line identifier labels drawn horizontally rather than vertically.
• Options->Line identifiers->Show dual sideband labels Select this option if you want line identifier labels drawn for both sidebands of a dual sideband spectrum. The non-default sideband coordinates are displayed along the top edge of the plot and the matching labels will be displayed in red, with either (USB) or (LSB) postfixed to the label to avoid confusion.
• Options->Error bar auto-ranging. When auto-ranging a spectrum that has associated errors the limits do not include the extent of any error bars that will be drawn, if you want this to be otherwise select this option.
• Options->Draw errors as spectrum. If this option is selected and any of the displayed spectra have errors, then those spectra with errors will be drawn using the error value as each point on the line rather than the data values (and conversely the data values will be used to draw error bars, if that is enabled for any of the spectra). When displaying spectra without any errors this option has no effect.
• Options->Auto-fit percentiles in Y. When this option is selected choosing a percentile limit in Y results in the plot also being forced to fit the height of the plot.
• Options->Short names in menu lists. When this option is deselected the long names (usually file names) are shown in the drop-down menu.
• Options->Display synopsis. When this option is selected a description of various properties of the current spectrum is displayed overlaid on the plot. The description can be moved around by dragging.

The items possibly included in the synopsis are:

Name:
the short name.
Telescope:
the telescope, instrument and it’s backend (TELESCOP/ INSTRUME/ BACKEND).
Object:
The target, molecule and molecular transition being observed (OBJECT/ MOLECULE/ TRANSITI).
Date obs:
The date of the observation (DATE$-$OBS or Epoch in UTC).
Elevation:
The observatory elevation (ELSTART or $0.5\ast$(ELSTART$+$ELEND)).
Exposure:
Exposure time for the spectrum (EXTIME).
or
Exposure (median):
Exposure time for the spectrum (EXP_TIME).
or
Exposure (elapsed):
The time elapsed during exposure (INT_TIME otherwise DATE-END$-$DATE-OBS).
Exposure (effective):
Effective exposure time (EXEFFT).
Coord sys:
The coordinate system code (System).
Spec position:
The position of spectrum on the sky (EXRAX, EXDECX).
Src position:
The position of the observation centre (EXRRA, EXRDEC).
or
Img centre:
The centre of the originating image (EXRA, EXDEC).
Offset:
The offset of spectrum from observation centre (EXRRAOF, EXRDECOF or EXRAOF, EXDECOF).
Doppler RA, Dec:
The reference position (RefRA,RefDec).
SourceVel:
The source velocity (SourceVel).
SourceVRF:
The source velocity reference frame (SourceVRF).
SourceSys:
The system of the source velocity (SourceSys).
StdOfRest:
The standard of rest (StdOfRest).
RestFreq:
The rest frequency (RestFreq).
ImagFreq:
The image sideband equivalent of the rest frequency (ImagFreq).
Channel spacing:
The channel spacing (derived value).
Number of channels:
Number of coordinate positions.
TSYS:
System temperature (TSYS).
or
TSYS (median):
Median system temperature (MEDTSYS).
TSYS (est):
System temperature (derived value, see region statistics window).
TRX:

These are somewhat tuned for submillimetre observations at the JAC and for spectra extracted by GAIA from cubes, so many may be missing for spectra from other sources. Names in parenthesis are either the FITS keywords or AST attributes used to obtain the values.

The Graphics menu provides methods for drawing text and a range of figures on the plot. This allows you to add annotations, but also provides the basis for the interactive graphics used by the various toolboxes.

To draw a figure on a plot you need to select an option from the Drawing mode sub-menu and then, depending on the figure type, either drag out a region or select fiducial points. When creating a figure using points these are completed using a double click on the last point.

In the Drawing mode menu the currently available figure types are:

• a straight line,
• a rectangle,
• an ellipse,
• a poly line (last point not connected to first),
• a polygon (last point connected to first),
• freehand curve,
• a text string,
• an interpolated curve (splines and special spectral shapes),
• a rectangle which only moves along X (indicates a range of coordinates).

There are also two special modes:

• select figure,
• edit figure.

When the mode is select (this is usually the default state), clicking on a figure selects it. You can then drag it around to move it, or drag one of the grips (the little squares) to change the shape. To select more than one figure you hold down the <Shift> while clicking.

The edit mode can be used to add new points to a polyline, polygon or interpolated curve. Just select this, click on the figure you want to edit and then start adding new points. You can also edit text strings, just choose the edit mode and click on the text, this produces a dialogue with the text for editing.

To change the properties of a figure (line width, fill/outline colour, font etc.) just select the figure and then choose the option you want to change from the various menus. You can define these before creating a figure too.

Interpolated curves are like polylines in that they are defined by a series of points, but they can only have increasing or decreasing X coordinates (so cannot double back on themselves). They are intended for drawing figures that are related to spectra, specifically spectral backgrounds and lines. In fact if you draw an interpolated curve you can convert it into a spectrum for removing from a real spectrum using the Generate spectra from interpolated lines toolbox. The types of interpolation scheme available are:

• Hermite, interpolation based on Hermite polynomials. The effect is supposed to construct reasonable analytic curves through discrete data points (i.e. like those a human would produce).
• Akima, interpolation based on Akima splines. Like Hermite this supposed to construct human-like analytic curves.
• Cubic, interpolation using natural cubic splines.
• Polynomial, interpolation using a simple polynomial of order one less than the current number of points.
• Linear, interpolation using straight-lines (like polyline, except it has sorted X coordinates).
• Gaussian, interpolation using a Gaussian line-profile. This can only have four reference positions (and is initialised from the first two indicated on the plot), these define the left extent, width, height/centre and right extent. The order will switch if these are dragged past each other (so dragging the width grip beyond the left extent grip will switch their meaning).
• Lorentz, interpolation using a Lorentzian line-profile. Works like the Gaussian curve.
• Voigt, interpolation using a Voigt line-profile. This also works like the Gaussian curve, but has five characteristic positions, left extent, Gaussian width, height/centre, Lorentzian width, right extent.

Once you have created your figures you may want to save them for restoration at a later time, this can be done using the Graphics->Save/restore figures dialogue. Figures are saved using the physical coordinates of the spectrum, so should be re-drawn at the correct wavelengths etc. on new plots.

Accelerator keys

• Control-p Activate print to printer dialog.
• Control-t Activate print to postscript file dialog.
• Control-j Activate print to JPEG file dialog.
• Control-b Scale spectrum to fit visible width.
• Control-h Scale spectrum to fit visible height.
• Control-a Show the panner window.
• Control-o Show the plot configuration window.
• Control-w Close the window.
• Control-v Cut out the current view of the spectrum.
• Control-r Activate cut out regions of spectrum window.
• Control-y Activate fit polynomial to background window.
• Control-g Activate generate spectrum from drawn curve window.
• Control-l Activate fit spectral lines window.
• Control-f Activate filter spectrum window.
• Control-u Activate quick change units window.
• Control-l Activate flip compare window.
• Control-s Activate statistics window.
• Control-[1-9] Select drawing mode for various graphics figures.
• Delete Delete any selected graphics figures.
• Shift-Delete Delete all graphics figures.
• r Raise any selected graphics figures.
• l Lower any selected graphics figures.
• h Hide or unhide all graphics figures (toggle).
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.3 The query VO for spectra window

This window provides access to the Virtual Observatory (VO). Using it you can search a region of sky for spectra or search for spectra associated with a specific astronomical object. Once you have done that you can then download all or some of these spectra for display and analysis in SPLAT-VO.

In the VO spectra are made available by SSAP servers (SSAP stands for Simple Spectral Access Protocol) and using this window you can also select which of these servers you want to query. That is important if you are only interested in spectra covering specific wavelengths or types of observations. These searches can be further refined using additional parameters like a range of wavelengths or times. Addtional Optional Parameters are also provided for even more refinement, but note that these may not be supported by all SSAP servers.

The figure above shows the window after a query has been made. The window is divided in three main areas. The left area is the SSAP server selection area, where the current list of SSAP servers is shown and also options to select a subset of servers to be queried. The upper right area is the query parameters area, where query options can be entered. The right-lower part is the results area, showing the query results.

Server selection

You can select one or more servers from the SSAP Servers list by clicking on them. It’s also possible to select a subset of servers based on their given metadata. Selection can be made according to data source (observation or theory data), and waveband. It’s also possible to add tags to one or more servers, so only the tagged servers will be queried if the tag is selected. When right-clicking on a server in the SSAP Servers list you get a popup menu containing options to tag, to remove, or to see information on the service. To add a new SSAP server, which is currently unknown to the VO, to the current server list, click on the Add New Server button. A new window will open where the information about the new server can be filled in. The Query registry allows you to query a VO registry for a list of all the SSAP servers it has registered.

SSAP query

To lookup the coordinates of an object just type in an identifier in the Object field and either press <Return> or the Lookup button. Alternatively if you know the coordinates (FK5/J2000) of the region of sky you can just enter the coordinates in the RA and Dec fields. It is also possible to query the servers about an object by name, useful for solar system work, in that case just enter a name and leave the RA and Dec fields empty.

The Radius value is a number of arcminutes to search about the position. The Band entries define a lower and upper limit, in meters, for the spectral bandpass (not all SSAP servers support this option, those that do may offer just an upper limit and allow you to set a wavelength to include by setting just a lower limit). The Time entries define either a time that should match the time the spectra where taken, or a range in which they should match (again not all servers support this option). The MAXREC field will define the maximum number of spectra that will be retrieved from each selected service. The file format, wavelength and flux calibration options can also be chosen. If the value is "None", the query will not contain these parameters.

Besides the mandatory parameters, some servers also support a set of other metadata parameters. The Optional Parameters panel shows the metadata parameter supported by at least one of the selected services. The checked parameters having a non empty value field will be added to the query.

Once you have identified the region to search or object press the green SEND QUERY button to contact the current list of SSAP servers. To make these queries it may be necessary for you to tell SPLAT-VO about your local web-proxy server (this is the same as that you use in your Internet browser), select the Options->Configure proxy... item to do this.

Query results

Once the SSAP query is complete lists of spectra that the servers hold will be shown in the Query results: region. There is a tab of results for each server. If no tab has been created for a selected server, then the server has no spectra for the selected region or is not available at the moment.

When right-clicking on a spectra, a popup menu will appear. From this menu you can download or display the spectrum, see its fields (and, if supported, see a preview), or copy the contents of the current table, line or cell to the clipboard.

The next action is to select which spectra you want to download and view in SPLAT-VO. If you press Display all then all the spectra from all the servers will be downloaded and displayed in a single plot. Clearly this may take quite sometime if there are many spectra, so you can also download and display a subset. To do this select the rows that contain the spectra that you want to see (you can extend selections by using the control and shift keys while selecting a row and you can select spectra from more than one tab at a time) and then press the Display selected button.

Once the spectra have been downloaded they should appear together in a single plot. If this isn’t the case then some of the spectra are probably invalid and you will need to add them to a plot yourself (see the section on displaying more than one spectrum). If you want SPLAT-VO to match the coordinate systems and fluxes of the spectra then make sure that the Options->Match coordinates and/or fluxes item is still switched on in the plot window.

To view a single spectrum quickly just double click on its row. This will download the spectrum and display it in its own plot window.

SPLAT-VO supports server-side manipulation through DataLink. After a SSAP Query is sent, SPLAT-VO checks the responding servers for DataLink parameters, and marks them with a symbol ( ). If at least one DataLink supporting server has been found, a DataLink button will appear below the query results. By clicking on it, DataLink. will be activated, and all results tabs will be deactivated except the results from servers that support DataLink. When you choose one of the active services, a window will appear, where the respective parameters for sever-side manipulation can be entered. The parameters will be set by clicking on the set parameters button. While dataLink is activated and the parameters are set, the spectra you select and display or download will be manipulated using the chosen parameters. To deactivate dataLink and have retrieve the original spectra just click on the dataLink button again.

Implementation status

SSAP is a protocol being developed by the IVOA (International Virtual Observatory Alliance1).

Currently spectra returned from SSAP servers may only be in basic formats, that is simple FITS and VOTables (partially some SED data model serialisation). However, the SPLAT-VO data model includes errors as well as coordinates and data values.

Support for spectral coordinates is provided by the Starlink AST library (SUN/211) using an implementation of the FITS-WCS paper III Representations of spectral coordinates in FITS (Greisen, Valdes, Calabretta & Allen). AST also provides the flux and data value conversion utilities used by SPLAT-VO which is based on interpreting the units strings system described in FITS-WCS paper I Representation of World Coordinate in FITS by Greisen & Calabretta. Conversion between fluxes is currently restricted to flux per unit wavelength and flux per unit frequency is provided and does not require any ‘dimensional analysis’ information to be present, just correctly formed units strings.

Server metadata information is provided by the respective maintainers, and may not be complete or accurate.

Accelerator keys

• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.4 Query VO using ObsCore TAP

Besides SSAP, SPLAT can also query VO services supporting ObsCore (Observation Data Model Core) components via TAP (Table Access Protocol). This services are known as ObsTAP services. There are two ways of doing that in SPLAT-VO by using a cone search interface, like the SSAP query, or by sending an ADQL query. ADQL stands for Astronomical Data Query Language, based on SQL. There are introductions and tutorials for ADQL for instance at http://docs.g-vo.org/adql (Markus Demleitner) or http://is.gd/ADQLTutorial (Simon Murphy).

Server Selection The server selection interface works in the same way as the server selection in the SSAP window. Just that the servers list contains ObsTap services instead of SSAP services, and there are no optional parameters, as all parameters can be queried using TAP.

Simple Search The simple search interface uses the same parameters as the SSAP cone search, with the same functionality.

ADQL Search The ADQL search is more flexible and more powerful than the simple cone search. The main part is a text area, which can be edited. The beginning of the query

SELECT TOP 10000 * from ivoa.Obscore WHERE dataproduct_type=’spectrum’

will get the first 10000 spectra from the selected servers. The TOP value may be changed to another value, if necessary. This query should be then refined or completed, either by choosing the parameters and expressions from the options provided (which will create a simple query) or by editing directly the the text area. Please refer to the ObsCore standard for the available parameters. (http://www.ivoa.net/documents/ObsCore/).

The example below shows a query for spectra including 6500 angstroms, spectral resolution better than 15 angstroms, spatial resolution better than 2 arcseconds FWHM, and exposure time longer that 3600 seconds:
SELECT * from ivoa.Obscore
WHERE dataproduct_type=’spectrum’
AND em_min < 650E-9
AND em_max > 650E-9
AND em_res_power > 6500/15.
AND s_resolution < 2
AND t_exptime > 3600

Implementation status

ObsCore and TAP are being developed by the IVOA (International Virtual Observatory Alliance2).

#### 3.5 The animation window

This window allows you to display a series of spectra from the global list, one after the other. It is possible to display these into an existing plot, that may already be displaying other spectra you’d like to use for comparison, or you can use a new plot.

With careful control of the plotting options you can display into a plot with fixed data ranges, or see each spectrum plotted as autoscaled.

It is also possible to use this window to generate a series of JPEG or PNG images that you could combine into a movie of some kind.

Global list of spectra:

As in the browser window this is a view of the spectra currently stored in the global list. Initially all the spectra in the list are selected, but you may modify which spectra to animate by creating your own selection (reminder: the combination of shift-left-mouse click selects the range between the last selected row and the current position, and the combination control-left-mouse click, either adds the current row to the selection, or removes it, if already selected).

Animation controls:

The Delay: field accepts a decimal number of seconds to pause between displaying the selected spectra. You can modify this during an animated sequence by pressing the <Return> key.

The Loop forever: checkbox determines whether the animation sequence is restarted when all the selected spectra have been displayed. If set then you need to press the Stop button to stop the animation.

The Plot: drop-down list contains a list of all the currently available plots and the special entry Create. If the Create option is chosen then a new plot will be created to display the animation, otherwise the animation will take place in the selected plot.

The Scaling option: radio buttons control how a spectrum is scaled when it is displayed.

• Auto selecting this option (the default) makes each spectrum, and any other spectra already displayed in the target plot, fit themselves to the width and height of the plot display area.
• Fix selecting this option makes each spectrum respect the data limits already applied to the plot. So to make effective use of this option you need to display into an existing plot and have set the data limits (using the plot configuration window). It’s expected that this will be most useful when comparing a list of spectra against a single pre-plotted spectrum, or when creating an animation sequence for a movie (so you need to also use the Capture controls).
• Free selecting this option makes the spectrum add itself without constraints to the plot. This is essentially the same as just adding a spectrum to a plot using the browser window controls (i.e. the data limits of the plot are produced by combinating the data limits of any pre-plotted spectra and the one added, these are all scaled to fit).

The Current spectrum label just displays the name of the spectrum currently being added to the target plot. This information is repeated in the plot itself as the spectrum becomes the current one in the plot and is named in the Displaying: label.

The Start, Pause and Stop buttons do what is expected.

Capture controls

The capture controls are for creating a series of JPEG or PNG images of the plot as it displays each spectrum. To enable (after getting the required effect using the Animation controls) just click on the Start capture: check box. The output file names will start with what name you type into the Basename for graphics files: entry and have an integer number appended, plus the file type .jpg or .png. So a default sequence would be SPLAT0.jpg, SPLAT1.jpg, SPLAT2.jpg,... You’ll then need to find some software to convert these into a movie. The ImageMagick convert command (when suitably configured) will convert these files into an MPEG or animated GIF. The image below was created with the command (note that the images were also scaled – view the html documentation or the pdf documentation in a viewer that supports animation such as Adobe Reader to see the animation.):

% convert -delay 50 -loop 0 SPLAT0.jpg SPLAT1.jpg SPLAT2.jpg \
splatmovie.gif

Accelerator keys

• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.6 The view and modify spectral values window

The purpose of this window is to allow you to see the actual data values of a spectrum and to make modifications to them. The spectrum being shown has it basic details at the top of the window and the values of the spectrum are shown in a table area that you can scroll.

Modifications

If you want to modify any of the values, then you need to have a spectrum that isn’t readonly. Spectra read from files always have readonly values, so this will generally be the case. The simplest way to get a modifiable spectrum is to untick the Readonly control. This will make a memory copy of your spectrum, enter this on the global list and then load it into this window replacing the previous spectrum. The new spectrum will be called ‘Copy of <oldname>’.

Note that if you want to plot this new spectrum you’ll need to go back to the main window and do this yourself (plots of the spectrum that this is a copy of are not going to show any modifications that you now make!).

Editing single values

To change a single value of any kind you can now just select the table cell (usually by double clicking on it) and type in the new value. Press Return to make the edit happen (this should immediately be shown in any plots of this spectrum).

Editing whole columns

You can make global changes to a whole column of values using special dialogues that either offer special functions (linear transformations), or allow you to define an algebraic expression (in terms of the existing values or a simple index counter starting at 1 for the first row).

Editing the data values column

To apply a global edit to the data values column you need to select the Operations->Modify data column item. This should produce a new window.

In which you can see an example expression $data\ast scale+zero$, with the $scale$ value set to $1.0$ and the zero value to $0.0$. A list of preset expressions that should be generally useful is found in the Functions menu.

Naturally if you applied this expression then the data values would stay the same. A more complex example is shown next.

This presents the possibility of subtracting a single Voigt profile (the top part of this is greyed out as Voigt is a built-in function that cannot be represented as an algebraic expression).

If you need to use an expression of your own you might like to view the full list of functions that are available in the MathMap section of the KAPPA SUN. A lot of C-like intrinsics are available (abs, atan/sin/cos, tan/sin/cos, log, pow sqrt, etc.), which can operate on the data columns $data$, $coord$ and $error$, as well as the virtual $index$ column.

Editing the error values column

Editing the error column is much like editing the data column, except that you can actually create a new error column, see the Operations->Modify error column item.

The error column can also be deleted using the Edit->Delete error column item.

Editing the coordinates column

Globally editing the coordinates can be done using the Operations->Modify coordinate column window.

A simple built-in option of applying a linear transformation is offered (useful for when the coordinates are in fact some index related to wavelength). Under the General tab you can use algebraic expressions like those for modifying the data columns.

In this case the pre-defined expression for blue-shifting a spectrum in some wavelength units is shown.

Note: when you modify coordinates either singly or as a column any coordinate system information will be lost. If you want to retain this you’ll either have to re-enter this information or use the conversion facilities of the Coordinate system attributes window (using this other window you can transform between apparent place, Earth to Sun to Local Group etc. and to a source rest frame that has a velocity in a given direction, so you can correct for red/blue shift that way, in fact this is the recommended way).

Undoing and redoing changes

Using the Edit menu in the main view/modify window you can undo and redo any modifications that you make to the spectrum. The changes are propagated immediately so you can see these effects in any plots of the spectrum.

Accelerator keys

• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.7 The spectral coordinate system attributes window

This window allows you to define the coordinate systems that describe your spectra. The most trivial use of these is simply to document what type of coordinate and units your spectra are measured in, examples are wavelength in air in angstroms, frequency in GHz, velocity in km/s, etc. When supplied these values will be used to annotate any plots, but can also be used to compare spectra in different coordinate systems and to transform a spectrum from one coordinate system to another.

A more complete description of the coordinate system also includes two further pieces of information, the time and place when the observation was made and the direction and speed of what was being observed. Taken together these define the ‘rest frames’ of the observation and the source.

In the following picture you can see that I have an observation (topocentric) of NGC1275 (RA: 03:19:47.49, Dec: 41:30:40.5 FK5 J2000) made in air, calibrated in angstroms, taken in June 1999 on the William Herschel Telescope. I’ve also entered that NGC1275 as observed from the centre of the Sun (heliocentric) has a recessional (relativistic) velocity of 5300km/s. Alternatively if you know the necessary redshift you can enter that value by selecting a Source system of Redshift (other possibilities are radio velocity, optical velocity and beta factor).

To apply this to a spectrum that has no coordinate information (or incorrect coordinate information) you need to press the Set button. Note that you can apply the same coordinates to more than one spectrum by selecting them all in the view of the global list shown in this window.

Now say that you wanted to compare this spectrum with a standard set of emission lines, obviously taken at rest in a laboratory. If you load the emission line catalogue and display it in the same plot (making sure that the Options->Match coordinates and/or fluxes item is switched on) the labels will be red-shifted to the rest frame of the source (i.e. where the lines from the galaxy originated). This is shown in action in the next figure where the lines before matching are shown in blue and red after matching.

The alternative to this method is switch Options->Match coordinates and/or fluxes off and transform the galaxy spectrum to what it would have looked like in the source standard of rest (i.e. if you had taken the measurements travelling with the galaxy). To do this change the Standard of rest: to Source but now press the Convert button. This remaps the spectral coordinates permanently.

Using this method you can also transform your spectrum to other systems and units (say frequency or energy) and rest frames (so you can go from topocentric to heliocentric or the kinematic or dynamic local standards of rest). With Options->Match coordinates and/or fluxes switched on you can also directly compare spectra calibrated in all these different systems.

When transforming to velocity (optical, radio and relativistic velocities are supported) a rest "frequency" is also needed. Conceptually this is the value that the centre of a line with locally zero velocity has. The rest frequency can actually be specified in various units, for instance angstroms.

The Spectral origin value is used when you want to draw spectral coordinates in some offset system. This value defines the zero point. It must be specified in the same units as the spectrum.

To find out more about spectral coordinate systems you’ll need to refer to ‘FITS-WCS paper III Representations of spectral coordinates in FITS (Greisen, Valdes, Calabretta & Allen)’ and the Starlink AST library documentation (SUN/211).

Accelerator keys

• Control-n Convert from current spectral coordinates to UI values.
• Control-s Set spectral coordinate system to UI values.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.8 The data units window

This window allows you to inspect, set or convert the units of the data values of your spectra.

The most trivial use of these is simply to document what type of units your spectra are measured in. However, a more powerful use of data units can be made when displaying more than one spectrum in a plot. In that case you can request that the data values of all the spectra are transformed into the same system, so you can compare values in Janskys with those in other flux per unit frequency and per unit wavelength systems (note to activate this option you must have the Options->Match coordinates and/or fluxes menu item selected in the plot window). For instance all the following systems are understood as fluxes and can be intercompared:

 Jy ($Jansky$) W/m^2/Hz ($W\ast {m}^{-2}\ast H{z}^{-1}$) W/m^2/Angstrom ($W\ast {m}^{-2}\ast Angstro{m}^{-1}$) W/cm^2/um ($W\ast c{m}^{-2}\ast u{m}^{-1}$) erg/cm^2/s/Hz ($erg\ast c{m}^{-2}\ast {s}^{-1}\ast H{z}^{-1}$) erg/cm^2/s/Angstrom ($erg\ast c{m}^{-2}\ast {s}^{-1}\ast Angstro{m}^{-1}$)

Plus variations like $Joules$ instead of $ergs$ or maybe $Nm$, etc. When reading unit strings like W/m^2/Hz you should say Watts per metre squared per Hertz, which is actually mathematically the same as the expressions shown in to the right in parentheses ($W\ast {m}^{-2}\ast H{z}^{-1}$ in this case). Note that dimensionally equivalent unit strings to those above maybe be recognised and re-formatted.

In addition to flux systems dimensionally similar ones can also be used and transformed between in a plot, things like temperature. SPLAT-VO understands that $K$ and $mK$ are temperatures in Kelvins and milliKelvins, same for units like $eV$ and $keV$.

The units are described using strings that follow the conventions in FITS-WCS paper I Representation of World Coordinate in FITS by Greisen & Calabretta, and processed by the Starlink AST library (SUN/211). The following section is copied from SUN/211 for convenience. Not all units are relevant to data values (AST also provides the underlying coordinate transformations used in SPLAT-VO) and as noted above not all possible unit strings can be understood as fluxes (although support for more types is expected, for instance temperatures and magnitudes).

The adopted syntax is that described in FITS-WCS paper I Representation of World Coordinate in FITS by Greisen & Calabretta. We distinguish here between “basic” units and “derived” units: derived units are defined in terms of other units (either derived or basic), whereas basic units have no such definitions. Derived units may be represented by their own symbol (e.g. “Jy”—the Jansky) or by a mathematical expression which combines other symbols and constants to form a definition of the unit (e.g. “km/s”—kilometres per second). Unit symbols may be prefixed by a string representing a standard multiple or sub-multiple.

In addition to the unit symbols listed in FITS-WCS Paper I, any other arbitrary unit symbol may be used, with the proviso that it will not be possible to convert between spectra using such units. The exception to this is if both spectra refer to the same unknown unit string. For instance, an axis with unknown unit symbol "flop" could be converted to an axis with unit "Mflop" (Mega-flop).

Unit symbols (optionally prefixed with a multiple or sub-multiple) can be combined together using a limited range of mathematical operators and functions, to produce new units. Such expressions may also contain parentheses and numerical constants (these may optionally use “scientific” notation including an “E” character to represent the power of 10).

The following tables list the symbols for the basic and derived units which may be included in a units string, the standard prefixes for multiples and sub-multiples, and the strings which may be used to represent mathematical operators and functions.

 Basic units Quantity Symbol Full Name length m metre mass g gram time s second plane angle rad radian solid angle sr steradian temperature K Kelvin electric current A Ampere amount of substance mol mole luminous intensity cd candela
 Prefixes for multiples & sub-multiples Sub-multiple Name Prefix Sub-multiple Name Prefix $1{0}^{-1}$ deci d $10$ deca da $1{0}^{-2}$ centi c $1{0}^{2}$ hecto h $1{0}^{-3}$ milli m $1{0}^{3}$ kilo k $1{0}^{-6}$ micro u $1{0}^{6}$ mega M $1{0}^{-9}$ nano n $1{0}^{9}$ giga G $1{0}^{-12}$ pico p $1{0}^{12}$ tera T $1{0}^{-15}$ femto f $1{0}^{15}$ peta P $1{0}^{-18}$ atto a $1{0}^{18}$ exa E $1{0}^{-21}$ zepto z $1{0}^{21}$ zetta Z $1{0}^{-24}$ yocto y $1{0}^{24}$ yotta Y
 Mathematical operators & functions String Meaning sym1 sym2 multiplication (a space) sym1*sym2 multiplication (an asterisk) sym1.sym2 multiplication (a dot) sym1/sym2 division sym1**y exponentiation ($y$ must be a numerical constant) sym1^y exponentiation ($y$ must be a numerical constant) log(sym1) common logarithm ln(sym1) natural logarithm exp(sym1) exponential sqrt(sym1) square root
 Derived units Quantity Symbol Full Name Definition area barn barn 1.0E-28 m**2 area pix pixel area pixel pixel electric capacitance F Farad C/V electric charge C Coulomb A s electric conductance S Siemens A/V electric potential V Volt J/C electric resistance Ohm Ohm V/A energy J Joule N m energy Ry Rydberg 13.605692 eV energy eV electron-Volt 1.60217733E-19 J energy erg erg 1.0E-7 J events count count events ct count events ph photon events photon photon flux density Jy Jansky 1.0E-26 W /m**2 /Hz flux density R Rayleigh 1.0E10/(4*PI) photon.m**-2 /s/sr flux density mag magnitude force N Newton kg m/s**2 frequency Hz Hertz 1/s illuminance lx lux lm/m**2 inductance H Henry Wb/A length AU astronomical unit 1.49598E11 m length Angstrom Angstrom 1.0E-10 m length lyr light year 9.460730E15 m length pc parsec 3.0867E16 m length solRad solar radius 6.9599E8 m luminosity solLum solar luminosity 3.8268E26 W luminous flux lm lumen cd sr magnetic field G Gauss 1.0E-4 T magnetic flux Wb Weber V s mass solMass solar mass 1.9891E30 kg mass u unified atomic mass unit 1.6605387E-27 kg magnetic flux density T Tesla Wb/m**2 plane angle arcmin arc-minute 1/60 deg plane angle arcsec arc-second 1/3600 deg plane angle mas milli-arcsecond 1/3600000 deg plane angle deg degree pi/180 rad power W Watt J/s pressure, stress Pa Pascal N/m**2 time a year 31557600 s time d day 86400 s time h hour 3600 s time yr year 31557600 s time min minute 60 s D Debye 1.0E-29/3 C.m

Accelerator keys

• Control-n Convert from current data units to UI values.
• Control-s Set data units to UI values.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.9 The simple binary maths window

This window allows you to add, subtract, divide and multiply two spectra. To use it just select a spectrum in the Left operand: list and a spectrum in the Right operand: list. Now select the operation you want to apply between them. A new spectrum called:

• Sum: (short name of left operand) + ( short name of right operand)
• Diff: (short name of left operand) - ( short name of right operand)
• Ratio: (short name of left operand)$÷$ ( short name of right operand)
• Product: (short name of left operand) x ( short name of right operand)

is created on the global list.

Note: the algorithm used to combine spectra that do not have the same wavelength positions is a simple interpolation. This does not preserve total flux, or errors, so this tool should only be used for quick qualitative arithmetic between real spectra. Artificial spectra (such as polynomial fits) do not have this restriction.

Accelerator keys

• Control-d Add the selected spectra from left and right.
• Control-s Subtract the selected spectra from left and right.
• Control-m Multiply the selected spectra from left and right.
• Control-i Divide the selected spectra from left and right.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.10 The simple constant maths window

This window allows you to add, subtract, divide and multiply a spectrum by a constant. To use it just select a spectrum in the Global list of spectra: and enter the value you want in the Constant: entry area. Now select the operation you want to apply. A new spectrum called:

• Sum: (short name of spectrum) + (<constant>)
• Diff: (short name of spectrum) - (<constant>)
• Div: (short name of spectrum)$÷$ (<constant>)
• Mult: (short name of spectrum) x (<constant>)

is created on the global list.

Accelerator keys

• Control-d Add the constant to the selected spectrum.
• Control-s Subtract the constant from the selected spectrum.
• Control-m Multiply the selected spectrum by the constant.
• Control-i Divide the selected spectrum by the constant.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.11 The panner window

This window always shows a full view of the spectra displayed in the related plot. It is designed to allow you to pan around the full sized view by moving the red rectangle.

The display is always drawn at the same aspect ratio as the full sized display, but is scaled to fit within the width or height of the panner window. Because of this there may be better widths or heights to fit any particular zoom. Resize the window to gain familiarity with this feature.

The following mouse interactions are provided:

• Centre display area, to centre the display area just put the mouse pointer over the panner and press the left mouse button.
• Scroll display area, to scroll the display area you need to drag the red rectangle. To do this just place the mouse pointer in the red rectangle and then press the left mouse button down, now move the mouse to drag the rectangle. When you’re finished release the mouse button.
• Zoom display, to zoom the main display by a factor of 1 in X, just press the middle mouse button.
• Unzoom display, to unzoom the main display by a factor of 1 in X, just press the right mouse button.

Accelerator keys

• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.12 The plot configuration window

This window provides a series of paged controls for configuring the plot display area. This help section describes each page in turn. Global options that apply to the configuration window as a whole are the ability to Auto-update any changes to what the display area is showing and to save and restore configurations to and from an XML storage system.

Normally configuration changes happen immediately as Auto-update is switched on by default. If you prefer to wait for changes then you will need to press the Draw button. You also need to press the Draw button when making changes to the data limits (these may not be in a valid state until you’ve entered the complete coordinate value).

Accelerator keys

• Control-d Draw the plot with the current UI values.
• Control-r Reset values to their defaults.
• Control-s Activate the configuration store window.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

##### Axis Data Limits:

This page allows you to set the physical limits of the axis drawn in the display area. The default configuration auto-scales all spectra to fit within the currently available display area.

If you want to apply limits of your own then, untick the auto-scale checkboxes and enter your values in the lower and upper entry areas. Remember to press Draw to apply the limits.

You can also get either axis to display itself using logarithmic scaling (if possible, there are limitations, like not being able to contain the coordinate zero) and to display the axes ranges flipped top to bottom or left to right.

Other useful options are the checkboxes Fit X range: and Fit Y range: that also make the ranges that you supply fit the visible display area exactly (these are like the fitwidth and fitheight options in the plot window) and Y auto cut: which applies limits to the Y axis using percentile cuts (the data used to estimate the limits lies within the current X coordinate range).

The Update to current button sets the X and Y limits to those of the full plot (these are the values shown initially). The Update from view button sets the X and Y limits to those of the visible part of the display area. This is useful to just show coordinate axes for what you can see.

##### Title Properties:

This page allows you to change the title shown in the plot. Using the controls you can define the font, style, size, colour and gap, from the nearest axis, of the title. You can also decide to have no title shown and insert any character from the chosen font (depends on the font, but usually these include the Å sign, press the button to see the character selection window).

The text shown in the Label: field is an accurate rendering of what is shown in the plot window. The default title can be restored by setting the text of this field to blank, or to the text Using default title (this text is used so that you can see the result of any changes you’re about to make).

Superscript and subscripting are available using AST Escape sequences, for instance:

 AST escape sequence result super%^100+script%^+ $supe{r}^{script}$ sub%v100+script%v+ $su{b}_{script}$ %% $%$

##### Axis Label Properties:

This page allows you to set the labels used on the X and Y axes. It also allows you to choose the font, style, size and colour used, as well as how far to position from the axis, which axis to attach to and whether to include any units (as a string in parenthesis). The text shown is an accurate rendering of what is shown in the plot window.

As with the title you can insert any characters from the font, and use AST Escape sequences to get effects like super and sub-scripting.

##### Axis Numbers:

This page allows you to configure how the axis number labels are rendered. As with other pages you can define the font, style, size and colour used, as well as the separation between the actual axes and the labels. An accurate rendering of how the labels will be drawn is shown in the Sample: label.

The Set log labelling: option controls whether the numbers are drawn using an exponent notation. This is the default if log spacing has been selected for the axis (so you can also use this to not get exponent labelling when the axes are drawn using a log scale).

The Digits: drop down box allows you to override the default number of significant figures shown in the labels. Just choose a number that you want. However, note that the number of significant figures is used in the algorithm for determination how to space major ticks, so it may be necessary to increase this value when configuring the major tick separation.

##### Axes:

This page allows you to control whether axes lines are drawn around the plot or not. In general this isn’t very useful for spectral plots (when the outer border lines and axes are coincident), but it does allow you to draw the axes inside the display area and position where these are drawn, so you can define an arbitrary origin. Useful effects can then be obtained using grid lines.

The Log X: and Log Y: options are the same as those shown in the Limits pane.

##### Grid Line Properties:

This page allows you to configure if grid lines are drawn in the plot, or not (not by default). Grid lines are drawn between the major ticks. You can also set the thickness, style and colour of the grid lines.

##### Border Line Properties:

This page allows you to configure if border lines are drawn in the plot, or not. Border lines are drawn at the data limits of the plot. You can also set the thickness, style and colour of the border lines.

##### Tick Properties:

This page allows you to define whether to show major and minor tick marks or not. It also allows you to define the spacing between major ticks and the number of divisions (minor ticks plus one) between major ticks, as well as the properties of the tick lines and their lengths.

The spacing used between major ticks may be dependent of the number of significant figures used in the axis number labels, so you may need to also change that.

The option Set log spacing: together with X log spacing and Y log spacing allow you to define if the spacing of major ticks along an axis are logarithmic. If the axis is scaled logarithmically (that is you’ve asked for log axes in the data limits tab) then log spacing is the default, otherwise major ticks are spaced linearly.

When spacing logarithmically you can define the separation of the major ticks using X log gap: and Y log gap:. These values are the power of 10 you require between adjacent ticks, so for instance, if you wanted ticks every factor of $1{0}^{2}$ you’d use $2$.

##### Text Properties:

This window has no uses in SPLAT-VO.

##### Graphics Rendering Hints:

This page allows you to define how carefully the graphics are drawn in the plot display area. By default any text is drawn using anti-aliasing, which makes the graphics less jagged, and spectra are drawn without anti-aliasing. If you’d also like the spectra to be anti-aliased tick Everything:.

It’s not possible to anti-alias the spectra and not the text (so it’s not just a perverse choice of options). Also note that any rendering options are applied to any captured JPEGs produced in the plot.

Finally anti-aliasing is a CPU expensive procedure so it can result in a significant performance degradation (so the default is switched off for spectra).

##### Edge Drawing Properties:

This page allows you to change the amount of space reserved around the plot for displaying titles and axis labels etc.

It also clips any points of any of the plotted spectra that lie outside the bounds of the data limits (this is not normally the case, unless you’ve defined data limits of your own).

##### Plot background:

Use this page to select a colour for the background of the plot display area.

##### Save or Restore Plot Configurations

This additional window is activated by the Store/restore button. It’s purpose is to allow you to create a database of configurations that you’d like to keep (after all if you’ve spent some time configuring the look of a plot you don’t want to have to type it all in again when someone asks you to tweak the postscript).

The configurations are identified by two elements, a Description entered by you and the date when the configuration was created. To create a copy of the current configuration (note this doesn’t include the spectra themselves) just press the Store button. This creates a new entry with the description New configuration. To change the description just double click on this text and type in your changes. Remember to press <Return> when you’re done. To remove any un-needed configurations select their rows and press the Delete button.

To restore a configuration just select it and press the Restore button. The actual data is stored in the file: \$HOME/.splat/PlotConfigs.xml. If things seem badly broken then try deleting this file.

#### 3.13 The region extraction window

This window is used to cut out or remove sections from the current spectrum. The sections are defined as a series of graphics ranges that you draw on the plot display area.

To add a region press the Add button and then drag out a region in the display area of the plot window. This should result in the creation of a green rectangular figure.

You can interact with the figure, moving it side-to-side and resizing it. To do this point at the figure and press the left mouse button. This ‘selects’ the figure and adds grips to its exterior. Note that it also becomes the selected row in the Coordinate ranges: table. To move the figure just drag it and to resize it drag a grip (the little black squares). The associated coordinate range in the table updates with these changes.

To add a second range just press Add and repeat. The ranges can be overlapped or not.

To fine tune the ranges you can edit the values in the ranges table, just point at the cell you want to change and double click the left mouse button. This should enable the text editing cursor. Just make the modifications you want and press <Return> to make the changes permanent. (Note: if your spectra have sky coordinates shown for the X axis, then you should use the same format for your edits).

To read a set of ranges from a disk file choose the File->Read ranges menu item. The format of the input file is simple. It should have two fields separated by whitespace or commas. Comments are indicated by lines starting with a hash (#) and are ignored.

When you’ve got the ranges that you want to extract, remove or replace by linear interpolation, press one of various the Cut, Remove or Interpolate buttons. This creates and displays a new spectrum on the global list called Cut <n> of <shortname>, that you can save to disk, or display in another plot etc. To just extract, remove or interpolate, one or a subset of the ranges select the rows in the ranges table and press the Cut Selected, Remove Selected or Interpolate Selected buttons.

To clear the ranges press the Reset button, but note that this also clears any spectra that have been created on the global list. To keep these just close the window.

When interpolating you will often just want to see the resultant spectrum, so there is a special Interpolate (Replace) action. That performs the interpolation, removes the current spectrum and then displays the result of interpolation. To go back from this change use the Reset (Replace) button (only undoes one change).

Accelerator keys

• Control-c Cut out all regions from spectrum.
• Control-s Cut out selected regions from spectrum.
• Control-m Remove all regions from spectrum.
• Control-o Remove selected regions from spectrum.
• Control-j Interpolate all regions of the spectrum.
• Control-k Interpolate seleced regions of the spectrum.
• Control-r Reset window by clearing ranges and any spectra.
• Control-p Reset an Interpolate (Replace) action.
• Control-d Add a coordinate range (interactive or non-interactive).
• Control-e Delete the selected coordinate ranges.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.14 The polynomial fitting window

The polynomial fitting window allows you to fit a polynomial of selected degree to various selected ranges of the current spectrum. You can select to use errors as weights for the fit and can save the fits on the global list as spectra in their own right. Fitting a polynomial is generally a pre-requisite to fitting spectral lines.

The Degree of polynomial drop-down list shows a series possible values for the degree of the polynomial that will be fitted. Obviously this should be chosen to match the expected complexity of the background.

The Use errors as weights checkbox is only effective if the spectrum being fitted has data errors.

The Subtract fit from spectrum series of radio buttons allows you to ask for the creation of a spectrum that is the difference between the spectrum and the polynomial fit. Use the As a ceiling option for absorption lines, and As base line for emission lines. These subtracted spectra appear on the global list and are added to the plot for display.

The Divide spectrum by fit checkbox allows you to ask for the creation of a new spectrum that is the result of dividing the spectrum by the polynomial fit. You will probably want to do this before attempting to fit absorption lines so that the continuum is normalized. The new spectrum appears on the global list (with the name Ratio: <spectrum name> by <polynomial name> and can plotted in a new window before fitting the lines.

Coordinate ranges

This part of the window is used to define the regions of the spectra that you want to fit the polynomial to.

To add a region press the Add button and then drag out a region in the display area of the plot window. This should result in the creation of a green rectangular figure.

You can interact with the figure, moving it side-to-side and resizing it. To do this point at the figure and press the left mouse button. This ‘selects’ the figure and adds grips to its exterior. Note that it also becomes the selected row in the Coordinate ranges: table. To move the figure just drag it and to resize it drag a grip (the little black squares). The associated coordinate range in the table updates with these changes.

To add a second range just press Add and repeat. The ranges can be overlapped or not.

To fine tune the ranges you can edit the values in the ranges table, just point at the cell you want to change and double click the left mouse button. This should enable the text editing cursor. Just make the modifications you want and press <Return> to make the changes permanent. (Note: if your spectra have sky coordinates shown for the X axis, then you should use the same format for your edits).

To read a set of ranges from a disk file choose the File->Read ranges menu item. The format of the input file is simple. It should have two fields separated by whitespace or commas. Comments are indicated by lines starting with a hash (#) and are ignored. You can also save the ranges to disk (File->Save ranges).

When you’ve got the ranges that you want to fit, press the Fit button. This creates a new spectrum on the global list, called Polynomial Fit: <n> and displays it in the plot. You can save this to disk, or display in another plot etc., just like any other spectrum. To just fit one or a subset of the ranges select the rows and then press the Fit selected button.

To clear any fits created by this window press the Delete fits button. To clear the ranges from the display area and delete the fits press the Reset button. To keep any fits just close the window.

Fit status

The Fit status text area shows some facts and figures about the fitting process. The RMS value is the root mean square difference between the fit and the spectra data i.e.:

$\sqrt{\frac{\sum _{i=1}^{N}\left(\left({s}_{i}-{f}_{i}\right)\ast \left({s}_{i}-{f}_{i}\right)\right)}{N}}$

Where ${s}_{i}$ and ${f}_{i}$ are the data values of the spectrum and the fit (possibly interchanged) and $N$ the number of positions in the spectrum.

Command Buttons

• Fit Performs a fit on all the regions you’ve defined and displays the fit and any subtracted or divided spectra in the plot.
• Fit (Replace) Same as Fit, except that if you’ve opted to subtract or divide the fit into the displayed spectrum, then that spectrum will be removed and you’ll only see the subtracted and/or divided result. If you haven’t opted to subtract or divide then the results are exactly the same as for Fit.
• Fit selected Performs a fit on only the currently selected regions. The results are displayed in the way as the Fit command.
• Fit selected (Replace) Same as Fit (Replace), except only the selected regions are used for fitting.
• Reset Removes all fit spectra (from the plot and global list) and erases the ranges. The polynomial degree is set to the default (which will be the last value used in any polynomial toolbox).
• Reset (Replace) Also removes all fit spectra, but keeps the ranges and replaces the spectrum first removed by a Fit (Replace). Effectively undoes a Fit (Replace).

Accelerator keys

• Control-f Do fit to all ranges.
• Control-l Do fit to all ranges, only display any new spectra.
• Control-s Do fit to selected ranges.
• Control-t Do fit to selected ranges, only display any new spectra.
• Control-p Reset interface after a fit replace.
• Control-r Reset interface clearing all ranges and new spectra.
• Control-i Delete any new spectra (fits and corrected spectra).
• Control-d Add a coordinate range (interactive or non-interactive).
• Control-e Delete the selected coordinate ranges.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.15 The generate spectra from interpolated lines window

This window is for generating a spectrum that is equivalent to an interpolated line that you have drawn (or are about to draw) on the plot. Such lines can then be subtracted to or from, or divided into the current spectrum, thus providing a way to background correct a spectrum using a hand-drawn line.

Command Buttons

• Draw Curve Start an interaction in the plot window for drawing a curve. This is equivalent to selecting the Drawing mode-> option in the Graphics menu. Different types of interpolated lines can be selected first in the Curve type menu. The default is hermite a type of spline that attempts to connect points in a similar way to a hand-drawn curve.
• Generate Generates an actual spectrum from your interpolated curve and then displays it, along with any subtracted or divided spectra, in the plot.
• Generate (Replace) Same as Generate, except that if you’ve opted to subtract or divide the curve into the displayed spectrum, then that spectrum will be removed and you’ll only see the subtracted and/or divided result. If you haven’t opted to subtract or divide then the results are exactly the same as for Generate.
• Reset Removes any spectra that you’ve generated from the plot and global list.
• Reset (Replace) Same as Reset, but it also restores the spectrum removed in by the first Generate (Replace). Effectively undoes a Generate (Replace).

Accelerator keys

• Control-d Start interaction to draw a curve.
• Control-g Generate a spectrum from the drawn curve.
• Control-p Reset interface undoing a Generate (Replace).
• Control-r Reset interface clearing all new spectra.
• Control-i Delete any new spectra.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.16 The spectral line fitting window

The spectral line fitting window allows you to measure the wavelength and equivalent width of emission or absorption lines and to fit various standard profiles to the lines.

The standard profiles offered are Gaussian, Lorentzian and Voigt, as well as a model independent intensity analysis measure.

Background type: Choose a type of background estimate to be subtracted from the spectrum before fitting. The choices are Constant and Polynomial. If you have already subtracted the background from the spectrum, or have applied a normalisation (so that the background is flat, usually with a value of 1) then you need to choose Constant and provide a suitable value. Otherwise choose Polynomial and select a spectrum from the list in Background fit.

Background fit: For emission lines you would normally define a background spectrum using the polynomial fitting tool. In this case select the Polynomial option and choose the background spectrum you have created. Note that you can actually use any spectrum from the global list as the background (so you are not restricted to what SPLAT-VO, provides) but if you choose the same spectrum as is being measured then a background of $0$ is assumed.

The default background should be set to the first polynomial found on the global list.

Use error as weights: If your spectrum has associated error measurements then you can select this checkbox to use the errors as weights in the fitting procedure.

Coordinate ranges: This table shows the upper and lower coordinate range for each line that you want to measure.

To add a line to this list press the Add button. Now drag out a region on the plot display area that encompasses the spectral line. You should now see a yellow rectangle over the line:

Note that the rectangle is just defining a range, not an area, so you just need to worry about its width and position along the X axis, not its height.

To adjust the rectangle position select it and either drag it around, or use the grips on the exterior to resize it. You can see the physical extent of the region in the Coordinate ranges: table. To set these to a known value double click on the value you’d like to set, make the change, and then press <Return> to apply it.

The extents of lines can be saved to a simple text file and re-read. The format is simple. It should have two fields separated by whitespace or commas. Comments are indicated by lines starting with a hash (#) and are ignored.

Types of fit:

Once you have defined the extents of your spectral lines and chosen a background, you can proceed to make the measurements you want. Just select the types of fit you want from the list Gaussian, Lorentzian and Voigt. Note you can de-select all these and just get a Quick measurement.

All types except Quick use a non-linear least squares (Levenberg-Marquardt) minimisation stage to perform the actual fit of the model to the data (possibly with weighting, if the spectrum has any error measurements). So it is necessary to have some idea of the shape of the line, before attempting to fit it. This job is done by the Quick fit, which is compulsory. The description of each of the types and what their measurements represent is given below.

The error estimates are based on the variances produced by the fit. If you have errors for the data values, these will be used as weights and providing they are realistic the errors will be correct. In the absence of data errors the errors produced will be decided assuming that the fit is good (the chi-square statistic will be artificially forced to have a value of 1).

Quick: The default line measurement type. This is based on the ABLINE technique described in the FIGARO documentation. This just uses an analysis of the intensities in the selected region and the chosen background. The results you get are:

• ID, just a unique integer to label the line. This is the same for all fits.
• Peak, the peak, background subtracted, intensity in the region. Negative for absorption lines.
• Centre, the position of the median value i.e. that for which half of the total, background subtracted, area of the line, within the given region, lies to the left and right.
• Width, width of the line. For a Gaussian this would be $±1$ standard deviations wide.
• Equiv, the equivalent width of the line. This will be $0$ if a zero background is given or assumed.
• Flux, the background subtracted integrated intensity of the line over the selected region. Requires a linear coordinate step.
• Asym, an asymmetry value for the line. This is a measure of the relative displacement of the centre of the line from the centre as measured by the upper and lower half widths.

Gaussian: The formula used for the Gaussian is:

$y\left(r\right)=A\ast exp\left(-0.5\ast {\left(\frac{x-c}{\sigma }\right)}^{2}\right)$

where $A$ is the scale height, $r$ is the distance from the centre, $c$ is the centre, $x$ the distance from the origin and $\sigma$ is the Gaussian sigma. The $y$ values are background subtracted.

The values measured for this line shape are:

• ID, integer identifier (same as other fits).
• Peak, the Gaussian peak ($A$).
• PeakErr, an estimate of the error.
• Centre, the position of the Gaussian peak ($c$).
• CentreErr, an estimate of the error.
• Width, the Gaussian sigma ($\sigma$).
• WidthErr, an estimate of the error.
• FWHM, the full width of profile at half maximum.
• FWHMErr, an estimate of the error.
• Flux, the integrated flux of the Gaussian.
• FluxErr, an estimate of the error.
• Rms, the root mean square difference between the Gaussian and the line data.

Lorentzian: The formula used for the Lorentzian is:

$y\left(r\right)=\frac{A}{1+0.5\ast {\left(\frac{x-c}{w}\right)}^{2}}$

where $A$ is the scale height, $r$ is the distance from the centre, $c$ is the centre, $x$ the distance from the origin and $w$ the Lorentzian width. The $y$ values are background subtracted. The full width half maximum ($fwhm$) of the curve is:

$fwhm=w\ast 2\sqrt{2}$

The values measured for this line shape are:

• ID, integer identifier (same as other fits).
• Peak, the Lorentzian peak ($A$).
• PeakErr, an estimate of the error.
• Centre, the position of the Lorentzian peak ($c$).
• CentreErr, an estimate of the error.
• Width, the Lorentzian width ($w$).
• WidthErr, an estimate of the error.
• FWHM, the full width of profile at half maximum.
• FWHMErr, an estimate of the error.
• Flux, the integrated flux of the Lorentzian.
• FluxErr, an estimate of the error.
• Rms, the root mean square difference between the Lorentzian and the line data.

Voigt: The formula for a Voigt profile (a convolution of a Gaussian and Lorentzian) is:

$K\left(a,b\right)=\frac{b}{\pi }{\int }_{-\infty }^{\infty }\frac{\mathrm{exp}\left(-{t}^{2}\right)}{{\left(a-t\right)}^{2}+{b}^{2}}dt$

where:

$a=\sqrt{ln2}\phantom{\rule{0.3em}{0ex}}\left(\frac{x-c}{\sigma }\right)$

and

$b=\sqrt{ln2}\phantom{\rule{0.3em}{0ex}}\left(\frac{w}{\sigma }\right)$

In these equations $c$ is the central wavelength, $x$ the distance from the origin, $\sigma$ is the Gaussian width and $w$ the Lorentzian width. Which is complex to solve. However, if we take a complex variable $z=a+ib$, then the Voigt function is, within a scale factor ($A$), also the real part of the complex error function:

$w\left(z\right)=\mathrm{exp}\left(-{z}^{2}\right)\phantom{\rule{0.3em}{0ex}}\mathrm{erfc}\left(-iz\right)$

which has been approximated by various numerical codes. Using this fact with a non-linear minimisation routine (plus some derivatives) is how SPLAT performs its Voigt fitting.

The values measured for this line shape are:

• ID, integer identifier (same as other fits).
• Peak, the Voigt peak ($A$).
• PeakErr, an estimate of the error.
• Centre, the position of the Voigt peak ($c$).
• CentreErr, an estimate of the error.
• Gwidth, the Gaussian width ($\sigma$).
• GwidthErr, an estimate of the error.
• Lwidth, the Lorentzian full width at half maximum ($w$).
• LwidthErr, an estimate of the error.
• FWHM, the full width of profile at half maximum (estimate).
• FWHMErr, an estimate of the error.
• Flux, the integrated flux of the Voigt profile.
• FluxErr, an estimate of the error.
• Rms, the root mean square difference between the Voigt and the line data.
##### 3.16.1 Saving the results

The measurements, as shown in the Spectral fitting results: table can be written out to a text file. Just select the File->Save line fits item and either pick an existing file to overwrite, or enter a new file name. The format of this file is very simple, as shown by the following example (long lines are wrapped for presentation):

# File created by Starlink SPLAT-VO

# Quick results:
# ID Peak Centre Width Equiv Flux Asym
0 0.5280543 4101.737 9.664325 0 8.636 1.046

# Gaussian results:
# ID Peak PeakErr Centre CentreErr Width WidthErr FWHM FWHMErr
# Flux FluxErr Rms
0 0.47457 0.013518 4101.637 0.20611 6.266466 0.2061116 14.7564 0.4853556
7.454487 0.3243526 0.03108123

# Lorentzian results:
# ID Peak PeakErr Centre CentreErr Width WidthErr FWHM FWHMErr
# Flux FluxErr Rms
0 0.5306862 0.00502416 4101.669 0.05490553 4.108373 0.05540269 11.62023 0.1567025
9.686626 0.1596041 0.009050248

# Voigt results:
# ID Peak PeakErr Centre CentreErr Gwidth GwidthErr Lwidth
# LwidthErr FWHM FWHMErr Flux FluxErr Rms
0 0.5308469 0.0120453 4101.668 0.05545499 0.6207013 0.7700358 11.48657 0.3663733
11.68279 0.4136257 9.687501 0.1166889 0.009053993

So each fit type has a section in which the results for each line are shown. Lines are uniquely identified by their ID value.

Accelerator keys

• Control-f Do line fits to all ranges.
• Control-r Reset interface clearing all ranges and fits.
• Control-i Delete any fits.
• Control-d Add a coordinate range (interactive or non-interactive).
• Control-e Delete the selected coordinate ranges.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.17 The filter spectrum window

This window provides the ability to filter the current spectrum displayed in a plot.

The various options are:

• Average take the running average value over a number of positions.
• Rebin rebin a spectrum so that one output value equals the mean of a number of input values.
• Median take the running median value over a number of positions.
• Profile smooth the values using a profile matched to typical line shapes, Gaussian, Lorentzian and Voigt and the standard Hanning, Hamming, Welch and Barlett filters.
• Wavelet use various wavelet filters to convert the spectrum into multi-resolution coefficients, removing a fraction of the coefficients, thus denoising the spectrum.
• Spectrum smooth the values using a profile defined in another spectrum (allows you to create kernels that match some shape, rather than just the standard profiles).

You can define ranges of the spectrum to apply the filter over (except for Rebin, that always applies to the whole spectrum, which is what happens for all filters if you’ve not defined any ranges). Depending on whether you’ve selected Filter inside ranges or not the ranges are used to define the parts of the spectrum to filter, or not to filter. Parts which are not filtered do not form part of the result spectrum.

Command Buttons

• Filter Filters the spectrum and displays the result in the plot.
• Filter (Replace) Same as Filter, except the current spectrum is removed so you only see the filtered one.
• Reset Removes all filtered spectra (from the plot and global list) and erases the ranges.
• Reset (Replace) Also removes all filtered spectra, but restores the spectrum first removed by Filter (Replace) Effectively undoes the first Filter (Replace), since the last Reset (Replace)

Accelerator keys

• Control-f Apply current filter to spectrum.
• Control-l Apply current filter to spectrum and only display the new spectrum.
• Control-p Reset interface after a filter replace.
• Control-r Reset interface clearing any ranges and new spectra.
• Control-d Add a coordinate range (interactive or non-interactive).
• Control-e Delete the selected coordinate ranges.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.18 Quick change of coordinate or data units window

This window allows you to change the coordinate or data units of the current spectrum to a limited number of preset values. You can only change units when the current spectrum already has a correctly set coordinate system or data units.

If you need to set the coordinates or data units you must use the two toolboxes available in the main window. These also offer considerably more flexibility, particularly when defining spectral coordinates.

If you do not want to change the units of an axis, just leave the value set at Not set or unrecognised.

When you see the value Not set or unrecognised, that means that the current spectrum has no properly defined coordinates or data units for that axis (as appropriate), or, that the settings do not match one of the pre-defined set that you can switch to. Note that data units which match one of the preset values dimensionally will be displayed in the preset format, so may not match values shown elsewhere, say in the plot labels.

When the plot is displaying more than one spectrum, only the current one is actually modified. If you want the other spectra to be drawn as if in the same coordinates or data units, then you must make sure that the menu item Options->Match coordinates and/or fluxes is selected, but this will only work when all the displayed spectra have proper spectral coordinates and data units defined.

The SideBand: control is for switching between sidebands (upper and lower) when display spectra that are derived from a dual sideband instrument. This is not available when your spectra do not have this feature. When displaying a dual sideband spectrum the inactive sideband coordinates will be displayed along the unused X axis (usually the top). You can also use this control to display coordinates offset from the Local Oscillator value.

The Origin: control allows you to display offset coordinates. In this case you can select to have no offset (None), use the existing offset, if defined (Default, usually the same as None), or display coordinates offset from the rest frequency. Note for velocities this last option isn’t useful as they are already displayed offset from this value. If you want to set another value as the origin then you need to use the advanced toolbox available in the main window.

The Standard of rest: control allows you to switch between the various supported rest frames. If the current spectrum doesn’t support these the value will be set to Not set or unrecognised.

The Rest Frequency: field displays the current rest frequency in GHz. This can be changed in two ways, either by selecting a position along the plot X axis, which you start by pressing the Pick pos button and then clicking on the plot, or by selecting a line identifier, which you do by pressing the Pick ID button and clicking on the plot in the vicinity of the desired label. When picking a line identifier the rest frequency is set to that of the line, not of the position that it currently occupies on the plot (these will differ if the spectrum has a source velocity).

Accelerator keys

• Control-a Apply UI values converting from existing coordinates and/or data units to new ones.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.19 Flip or shift or redshift a spectrum

This window allows you to do three related jobs.

• Create and optionally flip a copy of the current spectrum.
• Shift an editable spectrum.
• Redshift an editable spectrum.

Flipping and shifting a spectrum allows you to assess the symmetry of a line. Shifting alone to determine how well spectra are aligned and redshifting to transform a spectrum or set of line identifiers to guess or confirm the redshift (all line identifier lists are already editable).

The transformation is applied to the spectrum shown in the Spectrum: drop-down menu. Initially this will show any editable spectra displayed in the associated plot (like the line identifiers). If you want an editable copy of the current spectrum just press the Copy button.

One subtlety is that the offset value is either a redshift or a value in the coordinate units of the spectrum being modified, depending on whether the Redshift checkbox is selected, or not. The coordinate units of the spectrum may not be the same as those of the current spectrum in the plot, which can lead to surprising results.

When applying a redshift it is assumed that the spectrum being modified has a wavelength coordinate system, of some kind, unless it has a proper coordinate system defined. In this latter case the only restriction is that you cannot have a standard of rest set to ‘Source’ (as a transformation to and from Source is used to determine the redshift transform). In this latter case use the coordinate system toolbox to transform to another rest frame first.

The Reset button returns a spectrum to an offset of zero.

Visitor lists

It’s often the case that you have a list of lines, in a spectrum, or many spectra, that you’d like to step through to check the radial velocity or redshift estimates, without the bother of reading each spectrum and line, positioning the plot etc. That’s what a visitor list is designed for.

To use this create a simple text file containing either one, two, three or more whitespace separated columns. If one column is present then that is assumed to be the wavelength of the lines. If two columns are present then these are the wavelength and an associated spectrum. If three or more columns are present then the third columns contains the name of the associated spectrum and the second a label to be displayed at the position (when the label is missing it is set to the wavelength). Very short examples of the three types follow:

6562.8170
6583.6000
6716.4700
6730.8500
...
6562.8170 spectrum1.fits
6562.8170 spectrum2.fits
6562.8170 spectrum3.fits
6562.8170 spectrum4.fits
...
6562.8170 HALPHA    spectrum1.fits
6583.6000 [NII]     spectrum1.fits
6716.4700 [SII]6717 spectrum2.fits
6730.8500 [SII]6731 spectrum3.fits
...

Visitor lists are a type of line identifier spectrum, so can have fully specified spectral coordinate units written in a header section (see the line identifier lists in the SPLAT distribution themselves for details), so you are not restricted to having all your spectra in the same coordinate systems.

Once the visitor list is loaded File->Read visitor line list, you can start stepping through it using the Visitor controls, or jump to a particular line using the drop-down menu. The default behaviour of this tool, on each visit, is to create a copy of the current spectrum and then flip it centred on the line (the current zoom is also preserved). It you’d like to not create a copy of the spectrum for each visit, or indeed to flip it, then uncheck the Flip checkbox and select the menu item Options->One spectrum for visitor (these choices remain enforced between sessions).

Another way to use the visitor controls is to use a line identifier (either a built in one, or one of your own) as the visitor list. To do this load the line identifiers in the usual way (in the main window) and display them in the plot. You can then make this the visitor list by pressing Set as visitor list. Now using the visitor controls you can step between the lines (remember to de-select Flip and select Options->One spectrum for visitor, otherwise you’ll get the line identifiers copied, flipped and maybe reused!).

SPEFO options

The original motivation for creating this tool (suggested by Petr Skoda, see the acknowledgements section) was really to do flip comparisons of lines to determine radial velocities in the same fashion as the SPEFO program. This has some additional requirements beyond those required for simple shifting in a linear sense, as well as in redshift, and are enabled by selecting the Options->SPEFO options menu item. This reveals two text areas (you need to resize the window to actually see them first time). The upper one shows the flip corrected offset (that’s half the standard shift) and the radial velocity for that flipped shift (calculated as $c\ast Offset\ast 0.5/\left(Flipcentre\right)$), assuming that the coordinate system is some wavelength.

There’s also an editable area for writing some notes about the measurement, both these areas are written the file SPEFO.log by pressing the Save to SPEFO.log file button.

Accelerator keys

• Control-r Reset interface to defaults.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.20 Region statistics window

Using this window you can get simple constantly updated statistics on regions of the current spectrum, or fuller statistics for the whole spectrum, or collections of regions.

Constantly updated statistics for regions are:

• Mean
• Standard deviation
• Minimum
• Maximum
• Integrated flux
• TSYS

The integrated flux is a numerical estimate and does not require even coordinate spacing. It can be removed from this list by deselecting the Options->Show flux integral item. This can be used to quickly estimate the flux in a line, providing your spectra are background subtracted.

The TSYS value is a system temperature estimate and requires data from the JCMT, or you can set the necessary parameters by enabling the Options->Set TSYS parameters item, which reveals a set of controls not seen by default. Note that the effective exposure time is:

${t}_{eff}={t}_{on}\ast {t}_{off}/\left({t}_{on}+{t}_{off}\right)$

where ${t}_{on}$ and ${t}_{off}$ are the integration times spent on and off the source. The backend degradation factor is instrument specific.

When you use the buttons along the bottom of the window these statistics are extended to also include:

• Median
• Mode
• Sum
• Number of data points

Note that the Mode is determined as $3\ast Median-2\ast Mean$, not from a distribution, so will not be correct for highly skewed distributions.

If you select the Options->Show extra stats menu item you can also see:

• Sum of squares
• RMS (square root of the mean square)
• Variance
• Standard error
• $25%$ and $75%$ quantiles
• Skew
• Kurtosis

and if you select Error stats->you can get basic statistics on the values that are being used as the spectrum errors (or variances).

To get statistics for the whole of the current spectrum just press the Whole stats button. If you want statistics for parts of the spectrum you will need to define the coordinate ranges you want to use (see the next part), and then press the Selected stats button to get statistics for the selected regions combined together (if none are selected then all regions are used), or All stats to get statistics for all the regions combined together.

Coordinate ranges

This part of the window is used to define the regions of the spectra that you want to see statistics for. Once defined you will see simple, continuously updated, statistics. You can also get fuller statistics using the Selected stats and All stats buttons.

To add a region press the Add button and then drag out a region in the display area of the plot window. This should result in the creation of a green rectangular figure.

You can interact with the figure, moving it side-to-side and resizing it. To do this point at the figure and press the left mouse button. This ‘selects’ the figure and adds grips to its exterior. Note that it also becomes the selected row in the Coordinate ranges: table. To move the figure just drag it and to resize it drag a grip (the little black squares). The associated coordinate range in the table updates with these changes.

To add a second range just press Add and repeat. The ranges can be overlapped or not.

To fine tune the ranges you can edit the values in the ranges table, just point at the coordinate you want to change and double click the left mouse button. This should enable the text editing cursor. Just make the modifications you want and press <Return> to make the changes permanent. (Note: if your spectra have sky coordinates shown for the X axis, then you should use the same format for your edits).

To read a set of ranges from a disk file choose the File->Read ranges menu item. The format of the input file is simple. It should have at least two fields separated by whitespace or commas. Comments are indicated by lines starting with a hash (#) and are ignored. You can also save the ranges and simple statistics to disk file using (File->Save ranges). It is also possible to append the contents of the Full stats log: region to the file SPLATStats.log by pressing the Save to log file button.

Accelerator keys

• Control-s Show full stats for all the selected ranges.
• Control-l Show full stats for all the ranges.
• Control-h Show full stats for the whole spectrum,
• Control-d Add a coordinate range (interactive or non-interactive).
• Control-e Delete the selected coordinate ranges.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

#### 3.21 Display stacked spectra

Using this window you can change the display of multiple spectra so that an offset in data value is artificially applied so that the spectra can be viewed stacked one above the other. It can also be useful when say comparing spectra from different times or physical state, as the stacking order can be defined as an algrebraic expression that can include time and dates or the actual offset as an expression of some other physical parameter, like period.

In both modes the offset is a value in the data units of the spectra, which must all be the same, no flux matching is supported.

If supplying an order expression it should evaluate to a number for each spectrum, higher values having their associated spectra placed above lower valued ones by the given offset.

If supplying a offset expression it should evaluate to a physical value, so scaling to appropriate values is often necessary.

Note that the values of any properties associated with the spectra are available for use as part of the expression, usually these are the values of the FITS headers and the keywords should be used.

The expressions are the same as used in the TOPCAT application (see SUN/253 or the TOPCAT builtin help), so include all the special functions it provides, for instance isoToMjd will convert an ISO 8601 date into an MJD, which is suitable as a order value. As an example the expression isoToMjd(DATE_OBS) will convert the DATE-OBS value into an MJD, provided the DATE-OBS value is in ISO 8601 format. Note that the minus sign in DATE-OBS has been changed into an underscore, that is deliberate. Any character in a keyword that cannot be a Java identifier will be converted into an underscore (allowed characters are any alpha-numeric, plus the underscore).

Accelerator keys

• Control-a Apply the current values.
• Control-w Close the window.
• F1 Display help on SPLAT-VO.
• Shift-F1 Display help on window.

1http://www.ivoa.net/

2http://www.ivoa.net/