Changeset 646 for trunk


Ignore:
Timestamp:
06/01/05 13:02:12 (20 years ago)
Author:
phi196
Message:

support for 7 fields

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/requirements2.tex

    r644 r646  
    55\usepackage{smartref}
    66\usepackage{longtable}
    7 %\usepackage{arrayjob}
    8 %\usepackage{multido}
    9 \usepackage[dvips]{graphicx}
    10 
    11 \def\complete{no}
     7
     8\def\complete{yes}
    129
    1310% Adjust the page size
     
    5451% Also Deferred, Obsolete
    5552
    56 % Requirement comment
     53% Requirement command
    5754%  Summary
    5855%  Status
    5956%  Priority
     57%  Time estimate
     58%  Percent complete
     59%  Completion date
    6060%  Text
    6161
     
    6464%\newcounter{numreq}
    6565
    66 \newcommand{\requirement}[4]{
     66\newcommand{\requirement}[7]{
    6767  \ifthenelse{\equal{\complete}{yes}}
    68              {\dorequirement{#1}{#2}{#3}{#4}}
    69              {\ifthenelse{\equal{#2}{Done1} \or \equal{#2}{Deferred}
     68             {\dorequirement{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
     69             {\ifthenelse{\equal{#2}{Done1}
     70                 \or \equal{#2}{Deferred}
     71                 \or \equal{#2}{Removed}
    7072                 \or \equal{#2}{Obsolete}}{}
    71                {\dorequirement{#1}{#2}{#3}{#4}}}
     73               {\dorequirement{#1}{#2}{#3}{#4}{#5}{#6}{#7}}}
    7274}
    7375
    74 
    75 \newcommand{\dorequirement}[4]{
     76\newcommand{\subrequirement}[7]{
     77  \ifthenelse{\equal{\complete}{yes}}
     78             {\dosubrequirement{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
     79             {\ifthenelse{\equal{#2}{Done1}
     80                 \or \equal{#2}{Deferred}
     81                 \or \equal{#2}{Obsolete}
     82                 \or \equal{#2}{Removed}}{}
     83               {\dosubrequirement{#1}{#2}{#3}{#4}{#5}{#6}{#7}}}
     84}
     85
     86
     87\newcommand{\dorequirement}[7]{
    7688
    7789  \setcounter{subrequirement}{0}
     
    8193    \stepcounter{requirement}
    8294    {\bf \showreqcounter\ \bf #1} \\
    83     #4 \\
     95    #7 \\
    8496    \hspace*{1cm} \status{#2}{#3}
    8597  \end{minipage}
    8698
    87   \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 :ENDREQ}
     99  \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 & #4 & #5 & #6 :ENDREQ}
    88100}
    89101
    90 \newcommand{\extendedrequirement}[4]{
     102\newcommand{\extendedrequirement}[7]{
    91103  \setcounter{subrequirement}{0}
    92104
     
    95107    \stepcounter{requirement}
    96108    {\bf \showreqcounter\  #1}
    97     #4
     109    #7
    98110    \hspace*{1cm} \status{#2}{#3}
    99111  \end{minipage}
    100112
    101   \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 :ENDREQ}
     113  \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 & #4 & #5 & #6 :ENDREQ}
    102114}
    103115
    104 \newcommand{\subrequirement}[4]{
     116\newcommand{\dosubrequirement}[7]{
    105117  \hspace*{2mm}\begin{minipage}{\textwidth-2mm}
    106118    \setlength{\parindent}{-2mm}
    107119    \stepcounter{subrequirement}
    108120    {\bf \showsubreqcounter\ \bf #1} \\
    109     #4 \\
     121    #7 \\
    110122    \hspace*{1cm} \status{#2}{#3}
    111123  \end{minipage}
    112124
    113   \typeout{REQUIREMENT: \showsubreqcounter & #1 & #2 & #3 :ENDREQ}
    114 }
    115 
    116 \newcommand{\oldrequirement}[2]{
    117   \hspace*{2mm}\begin{minipage}{\textwidth-2mm}
    118     \setlength{\parindent}{-2mm}
    119     \showreqcounter\ #1 \\
    120     \hspace*{1cm} {\em Priority #2}
    121   \end{minipage}
    122 }
    123 
    124 \newcommand{\oldextendedrequirement}[2]{
    125   \hspace*{2mm}\begin{minipage}{\textwidth-2mm}
    126     \setlength{\parindent}{-2mm}
    127     \showreqcounter\ #1
    128     \hspace*{1cm} {\em Priority #2}
    129   \end{minipage}
     125  \typeout{REQUIREMENT: \showsubreqcounter & #1 & #2 & #3  & #4 & #5 & #6 :ENDREQ}
    130126}
    131127
     
    146142ASAP has been written to replace the venerable single-dish software
    147143{\tt spc} for processing of single dish spectral line data from all
    148 ATNF observatories. Version 1.0 of ASAP was released in ****. This
    149 document reflects an update of the initial requirements document. Some
    150 new requirements have been added and the requirement priorities have
    151 been reassessed for the next development cycle.
     144ATNF observatories. Version 1.0 of ASAP was released in March
     1452005. This document reflects an update of the initial requirements
     146document. Some new requirements have been added and the requirement
     147priorities have been reassessed for the next development cycle.
    152148
    153149\section{Scope}
     
    219215\smallskip
    220216
    221 \requirement{Simple interface}{Deferred}{}{It should be simple,
     217\requirement{Simple interface}{Deferred}{}{}{}{}{It should be simple,
    222218intuitive and uncluttered. Specifically, use of many windows
    223219simultaneously should be discouraged, as should hiding functionality
    224220behind layers of dialog boxes.}
    225221
    226 \requirement{Integrated plotter}{Deferred}{}{The plotting window
     222\requirement{Integrated plotter}{Deferred}{}{}{}{}{The plotting window
    227223should be a major component of the GUI control, not a separate
    228224isolated window.}
    229225
    230 \requirement{Minimal controls}{Deferred}{}{The interface should use
     226\requirement{Minimal controls}{Deferred}{}{}{}{}{The interface should use
    231227  minimal ``always visible'' controls, with use of pull down menus and
    232228  maybe a toolbar for frequency used functions. }
    233229
    234 \requirement{Keyboard shortcuts}{Deferred}{}{Keyboard shortcuts should
     230\requirement{Keyboard shortcuts}{Deferred}{}{}{}{}{Keyboard shortcuts should
    235231be available.}
    236232
    237 \requirement{GUI user preferences}{Deferred}{}{Most user preferences
     233\requirement{GUI user preferences}{Deferred}{}{}{}{}{Most user preferences
    238234(i.e. keywords in the CLI) should be presented in a popup, tabbed,
    239235dialog box.}
    240236
    241 \requirement{GUI line fitting}{Deferred}{}{When performing line
     237\requirement{GUI line fitting}{Deferred}{}{}{}{}{When performing line
    242238profile fitting, a spreadsheet type window should be viewable which
    243239shows the current parameter values (amplitude, velocity etc) for each
     
    251247implemented in ipython using a objected oriented command approach.
    252248
    253 \requirement{Virtual CLI}{Obsolete}{}{While the GUI should be the main
     249\requirement{Virtual CLI}{Obsolete}{}{}{}{}{While the GUI should be the main
    254250interface for new users and for basic manipulation, some tasks can be
    255251more efficiently performed using a CLI. A virtual CLI could be
    256252integrated as part of the GUI.}
    257253
    258 \requirement{CLI keyword/argument}{Obsolete}{}{The CLI should have a
     254\requirement{CLI keyword/argument}{Obsolete}{}{}{}{}{The CLI should have a
    259255keyword/argument form and never prompt the user for specific values
    260256(the user should be able to change values which are retained until
    261257they wants to change them again).}
    262258
    263 \requirement{CLI case insensitive}{Obsolete}{}{The CLI should be case
     259\requirement{CLI case insensitive}{Obsolete}{}{}{}{}{The CLI should be case
    264260insensitive and accept minimum matching and short forms of
    265261keywords.}
    266262
    267 \requirement{CLI available routines}{Done1}{}{The user must be able to
     263\requirement{CLI available routines}{Done1}{}{}{}{}{The user must be able to
    268264quickly and easily see from the command line the available routines
    269265and keywords which affect it, so they can see which parameters may
     
    272268\subsection{Scripting}
    273269
    274 \requirement{Scripting}{Done1}{1}{It must be possible to run the
     270\requirement{Scripting}{Done1}{1}{}{}{}{It must be possible to run the
    275271software in a scripting mode. This would be to process large amounts
    276272of data in a routine manner and also to automatically reproduce
     
    279275the same.}
    280276
    281 %\requirement{Scripts from History}{Duplicate}{}{It would be worthwhile
     277%\requirement{Scripts from History}{Duplicate}{}{}{}{}{It would be worthwhile
    282278%having a method to auto-generate scripts (for reduction or plotting)
    283279%from current spectra history, or some similar method.}
     
    288284GUI and software interface.
    289285
    290 \requirement{High quality plots}{Done1}{}{It must be able to
     286\requirement{High quality plots}{Done1}{}{}{}{}{It must be able to
    291287produce plots of publishable quality.}
    292288
    293 \subrequirement{Histogram plots}{Not started}{1} {As well as line
     289\subrequirement{Histogram plots}{Not started}{1}{}{}{} {As well as line
    294290plots, there needs to be an option to plot spectra in ``Histogram''
    295291mode}
     
    298294The user must be able to specify:
    299295
    300 \subrequirement{Line Thickness}{Started}{1}{}
    301 
    302 \subrequirement{Character size}{Not started}{1}{}
    303 
    304 \subrequirement{Colours}{Started}{1}{}
    305 
    306 \subrequirement{Line styles}{Not started}{1}{}
    307 
    308 \subrequirement{Position of axis ticks}{Done1}{2}{}
    309 
    310 \subrequirement{Hard Copies}{Done1}{1}{Producing hard copies
     296\subrequirement{Line Thickness}{Started}{1}{}{}{}{}
     297
     298\subrequirement{Character size}{Not started}{1}{}{}{}{}
     299
     300\subrequirement{Colours}{Started}{1}{}{}{}{}
     301
     302\subrequirement{Line styles}{Not started}{1}{}{}{}{}
     303
     304\subrequirement{Position of axis ticks}{Done1}{2}{}{}{}{}
     305
     306\subrequirement{Hard Copies}{Done1}{1}{}{}{}{Producing hard copies
    311307in postscript and .png format. Other formats may be added on an as
    312308need basic.}
    313309
    314 \subrequirement{Non-interactive hard copies}{Not started}{1}
     310\subrequirement{Non-interactive hard copies}{Not started}{1}{}{}{}
    315311{It must be possible to produce hard copiers without an interactive
    316312(i.e X11) plotter starting}.
    317313
    318 \subrequirement{Scriptable plotting}{Done1}{1} {All aspects of
     314\subrequirement{Scriptable plotting}{Done1}{1}{}{}{} {All aspects of
    319315the plotter (zooming etc) must be setable from the command line for
    320316scripting}
    321317
    322 \requirement{Arbitrary plots}{Not started}{3}
     318\requirement{Arbitrary plots}{Not started}{3}{}{}{}
    323319{It must be possible to flexibly select the data to plot (e.g. Tsys vs
    324320time etc as well as plots such as amplitude vs channel number or
     
    326322scans could be plotted on a scatter plot (e.g. Tsys vs elevation)}
    327323
    328 \requirement{Overlay spectra}{Done1}{}{It must be possible to overlay
     324\requirement{Overlay spectra}{Done1}{}{}{}{}{It must be possible to overlay
    329325  multiple spectra on a single plot using different colours and/or
    330326  different line styles. (Including multiple stokes data and multiple
    331327  IFs).[[CHECK]]}
    332328
    333 \requirement{Plot individual spectra}{Done1}{}{It must be possible to
     329\requirement{Plot individual spectra}{Done1}{}{}{}{}{It must be possible to
    334330  plot either the individual integrations (in either a stacked
    335331  fashion, or using a new subplot per integration)}
    336332
    337 \subrequirement{Auto-average integrations for plotting}{Not started}{2}
     333\subrequirement{Auto-average integrations for plotting}{Not started}{2}{}{}{}
    338334{It should be possible to optionally auto-average integrations of a
    339335scan for plotting (for data thats has not already been scan averaged)}
    340336
    341 \requirement{Plotter multi-panelling}{Done1}{1}
     337\requirement{Plotter multi-panelling}{Done1}{1}{}{}{}
    342338{It must be possible to multi-panel spectra in an n$\times$m size
    343339grid. It must be possible to easily change the number of plots per
    344340page, ie define the ``n'' and ``m'' values.}
    345341
    346 \subrequirement{Step between plots}{Not started}{1}
     342\subrequirement{Step between plots}{Not started}{1}{}{}{}
    347343{If more spectra than can fit on the plot matrix are to be plotted,
    348344then it must be possible to step back and forth between the viewable
     
    350346single plot on the pages at a time.}
    351347
    352 \requirement{Multi-panel: change \# panels}{Not started}{2}
     348\requirement{Multi-panel: change \# panels}{Not started}{2}{}{}{}
    353349{When using multi-panelling, the plotter should automatically update
    354350the plot when the plot matrix dimensions (``n'' and ``m'' are changed)}
    355351
    356 \requirement{Plotter interactive zooming}{Done1}{}{It must be possible
     352\requirement{Plotter interactive zooming}{Done1}{}{}{}{}{It must be possible
    357353  to interactively zoom the plot (channel range selection and
    358354  amplitude of the spectra etc.)  This includes both GUI control of
     
    360356  factor or directly specifying the zoom bounds. }
    361357
    362 \requirement{Zoomed subplot}{Not started}{2}
     358\requirement{Zoomed subplot}{Not started}{2}{}{}{}
    363359{On a single plot, it should be possible to plot the full spectrum and
    364360a zoomed copy of the data (using a different lie style) to see weak
    365361features. The user must be able to specify the zoom factor.}
    366362
    367 \requirement{Offset plots}{Not started}{2}{Optionally when stacking
     363\requirement{Offset plots}{Not started}{2}{}{}{}{Optionally when stacking
    368364  multiple spectral plots in one subwindow, a (user definable) offset
    369365  in the ``y'' direction should be added to each subsequent
    370366  spectra.}
    371367
    372 \requirement{Plotter auto-update}{Not started}{3}
     368\requirement{Plotter auto-update}{Not started}{3}{}{}{}
    373369{The plotter should automatically update to reflect user processing,
    374370either from the CLI or GUI. The user should have to option to turn
    375371this feature off if they so wish.}
    376372
    377 \requirement{Waterfall plot}{Not started}{3}
     373\requirement{Waterfall plot}{Not started}{3}{}{}{}
    378374{It should be possible to plot individual integrations (possibly from
    379375multiple scans) in a ``waterfall'' plot. This is an image based
     
    383379this image should be supported. }
    384380
    385 \requirement{Waterfall editing}{Not started}{3}
     381\requirement{Waterfall editing}{Not started}{3}{}{}{}
    386382{When plotting ``waterfall'' plots, it should be possible to
    387383interactively select regions or points and mark them as invalid
     
    389385time/velocity of the pixel beneath the cursor.}
    390386
    391 \requirement{Export waterfall to FITS}{Not started}{3}
     387\requirement{Export waterfall to FITS}{Not started}{3}{}{}{}
    392388{It should be possible to export the ``waterfall'' plot images as a
    393389FITs file, for user specific analysis.}
    394390
    395 \requirement{Plot overlays}{Not started}{1} {Line markers overlays,
     391\requirement{Plot overlays}{Not started}{1}{}{}{} {Line markers overlays,
    396392read from a catalogue should be optionally available. This would
    397393include the full Lovas catalogue, the JPL line catalogue and radio
     
    400396of the lines in any specific catalogue (to avoid clutter).}
    401397
    402 \subrequirement{Plot overlays}{Not started}{2}
     398\subrequirement{Plot overlays}{Not started}{2}{}{}{}
    403399{Simple user definable catalogue should be definable for plot overlays}
    404400
    405 \requirement{Plot fitted functions}{Done1}{}
     401\requirement{Plot fitted functions}{Done1}{}{}{}{}
    406402{Optionally plot fitted functions (e.g line profiles or baseline
    407403fit). If multiple components (e.g. Gaussian) have been fit, it should
     
    409405components}
    410406
    411 \requirement{Plot residual data}{Started}{1}
     407\requirement{Plot residual data}{Started}{1}{}{}{}
    412408{It should be possible to plot the residual data with or without
    413409subtraction of fit functions. This includes plotting the spectra with
     
    416412subtracted but profile fits not subtracted.}
    417413
    418 \requirement{Plot header data}{Not started}{2} {Basic header data
     414\requirement{Plot header data}{Not started}{2}{}{}{} {Basic header data
    419415(source name, molecule, observation time, Tsys, elevation, parallactic
    420416angle etc) should be optionally shown, either on the plot or next to
     
    423419for example).}
    424420
    425 \subrequirement{User define header plot positions}{Not started}{3}
     421\subrequirement{User define header plot positions}{Not started}{3}{}{}{}
    426422{The user should be able to define where on the plot the header info
    427423would appear.}
    428424
    429 \requirement{Realtime cursor position}{Done1}{}
     425\requirement{Realtime cursor position}{Done1}{}{}{}{}
    430426{Optionally, relevant data such as the current mouse position should
    431427be displayed (maybe with a mode to display an extended cross,
    432428horizontal or vertical line at the current cursor position).}
    433429
    434 \requirement{Plot annotations}{Not started}{2}{The user should be able
     430\requirement{Plot annotations}{Not started}{2}{}{}{}{The user should be able
    435431  to define simple annotations. This would include text overlay and
    436432  probably simple graphics (lines, arrows etc).}
     
    446442The plotter should be used to set the following values:
    447443
    448 \requirement{Interactive channel selection}{Deferred}{1}{Range of
     444\requirement{Interactive channel selection}{Deferred}{1}{}{}{}{Range of
    449445 spectral channels needed for specific tasks (ie the channel mask)
    450446 (See requirement \reqref{ref:chansel})}
    451447
    452 \requirement{Interactive line fitting}{Deferred}{1}{Initial
     448\requirement{Interactive line fitting}{Deferred}{1}{}{}{}{Initial
    453449Gaussian parameters (velocity, width, amplitude) for profile
    454450fitting.}
    455451
    456 \requirement{Plotter change fit values}{Deferred}{1}
     452\requirement{Plotter change fit values}{Deferred}{1}{}{}{}
    457453{Change the parameter values of existing line profile
    458454fits, or channel ranges used for baseline fits.}
     
    477473The software must be able to read (import) the following file formats.
    478474
    479 \requirement{Read rpfits}{Done1}{}{The rpfits file format produced by
     475\requirement{Read rpfits}{Done1}{}{}{}{}{The rpfits file format produced by
    480476  all current ATNF correlators.}
    481477
    482 \requirement{Read sdfits}{Done1}{}{SDFITS (currently written by {\tt SPC}).}
    483 
    484 \requirement{Read simple FITS}{Not started}{2}{Simple ``image'' FITS
     478\requirement{Read sdfits}{Done1}{}{}{}{}{SDFITS (currently written by {\tt SPC}).}
     479
     480\requirement{Read simple FITS}{Not started}{2}{}{}{}{Simple ``image'' FITS
    485481(used by CLASS}
    486482
    487 \requirement{Read historic formats}{Not started}{3}
     483\requirement{Read historic formats}{Not started}{3}{}{}{}
    488484{Historic ATNF single dish formats (Spectra, SPC, SLAP). Possibly a
    489485set of routines to translate these formats to SDFITs would suffice.}
    490486
    491 \requirement{Read PSRFITS}{Deferred}{}{PSRFIT for pulsar spectroscopy.}
    492 
    493 \requirement{Read online data}{Not started}{1}
     487\requirement{Read PSRFITS}{Deferred}{}{}{}{}{PSRFIT for pulsar spectroscopy.}
     488
     489\requirement{Read online data}{Not started}{1}{}{}{}
    494490{For online analysis, the software should be able to read an rpfits
    495491file which is is still currently open for writing by the telescope
    496492backend processor.}
    497493
    498 \requirement{Handle Doppler data}{Done1}{1}{Data which has been
     494\requirement{Handle Doppler data}{Done1}{1}{}{}{}{Data which has been
    499495observed in either a fixed frequency or Doppler tracked fashion needs
    500496to be handled.}
     
    502498The software should be able to export the data in the following formats.
    503499
    504 \requirement{Write SDFITS}{Done1}{}{Single Dish FITS.}
    505 
    506 \requirement{Write simple FITS}{Done1}{}
     500\requirement{Write SDFITS}{Done1}{}{}{}{}{Single Dish FITS.}
     501
     502\requirement{Write simple FITS}{Done1}{}{}{}{}
    507503{Simple ``image'' FITS (as used by CLASS). It must be possible to to
    508504export multiple spectra simultaneously, using default file name and
    509505postfix.}
    510506
    511 \requirement{}{Removed}{}{In a format which can be imported by other popular
    512     packages such as Class. }
    513 
    514 \requirement{Write ASCIIs}{Done1}{}
     507\requirement{}{Removed}{}{}{}{}{}{In a format which can be imported by other popular
     508    packages such as Class.
     509
     510\requirement{Write ASCIIs}{Done1}{}{}{}{}
    515511{Simple ASCIIs format, suitable for use with programs such as Perl,
    516512Python, SuperMongo etc.}
    517513
    518 \requirement{Header Writing}{Not started}{1}
     514\requirement{Header Writing}{Not started}{1}{}{}{}
    519515{The exported data should retain as much header data as possible. It
    520516should also be possible to request specific data be written in the
    521517desired form (B1950 coordinates, optical velocity definition etc).}
    522518
    523 \requirement{Import corrections}{Done1}{}
     519\requirement{Import corrections}{Done1}{}{}{}{}
    524520{The import function should apply relevant corrections (especially
    525521those which are time dependent) to specific telescopes. See
    526522$\S$\ref{sec:issues} for a list of currently known issues.}
    527523
    528 \requirement{Append output files}{Not started}{1} {It must be possible
     524\requirement{Append output files}{Not started}{1}{}{}{} {It must be possible
    529525to append spectra to existing output files, specifically sdfits and
    530526asap output files.}
     
    538534techniques.
    539535
    540 \requirement{Quotient Spectra}{Done1}{}
     536\requirement{Quotient Spectra}{Done1}{}{}{}{}
    541537{\label{ref:skysub} Position switched sky subtraction should be
    542538implemented using the algorithm \medskip\reqeqn{T_{ref} \times
     
    544540\times \frac{S}{R} - T_{ref}} -- preserves continuum\medskip}
    545541
    546 \requirement{Arbitrary reference}{Not started}{2}
     542\requirement{Arbitrary reference}{Not started}{2}{}{}{}
    547543{The user should be able to specify an arbitrarily complex
    548544reference/source order (which repeats), which can then be used to make
    549545perform multiple sky subtractions in parallel.}
    550546
    551 \requirement{Frequency switching}{Not started}{2}
     547\requirement{Frequency switching}{Not started}{2}{}{}{}
    552548{Frequency switched sky subtraction should be supported. (Ref. Liszt,
    5535491997, A\&AS, 124, 183) }
     
    557553%sky subtraction algorithms will need to be investigated.}{3}
    558554
    559 \requirement{Pulsar off pulse quotient}{Deferred}{3}
     555\requirement{Pulsar off pulse quotient}{}{}{}{Deferred}{3}
    560556{For pulsar binned data, the (user specified) off pulse bins can be
    561557used as the reference spectra. Due to potentially rapid amplitude
     
    568564for one beam is obtained while the other is observing the target source.
    569565
    570 \requirement{Multibeam MX mode}{Not started}{2}
     566\requirement{Multibeam MX mode}{Not started}{2}{}{}{}
    571567{For multibeam systems, it must be possible to perform sky subtraction
    572568with the source and reference in an alternate pair of beams}
     
    580576free channels.
    581577
    582 \requirement{Baseline removal}{Done1}{}
     578\requirement{Baseline removal}{Done1}{}{}{}{}
    583579{The software must be able to do baseline removal by fitting a n'th
    584580order polynomials to the line free channels using a least squares
    585581method.}
    586582
    587 \requirement{Standing wave ripples}{Not started}{3}
     583\requirement{Standing wave ripples}{Not started}{3}{}{}{}
    588584{Removal of standing wave ripples should be done by fitting a Sine
    589585function to the line free channels.}
    590586
    591 \requirement{Robust fitting}{Not started}{3}
     587\requirement{Robust fitting}{Not started}{3}{}{}{}
    592588{``Robust'' fitting functions should be available, which are more
    593589tolerant to RFI.}
    594590
    595 \requirement{Auto-baseline}{Done1}{}
     591\requirement{Auto-baseline}{Done1}{}{}{}{}
    596592{Automatic techniques for baselining should be investigated.}
    597593
     
    602598parameters.
    603599
    604 \requirement{Gaussian fitting}{Done1}{}
     600\requirement{Gaussian fitting}{Done1}{}{}{}{}
    605601{The software must be able to do multi-component Gaussian fitting of
    606602the spectra. The initial amplitude, width and velocity of each
     
    608604be fit should be easily set.}
    609605
    610 \requirement{Chi squared}{Done1}{}
     606\requirement{Chi squared}{Done1}{}{}{}{}
    611607{The reduce Chi squared (or similar statistic) of the fit should given
    612608to the user, so that they can easily see if adding extra components
     
    618614%along with the data.}{1}
    619615
    620 \requirement{Fit multipol data}{Done1}{}
     616\requirement{Fit multipol data}{}{}{}{Done1}{}
    621617{For multiple polarisation data, the individual stokes parameters or
    622618polarisation products should be fit independently.}
    623619
    624 \requirement{Export fits}{Not started}{1}
     620\requirement{Export fits}{Not started}{1}{}{}{}
    625621{There should be an easy way of exporting the fit parameter from
    626622multiple spectra, e.g. as an ASCII table.}
    627623
    628 \requirement{Constrained fitting}{Not started}{1}
     624\requirement{Constrained fitting}{Not started}{1}{}{}{}
    629625{It should be also possible to do constrained fitting of multiple
    630626hyperfine components, e.g. the NH$_3$ hyperfine components. (The
     
    632628components or the amplitude ratio etc.)}
    633629
    634 \requirement{Edit fits parameters}{Done1}{}
     630\requirement{Edit fits parameters}{Done1}{}{}{}{}
    635631{It must be possible to alter the line profile fit parameter values by
    636632hand at any stage.}
    637633
    638 \requirement{Fix fit parameters}{Done1}{}
     634\requirement{Fix fit parameters}{Done1}{}{}{}{}
    639635{It must be possible to ``fix'' particular values of the line profile
    640636parameters, so that only subset of lines or (say) the width of a line
    641637is fit.}
    642638
    643 \requirement{Arbitrary line fitting}{Done1}{}
     639\requirement{Arbitrary line fitting}{Done1}{}{}{}{}
    644640{The software should allow hooks for line profile shapes other than
    645641Gaussian to be added in the future, possible user specified.}
    646642
    647 \requirement{Save fit parameters}{Done1}{}
     643\requirement{Save fit parameters}{Done1}{}{}{}{}
    648644{The fitting parameters for functions which have been fit to the data
    649645(e.g. for baseline removal or Gaussian fits) should be retained as an
    650646integral part of the data and stored permanently on disk.}
    651647
    652 \requirement{Undo subtracted fits}{Not started}{3}
     648\requirement{Undo subtracted fits}{Not started}{3}{}{}{}
    653649{It should be possible to ``undo'' functions which have been
    654650subtracted from the data (e.g. baseline polynomials).}
    655651
    656 \requirement{Gaussian line area}{Not started}{1}
     652\requirement{Gaussian line area}{Not started}{1}{}{}{}
    657653{Optionally the area under a fitted Gaussian should be calculated for
    658654the user.}
     
    677673if the flux units are Kelvin or Janskys.
    678674
    679 \requirement{Gain-elevation}{Done1}{}
     675\requirement{Gain-elevation}{Done1}{}{}{}{}
    680676{Gain elevation corrections should be implemented using a elevation
    681677dependent polynomial. The polynomial coefficients will be telescope
     
    683679dependence.}
    684680
    685 \requirement{User gain polynomial}{Done1}{}
     681\requirement{User gain polynomial}{Done1}{}{}{}{}
    686682{The user may wish to supply their own gain polynomial.}
    687683
    688 \requirement{K-Jy conversion}{Done1}{}
     684\requirement{K-Jy conversion}{Done1}{}{}{}{}
    689685{When required by the user, the spectral units must be converted from
    690686Kelvin to Jansky. At higher (3mm) frequencies this conversion is often
     
    695691and time dependent)}
    696692
    697 \requirement{Scale Tsys}{Done1}{}
     693\requirement{Scale Tsys}{Done1}{}{}{}{}
    698694{In some cases the recorded Tsys values will be wrong. There needs to
    699695be a mechanism to scale the Tsys value and the spectrum if the Tsys
     
    701697factor).}
    702698
    703 \requirement{Opacity}{Done1}{}
     699\requirement{Opacity}{Done1}{}{}{}{}
    704700{The data may need to be corrected for opacity effects, particularly
    705701at frequencies of 20~GHz and higher. The opacity factor to apply is
     
    713709with a time-stamp would be one possibility.}
    714710
    715 \requirement{Tsys variation with freq}{Not started}{3}
     711\requirement{Tsys variation with freq}{Not started}{3}{}{}{}
    716712{For wideband, multibit observations, the software should have the
    717713option to handle Tsys which varies across the band. The exact
     
    735731disrupt the reference/source sequence.
    736732
    737 \requirement{Spectra flagging}{Started}{1}
     733\requirement{Spectra flagging}{Started}{1}{}{}{}
    738734{The user must be able to set an entire spectra or part thereof
    739735(individual polarisation, IF etc) as being invalid.}
    740736
    741 \requirement{Channel flagging}{Started}{1}
     737\requirement{Channel flagging}{Started}{1}{}{}{}
    742738{The user must be able to indicate an individual spectral point or
    743739range of spectral points are invalid. This should be applied to an
    744740individual spectra, or set of spectra.}
    745741
    746 \subrequirement{Flagged channel plotting}{???}{1} {When plotting data
     742\subrequirement{Flagged channel plotting}{???}{1}{}{}{} {When plotting data
    747743with flagged spectral channels, the plotting should left a gap (blank)
    748744in the plotted data|}.
    749745
    750 \subrequirement{Flagged channel interpolatin}{Not started}{2}
     746\subrequirement{Flagged channel interpolatin}{Not started}{2}{}{}{}
    751747{When plotting or processing data (e.g. quotient spectra), the users
    752748should be able to request that the values for flagged data are
     
    754750points.}
    755751
    756 \requirement{Plot average flux vs time}{Not started}{3}
     752\requirement{Plot average flux vs time}{Not started}{3}{}{}{}
    757753{The user should be able to plot the average spectral flux across the
    758754band, or part of the band, as a function of time and interactively
     
    760756IBLED in classic aips).}
    761757
    762 \requirement{Robust Fitting}{Duplicate}{2}
     758\requirement{Robust Fitting}{Duplicate}{2}{}{}{}
    763759{Where relevant, fitting routines etc should have the option of
    764760selecting RFI tolerant (``robust'') algorithms. This will require
     
    766762approach.}
    767763
    768 \requirement{Birdie finder}{Not started}{2}
     764\requirement{Birdie finder}{Not started}{2}{}{}{}
    769765{A routine to automatically find birdies or RFI corrupted data and
    770766indicate the data as invalid would be useful.}
    771767
    772 \requirement{Handle flagged data}{Done1}{}
     768\requirement{Handle flagged data}{Done1}{}{}{}{}
    773769{Other routines must be able to cope with portions of data which are
    774770marked as invalid.}
     
    786782The spectral manipulations which should be available are:
    787783
    788 \requirement{Add spectra}{Done1}{}{Add or subtract multiple spectra.}
    789 
    790 \requirement{Average spectra}{Done1}{1}
     784\requirement{Add spectra}{Done1}{}{}{}{}{Add or subtract multiple spectra.}
     785
     786\requirement{Average spectra}{Done1}{1}{}{}{}
    791787{Averaging multiple spectra, with optional weighting based on Tsys,
    792788integration or rms.}
    793789
    794 \subrequirement{Average spectra with velocity shift}{Not started}{1}
     790\subrequirement{Average spectra with velocity shift}{Not started}{1}{}{}{}
    795791{If the velocity of the spectra to be averaged is different, the data
    796792should be aligned in velocity. The user should be able to turn this
    797793feature on or off.}
    798794
    799 \requirement{Robust averaging}{Not started}{2}
     795\requirement{Robust averaging}{Not started}{2}{}{}{}
    800796{Various robust averaging possibilities (e.g. median averaging,
    801797clipped means etc) should be possible.}
    802798
    803 \requirement{Data re-binning}{Done1}{}
     799\requirement{Data re-binning}{Done1}{}{}{}{}
    804800{Re-sampling or re-binning of the data to a lower (or higher) spectral
    805801resolution (i.e. change the number of spectral points). The
    806802re-sampling factor may not necessarily be an integer.}
    807803
    808 \requirement{Velocity shift}{Done1}{}
     804\requirement{Velocity shift}{Done1}{}{}{}{}
    809805{It must be possible to shift the data in ``frequency/velocity''. This
    810806should include channel, frequency and velocity shifts of an arbitrary
    811807amount.}
    812808
    813 \requirement{Spectra smoothing}{Done1}{}
     809\requirement{Spectra smoothing}{Done1}{}{}{}{}
    814810{Spectral smoothing of the data. Hanning, Tukey, boxcar and Gaussian
    815811smoothing of variable widths should be possible.}
    816812
    817 \requirement{Spectra scaling}{Done1}{}{Scaling of the spectra.}
    818 
    819 \requirement{Spectra statistics}{Done1}{}
     813\requirement{Spectra scaling}{Done1}{}{}{}{}{Scaling of the spectra.}
     814
     815\requirement{Spectra statistics}{Done1}{}{}{}{}
    820816{Calculate basic statistical values (maximum, minimum, rms, mean) on a
    821817range of spectral points. The range may not be contiguous. The
     
    823819optionally used for weighted averaging of spectra.}
    824820
    825 \requirement{Line flux}{Not started}{2}
     821\requirement{Line flux}{Not started}{2}{}{}{}
    826822{It must be possible to calculate the flux integral over a range of
    827823channels. The units should be Jy.km/s (or Kelvin.km/s). The channel
    828824range for the calculation should be specific via the GUI or CLI.}
    829825
    830 \requirement{Line width}{Not started}{2}
     826\requirement{Line width}{Not started}{2}{}{}{}
    831827{It must be possible to calculate the numerical ``width'' of a line
    832828(full width at half maximum type measurement). This should be
     
    840836specified ``maximum value''.}
    841837
    842 \requirement{Change rest frequency}{Done1}{}
     838\requirement{Change rest frequency}{Done1}{}{}{}{}
    843839{The user must be able to easily change the rest-frequency to which
    844840the velocity is referenced.}
    845841
    846 \requirement{FFT filtering}{Not started}{3}
     842\requirement{FFT filtering}{Not started}{3}{}{}{}
    847843{FFT filtering for high- and lowpass filtering and tapering.}
    848844
    849 \requirement{FFT to/from autocorrelation function}{Not started}{3}
     845\requirement{FFT to/from autocorrelation function}{Not started}{3}{}{}{}
    850846{It should be possible to FFT the data to and from power spectra to
    851847the autocorrelation function.}
    852848
    853 \requirement{Cross correlation}{Not started}{3}
     849\requirement{Cross correlation}{Not started}{3}{}{}{}
    854850{The user may wish to compute the cross correlation function of two
    855851spectra. The result should be a standard ``spectra'', which can be
    856852displayed and analysed using other functions (max, rms etc).}
    857853
    858 \requirement{Spectral calculator}{Started}{1}
     854\requirement{Spectral calculator}{Started}{1}{}{}{}
    859855{Complex experiment specific processing can often be done using a
    860856series of the simple of basic functions. A spectral calculator options
     
    869865``split'' into separate spectra.
    870866
    871 \requirement{Splice data}{Not started}{1}
     867\requirement{Splice data}{Not started}{1}{}{}{}
    872868{It must be possible to take multi IF, multibeam or polarisation data
    873869and split out the individual spectral portions to form self contained
    874870spectra.}
    875871
    876 \requirement{Splice spectral channels}{Not started}{1} {It must be
     872\requirement{Splice spectral channels}{Not started}{1}{}{}{} {It must be
    877873possible to select a range of spectral channels to form self contained
    878874spectra. The channel selection may be different for different IFs.}
    879875
    880 \requirement{Merge scantables}{Not started}{1}
     876\requirement{Merge scantables}{Not started}{1}{}{}{}
    881877{It must be possible to append rows from one scantable onto another}
    882878
     
    893889%two dual polarisation measurements.}
    894890
    895 \requirement{Support polarimetry}{Done1}{}
     891\requirement{Support polarimetry}{Done1}{}{}{}{}
    896892{All functions on the data (calibration, sky subtraction spectral
    897893mathematics) must support arbitrary, multiple, polarisation (linear,
    898894circular \& stokes and single, dual \& cross polarisations.}
    899895
    900 \requirement{Calculate stokes I}{Done1}{}
     896\requirement{Calculate stokes I}{Done1}{}{}{}{}
    901897{It must be possible to calculate stokes I from single or dual
    902898polarisation observations.}
    903899
    904 \requirement{Average mixed pol data}{Not started}{2}
     900\requirement{Average mixed pol data}{Not started}{2}{}{}{}
    905901{Average a mixture of dual polarisation and single polarisation data
    906902and form average stokes I (e.g. for a long observation of a source, in
    907903which one polarisation is missing for some time.}
    908904
    909 \requirement{Calculate stokes}{Done1}{}
     905\requirement{Calculate stokes}{Done1}{}{}{}{}
    910906{Full stokes parameters should be obtained from dual pol (linear or
    911907circular) observations where the cross polarisation products have been
     
    922918%angle, Iu and Ip and the unpolarised and linearly polarised
    923919%intensity. {\em Stolen from SPC. I need to write this in more useful
    924 %language. Is this technique likely to be used anymore?.}}{3}
    925 
    926 \requirement{Compute stokes V without crosspol}{Not started}{2}
     920%language. Is this technique likely to be used anymore?.}}{}{}{}{3}
     921
     922\requirement{Compute stokes V without crosspol}{Not started}{2}{}{}{}
    927923{If dual circular polarisation measurements are taken, without
    928924computing the cross products, the software should still be able to
    929925compute stokes I and V.}
    930926
    931 \requirement{Polarisation leakages}{Not started}{3}
     927\requirement{Polarisation leakages}{Not started}{3}{}{}{}
    932928{The software should be able to calculate leakage terms from a
    933929calibrator source and correct the data either before or after
    934930conversion to Stokes. (ref. Johnston, 2002, PASA, 19, 277)}
    935931
    936 \requirement{Calibrate position angle}{Not started}{3}
     932\requirement{Calibrate position angle}{Not started}{3}{}{}{}
    937933{The software should be able to determine absolute position angle from
    938934a calibrator source and correct the data either before or after
    939935conversion to Stokes.}
    940936
    941 \requirement{Zeeman splitting}{Not started}{3}
     937\requirement{Zeeman splitting}{Not started}{3}{}{}{}
    942938{Zeeman splitting factors should be derived from (previous) profile
    943939fitting and the left and right circular polarisations. The velocity
     
    961957together).
    962958
    963 \requirement{Spectra selection}{Started}{1}
     959\requirement{Spectra selection}{Started}{1}{}{}{}
    964960{The software needs an easy-to-use mechanism to select either
    965961individual or multiple spectra for viewing, parallel processing
    966962etc.}
    967963
    968 \requirement{Beam/IF selection}{Started}{1}
     964\requirement{Beam/IF selection}{Started}{1}{}{}{}
    969965{An easy-to-use mechanism to select individual IFs, beams or
    970966polarisations is needed.}
    971967
    972 \requirement{Interactive channel selection}{Duplicate}{1}
     968\requirement{Interactive channel selection}{Duplicate}{1}{}{}{}
    973969{\label{ref:chansel} The range of spectral points to use for baseline
    974970removal, statistical calculations, RFI editing, analysis etc must be
     
    981977available as a plot overlay.}
    982978
    983 \requirement{Auto-identify reference spectra}{Not started}{1}
     979\requirement{Auto-identify reference spectra}{Not started}{1}{}{}{}
    984980{When performing sky subtraction on many spectra simultaneously, the
    985981software should have a mechanism for identifying ``on'' and ``off''
     
    991987source'' should be accommodated.}
    992988
    993 \requirement{Select source via header values}{Started}{1}
     989\requirement{Select source via header values}{Started}{1}{}{}{}
    994990{The software should be able to select sets of sources based on simple
    995991regular expression type filtering (wild cards) on a range of header
    996992values. }
    997993
    998 \subrequirement{Select on source name}{Done1}{1}
     994\subrequirement{Select on source name}{Done1}{1}{}{}{}
    999995{The use should be able to select dana on source name, e.g G309$*$ or
    1000996G309$*$w}
    1001997
    1002 \subrequirement{Select on molecule}{Done1}{2}
     998\subrequirement{Select on molecule}{Done1}{2}{}{}{}
    1003999{The use should be able to select data on molecule name, e.g. NH3$*$.}
    10041000
    10051001\subsection{Plugins}
    10061002
    1007 \requirement{Plugins}{Started}{1}
     1003\requirement{Plugins}{Started}{1}{}{}{}
    10081004{The package should support ``plugins'', user definable
    10091005functions for specific processing. The plugin code must have full
    10101006access (read/write) to the spectra data and headers.}
    10111007
    1012 \requirement{Plugins can reduce dimensions}{Not started}{2}
     1008\requirement{Plugins can reduce dimensions}{Not started}{2}{}{}{}
    10131009{Plugins need to be able to create ``derived'' spectra with reduced
    1014   dimensions (i.e.. less beams, IFs, polarisations or spectral
     1010  dimensions (i.e. less beams, IFs, polarisations or spectral
    10151011  channels)}
    10161012
    1017 \requirement{Simulated data}{Not stated}{3}
     1013\requirement{Simulated data}{Not stated}{3}{}{}{}
    10181014{The user should be able to create new spectra which the software
    10191015treats the same as the original data. This includes full specification
     
    10221018\subsection{Pipelining}
    10231019
    1024 \requirement{Pipelining}{Done1}{}
     1020\requirement{Pipelining}{Done1}{}{}{}{}
    10251021{Some sort of pipelining mode is required. This would involve doing a
    10261022quotient spectra, applying appropriate calibration and possibly
     
    10351031\subsection{Miscellaneous functionality}
    10361032
    1037 \requirement{Position fitting}{Not started}{2}
     1033\requirement{Position fitting}{Not started}{2}{}{}{}
    10381034{The software should be able to take a simple ``grid'' of observations
    10391035(normally a set of observations in a cross pattern on the sky) and,
     
    10421038simple ASCIIs form.}
    10431039
    1044 \requirement{Kinematic distance}{Not started}{3}
     1040\requirement{Kinematic distance}{Not started}{3}{}{}{}
    10451041{The kinematic distance of a source should be calculated using basic
    10461042Galactic rotation models. Multiple Galactic rotation models must be
    10471043supported and a mechanism for easily adding more.}
    10481044
    1049 \requirement{Plot sigma errors on spectra}{Not started}{3}
     1045\requirement{Plot sigma errors on spectra}{Not started}{3}{}{}{}
    10501046{For 1420 MHz observations of HI, the rms (Tsys) values vary
    10511047significantly across the band. The software should be able to compute
     
    10541050spectra.}
    10551051
    1056 \requirement{Simple Mapping}{Not started}{3}
     1052\requirement{Simple Mapping}{Not started}{3}{}{}{}
    10571053{It should be possible to take a selection of calibrated spectra which
    10581054are then passed to the ``Gridzilla'' program to produce an image
     
    10621058\section{Help}
    10631059
    1064 \requirement{Built in help}{Done1}{}
     1060\requirement{Built in help}{Done1}{}{}{}{}
    10651061{There should be built-in and web-based documentation, which can be
    10661062easily kept up-to-date}
    10671063
    1068 \requirement{Cookbook}{Done1}{}
     1064\requirement{Cookbook}{Done1}{}{}{}{}
    10691065{A short and simple end-to-end cookbook for basic data analysis should
    10701066be available.}
    10711067
    1072 \requirement{Programmers Documentation}{Not started}{2}
     1068\requirement{Programmers Documentation}{Not started}{2}{}{}{}
    10731069{There should be documentation aimed at astronomers wishing to write
    10741070there own scripts, detailing the methods needed and how to get low
     
    10771073\section{Data and meta-data}
    10781074
    1079 \requirement{Handle multi dimensional data}{Done1}{}
     1075\requirement{Handle multi dimensional data}{Done1}{}{}{}{}
    10801076{The software must be capable of handling multi-IF (potentially dozens
    10811077of IFs) and multi-beam data with arbitrary polarisation (e.g. single
    10821078pol, dual pol, full stokes etc).}
    10831079
    1084 \requirement{Handle pulsar data}{Deferred}{}
     1080\requirement{Handle pulsar data}{Deferred}{}{}{}{}
    10851081{The software should handle pulsar binned data for pulsar absorption
    10861082experiments.}
     
    10881084\subsection{History}
    10891085
    1090 \requirement{History}{Done1}{}
     1086\requirement{History}{Done1}{}{}{}{}
    10911087{A user viewable history of data processing steps should be kept as
    10921088part of the data. Where possible this should be retained when data is
    10931089imported from other packages.}{
    10941090
    1095 \requirement{Convert history to script}{Not started}{2}
     1091\requirement{Convert history to script}{Not started}{2}{}{}{}
    10961092{It should be possible to use the history information to create
    10971093template pipeline scripts for batch processing.}
     
    10991095\subsection{Multiple IFs}
    11001096
    1101 \requirement{Transparently handle multi-IF data}{Done1}{}
     1097\requirement{Transparently handle multi-IF data}{Done1}{}{}{}{}
    11021098{If multiple IFs are present (currently Tidbinbilla can produce two
    11031099IFs and the new wideband spectrometer for Mopra may have dozens of
     
    11091105of separate ``container'').}
    11101106
    1111 \requirement{IFs with different number of spectral channels}{Not started}{2}
     1107\requirement{IFs with different number of spectral channels}{Not started}{2}{}{}{}
    11121108{Separate IFs may have a different number of spectral channels.}
    11131109
    11141110\subsection{Multibeam}
    11151111
    1116 \requirement{Handle multibeam data}{Done1}{}
     1112\requirement{Handle multibeam data}{Done1}{}{}{}{}
    11171113{Basic handling of multibeam data should be possible (ie in general
    11181114each beam will be treated as a separate observation, but all within
     
    11201116individual beams or all beams in parallel.}
    11211117
    1122 \requirement{Multibeam simultaneous reference/signal}{Not started}{3}
     1118\requirement{Multibeam simultaneous reference/signal}{Not started}{3}{}{}{}
    11231119{The use of a single beam observing a source and the rest of the beams
    11241120as reference beams for sky-subtraction should be investigated.}
     
    11261122\subsection{Robust fitting}
    11271123
    1128 \requirement{Retain raw correlator integrations}{Done1}{}
     1124\requirement{Retain raw correlator integrations}{Done1}{}{}{}{}
    11291125{If robust fitting using median filtering is used, then the individual
    11301126integrations from the observations should {\em not} be averaged when
     
    11351131\subsection{Coordinate frames and units}
    11361132
    1137 \requirement{Flexible coordinate frames}{Done1}{}
     1133\requirement{Flexible coordinate frames}{Done1}{}{}{}{}
    11381134{Coordinate frames and unit selection and handling needs to be
    11391135flexible and relatively transparent to the user (i.e. if the users
     
    11411137reference frame in which the data was observed).}
    11421138
    1143 \requirement{Specific reference frames}{Done1}{}
     1139\requirement{Specific reference frames}{Done1}{}{}{}{}
    11441140{At a minimum the following reference frames and conventions should be
    11451141handled: \setlength{\parindent}{0pt}
     
    11571153\anitem{Flux}{ Jansky, Kelvin (mJy etc).}}
    11581154
    1159 \requirement{Data units and frames properly labelled}{Done1}{}
     1155\requirement{Data units and frames properly labelled}{Done1}{}{}{}{}
    11601156{All data should be internally labelled with the appropriate
    11611157 coordinate frame and units. If this information is ambiguous for some
     
    11631159 should not have to worry about it again.}
    11641160
    1165 \requirement{Current reference frames clear to user}{Done1}{}
     1161\requirement{Current reference frames clear to user}{Done1}{}{}{}{}
    11661162{It should be clear to the user what coordinate frame (velocity,
    11671163position etc) the data is being presented as.}
    11681164
    1169 \requirement{Positional Reference Frame}{Not started}{1} {The user
     1165\requirement{Positional Reference Frame}{Not started}{1}{}{}{} {The user
    11701166should be able to specify the reference frame (Epoch,Equinox etc) for
    11711167which is used for exporting data, simple mapping output etc. J2000,
     
    11731169in what the data was recorded.}
    11741170
    1175 \requirement{Non-conformist Positional Reference Frame}{Not Started}{2}
     1171\requirement{Non-conformist Positional Reference Frame}{Not started}{2}{}{}{}
    11761172{Non-confirmist positional frames such as Az-El should be supported.}
    11771173
     
    11821178retained. The user may wish to enter some specific values by hand.
    11831179
    1184 \requirement{View and edit header data}{Started}{1}
     1180\requirement{View and edit header data}{Started}{1}{}{}{}
    11851181{All header data should be viewable and editable by the user. This
    11861182includes changes such as scaling the given Tsys values.}
    11871183
    1188 \requirement{Missing header data}{Done1}{}
     1184\requirement{Missing header data}{Done1}{}{}{}{}
    11891185{Missing header data should be handled gracefully, i.e. the software
    11901186should fill the values with ``blanks'' and be able to continue to
    11911187process the data if possible.}
    11921188
    1193 \requirement{User add missing header data}{Not started}{2}
     1189\requirement{User add missing header data}{Not started}{2}{}{}{}
    11941190{The user must be able to add missing header data, which is not
    11951191present in the RPFITs file. It must be possible to add the same header
    11961192data to multiple scans simultaneously.}
    11971193
    1198 \extendedrequirement{Itemised header items}{Started}{1}
     1194\extendedrequirement{Itemised header items}{Started}{1}{}{}{}
    11991195{The following header data would be required per scan:
    12001196\begin{itemize}
     
    12191215}
    12201216
    1221 \extendedrequirement{IF header items}{Started}{1}
     1217\extendedrequirement{IF header items}{Started}{1}{}{}{}
    12221218{\label{req:if}
    12231219The following header data is required for each IF, beam etc:
     
    12341230}
    12351231
    1236 \requirement{Pretty print formula}{Not started}{3}
     1232\requirement{Pretty print formula}{Not started}{3}{}{}{}
    12371233{The molecular formula could be stored with embedded superscripted and
    12381234subscripted symbols for ``pretty'' printing on the plotted, but
     
    12451241\vspace{\parskip}
    12461242
    1247 \requirement{Multiple rest frequencies per IF}{Not started}{2}
     1243\requirement{Multiple rest frequencies per IF}{Not started}{2}{}{}{}
    12481244{The software should optionally support multiple lines per IF, by
    12491245storing a set of rest frequencies per IF, rather than a single
     
    12551251\section{Installation}
    12561252
    1257 \requirement{Easy installation}{Started}{1}
     1253\requirement{Easy installation}{Started}{1}{}{}{}
    12581254{It must be possible for astronomers to install the software at their
    12591255own institute with either a moderate amount of OS experience or some
     
    12611257on a central ``NFS'' server as well as local desk-tops.}
    12621258
    1263 \requirement{Linux Support}{Started}{1}
     1259\requirement{Linux Support}{Started}{1}{}{}{}
    12641260{The software must run on major flavours of Linux
    12651261(Fedora/Redhat, Debian, etc).}
    12661262
    1267 \subrequirement{Solaris Support}{Started}{1}
     1263\subrequirement{Solaris Support}{Started}{1}{}{}{}
    12681264{The software must run on Solaris}
    12691265
    1270 \requirement{Run on laptop}{Done1}{}
     1266\requirement{Run on laptop}{Done1}{}{}{}{}
    12711267{It must be possible for users to install the software on their
    12721268laptops and run with no network connection.}
    12731269
    1274 \requirement{Easy upgrade}{Done1}{}
     1270\requirement{Easy upgrade}{Done1}{}{}{}{}
    12751271{It should be relatively easy to upgrade to the latest version of the
    12761272software.}
    12771273
    1278 \requirement{MacOS/X support}{Not started}{1}
     1274\requirement{MacOS/X support}{Not started}{1}{}{}{}
    12791275{The software should run on MacOS/X}
    12801276
    1281 \requirement{Windows support}{Not started}{3}
     1277\requirement{Windows support}{Not started}{3}{}{}{}
    12821278{It would be desirable for the software to run on Windows.}
    12831279
     
    13241320\begin{itemize}
    13251321\item All 20-GHz data is calibrated in flux units of Kelvin.
     1322\item Elevation is not written into the rpfits file.
    13261323\end{itemize}
    13271324
Note: See TracChangeset for help on using the changeset viewer.