- Timestamp:
- 06/01/05 13:02:12 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/requirements2.tex
r644 r646 5 5 \usepackage{smartref} 6 6 \usepackage{longtable} 7 %\usepackage{arrayjob} 8 %\usepackage{multido} 9 \usepackage[dvips]{graphicx} 10 11 \def\complete{no} 7 8 \def\complete{yes} 12 9 13 10 % Adjust the page size … … 54 51 % Also Deferred, Obsolete 55 52 56 % Requirement comm ent53 % Requirement command 57 54 % Summary 58 55 % Status 59 56 % Priority 57 % Time estimate 58 % Percent complete 59 % Completion date 60 60 % Text 61 61 … … 64 64 %\newcounter{numreq} 65 65 66 \newcommand{\requirement}[ 4]{66 \newcommand{\requirement}[7]{ 67 67 \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} 70 72 \or \equal{#2}{Obsolete}}{} 71 {\dorequirement{#1}{#2}{#3}{#4} }}73 {\dorequirement{#1}{#2}{#3}{#4}{#5}{#6}{#7}}} 72 74 } 73 75 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]{ 76 88 77 89 \setcounter{subrequirement}{0} … … 81 93 \stepcounter{requirement} 82 94 {\bf \showreqcounter\ \bf #1} \\ 83 # 4\\95 #7 \\ 84 96 \hspace*{1cm} \status{#2}{#3} 85 97 \end{minipage} 86 98 87 \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 :ENDREQ}99 \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 & #4 & #5 & #6 :ENDREQ} 88 100 } 89 101 90 \newcommand{\extendedrequirement}[ 4]{102 \newcommand{\extendedrequirement}[7]{ 91 103 \setcounter{subrequirement}{0} 92 104 … … 95 107 \stepcounter{requirement} 96 108 {\bf \showreqcounter\ #1} 97 # 4109 #7 98 110 \hspace*{1cm} \status{#2}{#3} 99 111 \end{minipage} 100 112 101 \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 :ENDREQ}113 \typeout{REQUIREMENT: \showreqcounter & #1 & #2 & #3 & #4 & #5 & #6 :ENDREQ} 102 114 } 103 115 104 \newcommand{\ subrequirement}[4]{116 \newcommand{\dosubrequirement}[7]{ 105 117 \hspace*{2mm}\begin{minipage}{\textwidth-2mm} 106 118 \setlength{\parindent}{-2mm} 107 119 \stepcounter{subrequirement} 108 120 {\bf \showsubreqcounter\ \bf #1} \\ 109 # 4\\121 #7 \\ 110 122 \hspace*{1cm} \status{#2}{#3} 111 123 \end{minipage} 112 124 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} 130 126 } 131 127 … … 146 142 ASAP has been written to replace the venerable single-dish software 147 143 {\tt spc} for processing of single dish spectral line data from all 148 ATNF observatories. Version 1.0 of ASAP was released in ****. This149 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.144 ATNF observatories. Version 1.0 of ASAP was released in March 145 2005. This document reflects an update of the initial requirements 146 document. Some new requirements have been added and the requirement 147 priorities have been reassessed for the next development cycle. 152 148 153 149 \section{Scope} … … 219 215 \smallskip 220 216 221 \requirement{Simple interface}{Deferred}{}{ It should be simple,217 \requirement{Simple interface}{Deferred}{}{}{}{}{It should be simple, 222 218 intuitive and uncluttered. Specifically, use of many windows 223 219 simultaneously should be discouraged, as should hiding functionality 224 220 behind layers of dialog boxes.} 225 221 226 \requirement{Integrated plotter}{Deferred}{}{ The plotting window222 \requirement{Integrated plotter}{Deferred}{}{}{}{}{The plotting window 227 223 should be a major component of the GUI control, not a separate 228 224 isolated window.} 229 225 230 \requirement{Minimal controls}{Deferred}{}{ The interface should use226 \requirement{Minimal controls}{Deferred}{}{}{}{}{The interface should use 231 227 minimal ``always visible'' controls, with use of pull down menus and 232 228 maybe a toolbar for frequency used functions. } 233 229 234 \requirement{Keyboard shortcuts}{Deferred}{}{ Keyboard shortcuts should230 \requirement{Keyboard shortcuts}{Deferred}{}{}{}{}{Keyboard shortcuts should 235 231 be available.} 236 232 237 \requirement{GUI user preferences}{Deferred}{}{ Most user preferences233 \requirement{GUI user preferences}{Deferred}{}{}{}{}{Most user preferences 238 234 (i.e. keywords in the CLI) should be presented in a popup, tabbed, 239 235 dialog box.} 240 236 241 \requirement{GUI line fitting}{Deferred}{}{ When performing line237 \requirement{GUI line fitting}{Deferred}{}{}{}{}{When performing line 242 238 profile fitting, a spreadsheet type window should be viewable which 243 239 shows the current parameter values (amplitude, velocity etc) for each … … 251 247 implemented in ipython using a objected oriented command approach. 252 248 253 \requirement{Virtual CLI}{Obsolete}{}{ While the GUI should be the main249 \requirement{Virtual CLI}{Obsolete}{}{}{}{}{While the GUI should be the main 254 250 interface for new users and for basic manipulation, some tasks can be 255 251 more efficiently performed using a CLI. A virtual CLI could be 256 252 integrated as part of the GUI.} 257 253 258 \requirement{CLI keyword/argument}{Obsolete}{}{ The CLI should have a254 \requirement{CLI keyword/argument}{Obsolete}{}{}{}{}{The CLI should have a 259 255 keyword/argument form and never prompt the user for specific values 260 256 (the user should be able to change values which are retained until 261 257 they wants to change them again).} 262 258 263 \requirement{CLI case insensitive}{Obsolete}{}{ The CLI should be case259 \requirement{CLI case insensitive}{Obsolete}{}{}{}{}{The CLI should be case 264 260 insensitive and accept minimum matching and short forms of 265 261 keywords.} 266 262 267 \requirement{CLI available routines}{Done1}{}{ The user must be able to263 \requirement{CLI available routines}{Done1}{}{}{}{}{The user must be able to 268 264 quickly and easily see from the command line the available routines 269 265 and keywords which affect it, so they can see which parameters may … … 272 268 \subsection{Scripting} 273 269 274 \requirement{Scripting}{Done1}{1}{ It must be possible to run the270 \requirement{Scripting}{Done1}{1}{}{}{}{It must be possible to run the 275 271 software in a scripting mode. This would be to process large amounts 276 272 of data in a routine manner and also to automatically reproduce … … 279 275 the same.} 280 276 281 %\requirement{Scripts from History}{Duplicate}{}{ It would be worthwhile277 %\requirement{Scripts from History}{Duplicate}{}{}{}{}{It would be worthwhile 282 278 %having a method to auto-generate scripts (for reduction or plotting) 283 279 %from current spectra history, or some similar method.} … … 288 284 GUI and software interface. 289 285 290 \requirement{High quality plots}{Done1}{}{ It must be able to286 \requirement{High quality plots}{Done1}{}{}{}{}{It must be able to 291 287 produce plots of publishable quality.} 292 288 293 \subrequirement{Histogram plots}{Not started}{1} {As well as line289 \subrequirement{Histogram plots}{Not started}{1}{}{}{} {As well as line 294 290 plots, there needs to be an option to plot spectra in ``Histogram'' 295 291 mode} … … 298 294 The user must be able to specify: 299 295 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 copies296 \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 311 307 in postscript and .png format. Other formats may be added on an as 312 308 need basic.} 313 309 314 \subrequirement{Non-interactive hard copies}{Not started}{1} 310 \subrequirement{Non-interactive hard copies}{Not started}{1}{}{}{} 315 311 {It must be possible to produce hard copiers without an interactive 316 312 (i.e X11) plotter starting}. 317 313 318 \subrequirement{Scriptable plotting}{Done1}{1} {All aspects of314 \subrequirement{Scriptable plotting}{Done1}{1}{}{}{} {All aspects of 319 315 the plotter (zooming etc) must be setable from the command line for 320 316 scripting} 321 317 322 \requirement{Arbitrary plots}{Not started}{3} 318 \requirement{Arbitrary plots}{Not started}{3}{}{}{} 323 319 {It must be possible to flexibly select the data to plot (e.g. Tsys vs 324 320 time etc as well as plots such as amplitude vs channel number or … … 326 322 scans could be plotted on a scatter plot (e.g. Tsys vs elevation)} 327 323 328 \requirement{Overlay spectra}{Done1}{}{ It must be possible to overlay324 \requirement{Overlay spectra}{Done1}{}{}{}{}{It must be possible to overlay 329 325 multiple spectra on a single plot using different colours and/or 330 326 different line styles. (Including multiple stokes data and multiple 331 327 IFs).[[CHECK]]} 332 328 333 \requirement{Plot individual spectra}{Done1}{}{ It must be possible to329 \requirement{Plot individual spectra}{Done1}{}{}{}{}{It must be possible to 334 330 plot either the individual integrations (in either a stacked 335 331 fashion, or using a new subplot per integration)} 336 332 337 \subrequirement{Auto-average integrations for plotting}{Not started}{2} 333 \subrequirement{Auto-average integrations for plotting}{Not started}{2}{}{}{} 338 334 {It should be possible to optionally auto-average integrations of a 339 335 scan for plotting (for data thats has not already been scan averaged)} 340 336 341 \requirement{Plotter multi-panelling}{Done1}{1} 337 \requirement{Plotter multi-panelling}{Done1}{1}{}{}{} 342 338 {It must be possible to multi-panel spectra in an n$\times$m size 343 339 grid. It must be possible to easily change the number of plots per 344 340 page, ie define the ``n'' and ``m'' values.} 345 341 346 \subrequirement{Step between plots}{Not started}{1} 342 \subrequirement{Step between plots}{Not started}{1}{}{}{} 347 343 {If more spectra than can fit on the plot matrix are to be plotted, 348 344 then it must be possible to step back and forth between the viewable … … 350 346 single plot on the pages at a time.} 351 347 352 \requirement{Multi-panel: change \# panels}{Not started}{2} 348 \requirement{Multi-panel: change \# panels}{Not started}{2}{}{}{} 353 349 {When using multi-panelling, the plotter should automatically update 354 350 the plot when the plot matrix dimensions (``n'' and ``m'' are changed)} 355 351 356 \requirement{Plotter interactive zooming}{Done1}{}{ It must be possible352 \requirement{Plotter interactive zooming}{Done1}{}{}{}{}{It must be possible 357 353 to interactively zoom the plot (channel range selection and 358 354 amplitude of the spectra etc.) This includes both GUI control of … … 360 356 factor or directly specifying the zoom bounds. } 361 357 362 \requirement{Zoomed subplot}{Not started}{2} 358 \requirement{Zoomed subplot}{Not started}{2}{}{}{} 363 359 {On a single plot, it should be possible to plot the full spectrum and 364 360 a zoomed copy of the data (using a different lie style) to see weak 365 361 features. The user must be able to specify the zoom factor.} 366 362 367 \requirement{Offset plots}{Not started}{2}{ Optionally when stacking363 \requirement{Offset plots}{Not started}{2}{}{}{}{Optionally when stacking 368 364 multiple spectral plots in one subwindow, a (user definable) offset 369 365 in the ``y'' direction should be added to each subsequent 370 366 spectra.} 371 367 372 \requirement{Plotter auto-update}{Not started}{3} 368 \requirement{Plotter auto-update}{Not started}{3}{}{}{} 373 369 {The plotter should automatically update to reflect user processing, 374 370 either from the CLI or GUI. The user should have to option to turn 375 371 this feature off if they so wish.} 376 372 377 \requirement{Waterfall plot}{Not started}{3} 373 \requirement{Waterfall plot}{Not started}{3}{}{}{} 378 374 {It should be possible to plot individual integrations (possibly from 379 375 multiple scans) in a ``waterfall'' plot. This is an image based … … 383 379 this image should be supported. } 384 380 385 \requirement{Waterfall editing}{Not started}{3} 381 \requirement{Waterfall editing}{Not started}{3}{}{}{} 386 382 {When plotting ``waterfall'' plots, it should be possible to 387 383 interactively select regions or points and mark them as invalid … … 389 385 time/velocity of the pixel beneath the cursor.} 390 386 391 \requirement{Export waterfall to FITS}{Not started}{3} 387 \requirement{Export waterfall to FITS}{Not started}{3}{}{}{} 392 388 {It should be possible to export the ``waterfall'' plot images as a 393 389 FITs file, for user specific analysis.} 394 390 395 \requirement{Plot overlays}{Not started}{1} {Line markers overlays,391 \requirement{Plot overlays}{Not started}{1}{}{}{} {Line markers overlays, 396 392 read from a catalogue should be optionally available. This would 397 393 include the full Lovas catalogue, the JPL line catalogue and radio … … 400 396 of the lines in any specific catalogue (to avoid clutter).} 401 397 402 \subrequirement{Plot overlays}{Not started}{2} 398 \subrequirement{Plot overlays}{Not started}{2}{}{}{} 403 399 {Simple user definable catalogue should be definable for plot overlays} 404 400 405 \requirement{Plot fitted functions}{Done1}{} 401 \requirement{Plot fitted functions}{Done1}{}{}{}{} 406 402 {Optionally plot fitted functions (e.g line profiles or baseline 407 403 fit). If multiple components (e.g. Gaussian) have been fit, it should … … 409 405 components} 410 406 411 \requirement{Plot residual data}{Started}{1} 407 \requirement{Plot residual data}{Started}{1}{}{}{} 412 408 {It should be possible to plot the residual data with or without 413 409 subtraction of fit functions. This includes plotting the spectra with … … 416 412 subtracted but profile fits not subtracted.} 417 413 418 \requirement{Plot header data}{Not started}{2} {Basic header data414 \requirement{Plot header data}{Not started}{2}{}{}{} {Basic header data 419 415 (source name, molecule, observation time, Tsys, elevation, parallactic 420 416 angle etc) should be optionally shown, either on the plot or next to … … 423 419 for example).} 424 420 425 \subrequirement{User define header plot positions}{Not started}{3} 421 \subrequirement{User define header plot positions}{Not started}{3}{}{}{} 426 422 {The user should be able to define where on the plot the header info 427 423 would appear.} 428 424 429 \requirement{Realtime cursor position}{Done1}{} 425 \requirement{Realtime cursor position}{Done1}{}{}{}{} 430 426 {Optionally, relevant data such as the current mouse position should 431 427 be displayed (maybe with a mode to display an extended cross, 432 428 horizontal or vertical line at the current cursor position).} 433 429 434 \requirement{Plot annotations}{Not started}{2}{ The user should be able430 \requirement{Plot annotations}{Not started}{2}{}{}{}{The user should be able 435 431 to define simple annotations. This would include text overlay and 436 432 probably simple graphics (lines, arrows etc).} … … 446 442 The plotter should be used to set the following values: 447 443 448 \requirement{Interactive channel selection}{Deferred}{1}{ Range of444 \requirement{Interactive channel selection}{Deferred}{1}{}{}{}{Range of 449 445 spectral channels needed for specific tasks (ie the channel mask) 450 446 (See requirement \reqref{ref:chansel})} 451 447 452 \requirement{Interactive line fitting}{Deferred}{1}{ Initial448 \requirement{Interactive line fitting}{Deferred}{1}{}{}{}{Initial 453 449 Gaussian parameters (velocity, width, amplitude) for profile 454 450 fitting.} 455 451 456 \requirement{Plotter change fit values}{Deferred}{1} 452 \requirement{Plotter change fit values}{Deferred}{1}{}{}{} 457 453 {Change the parameter values of existing line profile 458 454 fits, or channel ranges used for baseline fits.} … … 477 473 The software must be able to read (import) the following file formats. 478 474 479 \requirement{Read rpfits}{Done1}{}{ The rpfits file format produced by475 \requirement{Read rpfits}{Done1}{}{}{}{}{The rpfits file format produced by 480 476 all current ATNF correlators.} 481 477 482 \requirement{Read sdfits}{Done1}{}{ SDFITS (currently written by {\tt SPC}).}483 484 \requirement{Read simple FITS}{Not started}{2}{ Simple ``image'' FITS478 \requirement{Read sdfits}{Done1}{}{}{}{}{SDFITS (currently written by {\tt SPC}).} 479 480 \requirement{Read simple FITS}{Not started}{2}{}{}{}{Simple ``image'' FITS 485 481 (used by CLASS} 486 482 487 \requirement{Read historic formats}{Not started}{3} 483 \requirement{Read historic formats}{Not started}{3}{}{}{} 488 484 {Historic ATNF single dish formats (Spectra, SPC, SLAP). Possibly a 489 485 set of routines to translate these formats to SDFITs would suffice.} 490 486 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}{}{}{} 494 490 {For online analysis, the software should be able to read an rpfits 495 491 file which is is still currently open for writing by the telescope 496 492 backend processor.} 497 493 498 \requirement{Handle Doppler data}{Done1}{1}{ Data which has been494 \requirement{Handle Doppler data}{Done1}{1}{}{}{}{Data which has been 499 495 observed in either a fixed frequency or Doppler tracked fashion needs 500 496 to be handled.} … … 502 498 The software should be able to export the data in the following formats. 503 499 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}{}{}{}{} 507 503 {Simple ``image'' FITS (as used by CLASS). It must be possible to to 508 504 export multiple spectra simultaneously, using default file name and 509 505 postfix.} 510 506 511 \requirement{}{Removed}{}{ In a format which can be imported by other popular512 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}{}{}{}{} 515 511 {Simple ASCIIs format, suitable for use with programs such as Perl, 516 512 Python, SuperMongo etc.} 517 513 518 \requirement{Header Writing}{Not started}{1} 514 \requirement{Header Writing}{Not started}{1}{}{}{} 519 515 {The exported data should retain as much header data as possible. It 520 516 should also be possible to request specific data be written in the 521 517 desired form (B1950 coordinates, optical velocity definition etc).} 522 518 523 \requirement{Import corrections}{Done1}{} 519 \requirement{Import corrections}{Done1}{}{}{}{} 524 520 {The import function should apply relevant corrections (especially 525 521 those which are time dependent) to specific telescopes. See 526 522 $\S$\ref{sec:issues} for a list of currently known issues.} 527 523 528 \requirement{Append output files}{Not started}{1} {It must be possible524 \requirement{Append output files}{Not started}{1}{}{}{} {It must be possible 529 525 to append spectra to existing output files, specifically sdfits and 530 526 asap output files.} … … 538 534 techniques. 539 535 540 \requirement{Quotient Spectra}{Done1}{} 536 \requirement{Quotient Spectra}{Done1}{}{}{}{} 541 537 {\label{ref:skysub} Position switched sky subtraction should be 542 538 implemented using the algorithm \medskip\reqeqn{T_{ref} \times … … 544 540 \times \frac{S}{R} - T_{ref}} -- preserves continuum\medskip} 545 541 546 \requirement{Arbitrary reference}{Not started}{2} 542 \requirement{Arbitrary reference}{Not started}{2}{}{}{} 547 543 {The user should be able to specify an arbitrarily complex 548 544 reference/source order (which repeats), which can then be used to make 549 545 perform multiple sky subtractions in parallel.} 550 546 551 \requirement{Frequency switching}{Not started}{2} 547 \requirement{Frequency switching}{Not started}{2}{}{}{} 552 548 {Frequency switched sky subtraction should be supported. (Ref. Liszt, 553 549 1997, A\&AS, 124, 183) } … … 557 553 %sky subtraction algorithms will need to be investigated.}{3} 558 554 559 \requirement{Pulsar off pulse quotient}{ Deferred}{3}555 \requirement{Pulsar off pulse quotient}{}{}{}{Deferred}{3} 560 556 {For pulsar binned data, the (user specified) off pulse bins can be 561 557 used as the reference spectra. Due to potentially rapid amplitude … … 568 564 for one beam is obtained while the other is observing the target source. 569 565 570 \requirement{Multibeam MX mode}{Not started}{2} 566 \requirement{Multibeam MX mode}{Not started}{2}{}{}{} 571 567 {For multibeam systems, it must be possible to perform sky subtraction 572 568 with the source and reference in an alternate pair of beams} … … 580 576 free channels. 581 577 582 \requirement{Baseline removal}{Done1}{} 578 \requirement{Baseline removal}{Done1}{}{}{}{} 583 579 {The software must be able to do baseline removal by fitting a n'th 584 580 order polynomials to the line free channels using a least squares 585 581 method.} 586 582 587 \requirement{Standing wave ripples}{Not started}{3} 583 \requirement{Standing wave ripples}{Not started}{3}{}{}{} 588 584 {Removal of standing wave ripples should be done by fitting a Sine 589 585 function to the line free channels.} 590 586 591 \requirement{Robust fitting}{Not started}{3} 587 \requirement{Robust fitting}{Not started}{3}{}{}{} 592 588 {``Robust'' fitting functions should be available, which are more 593 589 tolerant to RFI.} 594 590 595 \requirement{Auto-baseline}{Done1}{} 591 \requirement{Auto-baseline}{Done1}{}{}{}{} 596 592 {Automatic techniques for baselining should be investigated.} 597 593 … … 602 598 parameters. 603 599 604 \requirement{Gaussian fitting}{Done1}{} 600 \requirement{Gaussian fitting}{Done1}{}{}{}{} 605 601 {The software must be able to do multi-component Gaussian fitting of 606 602 the spectra. The initial amplitude, width and velocity of each … … 608 604 be fit should be easily set.} 609 605 610 \requirement{Chi squared}{Done1}{} 606 \requirement{Chi squared}{Done1}{}{}{}{} 611 607 {The reduce Chi squared (or similar statistic) of the fit should given 612 608 to the user, so that they can easily see if adding extra components … … 618 614 %along with the data.}{1} 619 615 620 \requirement{Fit multipol data}{ Done1}{}616 \requirement{Fit multipol data}{}{}{}{Done1}{} 621 617 {For multiple polarisation data, the individual stokes parameters or 622 618 polarisation products should be fit independently.} 623 619 624 \requirement{Export fits}{Not started}{1} 620 \requirement{Export fits}{Not started}{1}{}{}{} 625 621 {There should be an easy way of exporting the fit parameter from 626 622 multiple spectra, e.g. as an ASCII table.} 627 623 628 \requirement{Constrained fitting}{Not started}{1} 624 \requirement{Constrained fitting}{Not started}{1}{}{}{} 629 625 {It should be also possible to do constrained fitting of multiple 630 626 hyperfine components, e.g. the NH$_3$ hyperfine components. (The … … 632 628 components or the amplitude ratio etc.)} 633 629 634 \requirement{Edit fits parameters}{Done1}{} 630 \requirement{Edit fits parameters}{Done1}{}{}{}{} 635 631 {It must be possible to alter the line profile fit parameter values by 636 632 hand at any stage.} 637 633 638 \requirement{Fix fit parameters}{Done1}{} 634 \requirement{Fix fit parameters}{Done1}{}{}{}{} 639 635 {It must be possible to ``fix'' particular values of the line profile 640 636 parameters, so that only subset of lines or (say) the width of a line 641 637 is fit.} 642 638 643 \requirement{Arbitrary line fitting}{Done1}{} 639 \requirement{Arbitrary line fitting}{Done1}{}{}{}{} 644 640 {The software should allow hooks for line profile shapes other than 645 641 Gaussian to be added in the future, possible user specified.} 646 642 647 \requirement{Save fit parameters}{Done1}{} 643 \requirement{Save fit parameters}{Done1}{}{}{}{} 648 644 {The fitting parameters for functions which have been fit to the data 649 645 (e.g. for baseline removal or Gaussian fits) should be retained as an 650 646 integral part of the data and stored permanently on disk.} 651 647 652 \requirement{Undo subtracted fits}{Not started}{3} 648 \requirement{Undo subtracted fits}{Not started}{3}{}{}{} 653 649 {It should be possible to ``undo'' functions which have been 654 650 subtracted from the data (e.g. baseline polynomials).} 655 651 656 \requirement{Gaussian line area}{Not started}{1} 652 \requirement{Gaussian line area}{Not started}{1}{}{}{} 657 653 {Optionally the area under a fitted Gaussian should be calculated for 658 654 the user.} … … 677 673 if the flux units are Kelvin or Janskys. 678 674 679 \requirement{Gain-elevation}{Done1}{} 675 \requirement{Gain-elevation}{Done1}{}{}{}{} 680 676 {Gain elevation corrections should be implemented using a elevation 681 677 dependent polynomial. The polynomial coefficients will be telescope … … 683 679 dependence.} 684 680 685 \requirement{User gain polynomial}{Done1}{} 681 \requirement{User gain polynomial}{Done1}{}{}{}{} 686 682 {The user may wish to supply their own gain polynomial.} 687 683 688 \requirement{K-Jy conversion}{Done1}{} 684 \requirement{K-Jy conversion}{Done1}{}{}{}{} 689 685 {When required by the user, the spectral units must be converted from 690 686 Kelvin to Jansky. At higher (3mm) frequencies this conversion is often … … 695 691 and time dependent)} 696 692 697 \requirement{Scale Tsys}{Done1}{} 693 \requirement{Scale Tsys}{Done1}{}{}{}{} 698 694 {In some cases the recorded Tsys values will be wrong. There needs to 699 695 be a mechanism to scale the Tsys value and the spectrum if the Tsys … … 701 697 factor).} 702 698 703 \requirement{Opacity}{Done1}{} 699 \requirement{Opacity}{Done1}{}{}{}{} 704 700 {The data may need to be corrected for opacity effects, particularly 705 701 at frequencies of 20~GHz and higher. The opacity factor to apply is … … 713 709 with a time-stamp would be one possibility.} 714 710 715 \requirement{Tsys variation with freq}{Not started}{3} 711 \requirement{Tsys variation with freq}{Not started}{3}{}{}{} 716 712 {For wideband, multibit observations, the software should have the 717 713 option to handle Tsys which varies across the band. The exact … … 735 731 disrupt the reference/source sequence. 736 732 737 \requirement{Spectra flagging}{Started}{1} 733 \requirement{Spectra flagging}{Started}{1}{}{}{} 738 734 {The user must be able to set an entire spectra or part thereof 739 735 (individual polarisation, IF etc) as being invalid.} 740 736 741 \requirement{Channel flagging}{Started}{1} 737 \requirement{Channel flagging}{Started}{1}{}{}{} 742 738 {The user must be able to indicate an individual spectral point or 743 739 range of spectral points are invalid. This should be applied to an 744 740 individual spectra, or set of spectra.} 745 741 746 \subrequirement{Flagged channel plotting}{???}{1} {When plotting data742 \subrequirement{Flagged channel plotting}{???}{1}{}{}{} {When plotting data 747 743 with flagged spectral channels, the plotting should left a gap (blank) 748 744 in the plotted data|}. 749 745 750 \subrequirement{Flagged channel interpolatin}{Not started}{2} 746 \subrequirement{Flagged channel interpolatin}{Not started}{2}{}{}{} 751 747 {When plotting or processing data (e.g. quotient spectra), the users 752 748 should be able to request that the values for flagged data are … … 754 750 points.} 755 751 756 \requirement{Plot average flux vs time}{Not started}{3} 752 \requirement{Plot average flux vs time}{Not started}{3}{}{}{} 757 753 {The user should be able to plot the average spectral flux across the 758 754 band, or part of the band, as a function of time and interactively … … 760 756 IBLED in classic aips).} 761 757 762 \requirement{Robust Fitting}{Duplicate}{2} 758 \requirement{Robust Fitting}{Duplicate}{2}{}{}{} 763 759 {Where relevant, fitting routines etc should have the option of 764 760 selecting RFI tolerant (``robust'') algorithms. This will require … … 766 762 approach.} 767 763 768 \requirement{Birdie finder}{Not started}{2} 764 \requirement{Birdie finder}{Not started}{2}{}{}{} 769 765 {A routine to automatically find birdies or RFI corrupted data and 770 766 indicate the data as invalid would be useful.} 771 767 772 \requirement{Handle flagged data}{Done1}{} 768 \requirement{Handle flagged data}{Done1}{}{}{}{} 773 769 {Other routines must be able to cope with portions of data which are 774 770 marked as invalid.} … … 786 782 The spectral manipulations which should be available are: 787 783 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}{}{}{} 791 787 {Averaging multiple spectra, with optional weighting based on Tsys, 792 788 integration or rms.} 793 789 794 \subrequirement{Average spectra with velocity shift}{Not started}{1} 790 \subrequirement{Average spectra with velocity shift}{Not started}{1}{}{}{} 795 791 {If the velocity of the spectra to be averaged is different, the data 796 792 should be aligned in velocity. The user should be able to turn this 797 793 feature on or off.} 798 794 799 \requirement{Robust averaging}{Not started}{2} 795 \requirement{Robust averaging}{Not started}{2}{}{}{} 800 796 {Various robust averaging possibilities (e.g. median averaging, 801 797 clipped means etc) should be possible.} 802 798 803 \requirement{Data re-binning}{Done1}{} 799 \requirement{Data re-binning}{Done1}{}{}{}{} 804 800 {Re-sampling or re-binning of the data to a lower (or higher) spectral 805 801 resolution (i.e. change the number of spectral points). The 806 802 re-sampling factor may not necessarily be an integer.} 807 803 808 \requirement{Velocity shift}{Done1}{} 804 \requirement{Velocity shift}{Done1}{}{}{}{} 809 805 {It must be possible to shift the data in ``frequency/velocity''. This 810 806 should include channel, frequency and velocity shifts of an arbitrary 811 807 amount.} 812 808 813 \requirement{Spectra smoothing}{Done1}{} 809 \requirement{Spectra smoothing}{Done1}{}{}{}{} 814 810 {Spectral smoothing of the data. Hanning, Tukey, boxcar and Gaussian 815 811 smoothing of variable widths should be possible.} 816 812 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}{}{}{}{} 820 816 {Calculate basic statistical values (maximum, minimum, rms, mean) on a 821 817 range of spectral points. The range may not be contiguous. The … … 823 819 optionally used for weighted averaging of spectra.} 824 820 825 \requirement{Line flux}{Not started}{2} 821 \requirement{Line flux}{Not started}{2}{}{}{} 826 822 {It must be possible to calculate the flux integral over a range of 827 823 channels. The units should be Jy.km/s (or Kelvin.km/s). The channel 828 824 range for the calculation should be specific via the GUI or CLI.} 829 825 830 \requirement{Line width}{Not started}{2} 826 \requirement{Line width}{Not started}{2}{}{}{} 831 827 {It must be possible to calculate the numerical ``width'' of a line 832 828 (full width at half maximum type measurement). This should be … … 840 836 specified ``maximum value''.} 841 837 842 \requirement{Change rest frequency}{Done1}{} 838 \requirement{Change rest frequency}{Done1}{}{}{}{} 843 839 {The user must be able to easily change the rest-frequency to which 844 840 the velocity is referenced.} 845 841 846 \requirement{FFT filtering}{Not started}{3} 842 \requirement{FFT filtering}{Not started}{3}{}{}{} 847 843 {FFT filtering for high- and lowpass filtering and tapering.} 848 844 849 \requirement{FFT to/from autocorrelation function}{Not started}{3} 845 \requirement{FFT to/from autocorrelation function}{Not started}{3}{}{}{} 850 846 {It should be possible to FFT the data to and from power spectra to 851 847 the autocorrelation function.} 852 848 853 \requirement{Cross correlation}{Not started}{3} 849 \requirement{Cross correlation}{Not started}{3}{}{}{} 854 850 {The user may wish to compute the cross correlation function of two 855 851 spectra. The result should be a standard ``spectra'', which can be 856 852 displayed and analysed using other functions (max, rms etc).} 857 853 858 \requirement{Spectral calculator}{Started}{1} 854 \requirement{Spectral calculator}{Started}{1}{}{}{} 859 855 {Complex experiment specific processing can often be done using a 860 856 series of the simple of basic functions. A spectral calculator options … … 869 865 ``split'' into separate spectra. 870 866 871 \requirement{Splice data}{Not started}{1} 867 \requirement{Splice data}{Not started}{1}{}{}{} 872 868 {It must be possible to take multi IF, multibeam or polarisation data 873 869 and split out the individual spectral portions to form self contained 874 870 spectra.} 875 871 876 \requirement{Splice spectral channels}{Not started}{1} {It must be872 \requirement{Splice spectral channels}{Not started}{1}{}{}{} {It must be 877 873 possible to select a range of spectral channels to form self contained 878 874 spectra. The channel selection may be different for different IFs.} 879 875 880 \requirement{Merge scantables}{Not started}{1} 876 \requirement{Merge scantables}{Not started}{1}{}{}{} 881 877 {It must be possible to append rows from one scantable onto another} 882 878 … … 893 889 %two dual polarisation measurements.} 894 890 895 \requirement{Support polarimetry}{Done1}{} 891 \requirement{Support polarimetry}{Done1}{}{}{}{} 896 892 {All functions on the data (calibration, sky subtraction spectral 897 893 mathematics) must support arbitrary, multiple, polarisation (linear, 898 894 circular \& stokes and single, dual \& cross polarisations.} 899 895 900 \requirement{Calculate stokes I}{Done1}{} 896 \requirement{Calculate stokes I}{Done1}{}{}{}{} 901 897 {It must be possible to calculate stokes I from single or dual 902 898 polarisation observations.} 903 899 904 \requirement{Average mixed pol data}{Not started}{2} 900 \requirement{Average mixed pol data}{Not started}{2}{}{}{} 905 901 {Average a mixture of dual polarisation and single polarisation data 906 902 and form average stokes I (e.g. for a long observation of a source, in 907 903 which one polarisation is missing for some time.} 908 904 909 \requirement{Calculate stokes}{Done1}{} 905 \requirement{Calculate stokes}{Done1}{}{}{}{} 910 906 {Full stokes parameters should be obtained from dual pol (linear or 911 907 circular) observations where the cross polarisation products have been … … 922 918 %angle, Iu and Ip and the unpolarised and linearly polarised 923 919 %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}{}{}{} 927 923 {If dual circular polarisation measurements are taken, without 928 924 computing the cross products, the software should still be able to 929 925 compute stokes I and V.} 930 926 931 \requirement{Polarisation leakages}{Not started}{3} 927 \requirement{Polarisation leakages}{Not started}{3}{}{}{} 932 928 {The software should be able to calculate leakage terms from a 933 929 calibrator source and correct the data either before or after 934 930 conversion to Stokes. (ref. Johnston, 2002, PASA, 19, 277)} 935 931 936 \requirement{Calibrate position angle}{Not started}{3} 932 \requirement{Calibrate position angle}{Not started}{3}{}{}{} 937 933 {The software should be able to determine absolute position angle from 938 934 a calibrator source and correct the data either before or after 939 935 conversion to Stokes.} 940 936 941 \requirement{Zeeman splitting}{Not started}{3} 937 \requirement{Zeeman splitting}{Not started}{3}{}{}{} 942 938 {Zeeman splitting factors should be derived from (previous) profile 943 939 fitting and the left and right circular polarisations. The velocity … … 961 957 together). 962 958 963 \requirement{Spectra selection}{Started}{1} 959 \requirement{Spectra selection}{Started}{1}{}{}{} 964 960 {The software needs an easy-to-use mechanism to select either 965 961 individual or multiple spectra for viewing, parallel processing 966 962 etc.} 967 963 968 \requirement{Beam/IF selection}{Started}{1} 964 \requirement{Beam/IF selection}{Started}{1}{}{}{} 969 965 {An easy-to-use mechanism to select individual IFs, beams or 970 966 polarisations is needed.} 971 967 972 \requirement{Interactive channel selection}{Duplicate}{1} 968 \requirement{Interactive channel selection}{Duplicate}{1}{}{}{} 973 969 {\label{ref:chansel} The range of spectral points to use for baseline 974 970 removal, statistical calculations, RFI editing, analysis etc must be … … 981 977 available as a plot overlay.} 982 978 983 \requirement{Auto-identify reference spectra}{Not started}{1} 979 \requirement{Auto-identify reference spectra}{Not started}{1}{}{}{} 984 980 {When performing sky subtraction on many spectra simultaneously, the 985 981 software should have a mechanism for identifying ``on'' and ``off'' … … 991 987 source'' should be accommodated.} 992 988 993 \requirement{Select source via header values}{Started}{1} 989 \requirement{Select source via header values}{Started}{1}{}{}{} 994 990 {The software should be able to select sets of sources based on simple 995 991 regular expression type filtering (wild cards) on a range of header 996 992 values. } 997 993 998 \subrequirement{Select on source name}{Done1}{1} 994 \subrequirement{Select on source name}{Done1}{1}{}{}{} 999 995 {The use should be able to select dana on source name, e.g G309$*$ or 1000 996 G309$*$w} 1001 997 1002 \subrequirement{Select on molecule}{Done1}{2} 998 \subrequirement{Select on molecule}{Done1}{2}{}{}{} 1003 999 {The use should be able to select data on molecule name, e.g. NH3$*$.} 1004 1000 1005 1001 \subsection{Plugins} 1006 1002 1007 \requirement{Plugins}{Started}{1} 1003 \requirement{Plugins}{Started}{1}{}{}{} 1008 1004 {The package should support ``plugins'', user definable 1009 1005 functions for specific processing. The plugin code must have full 1010 1006 access (read/write) to the spectra data and headers.} 1011 1007 1012 \requirement{Plugins can reduce dimensions}{Not started}{2} 1008 \requirement{Plugins can reduce dimensions}{Not started}{2}{}{}{} 1013 1009 {Plugins need to be able to create ``derived'' spectra with reduced 1014 dimensions (i.e. .less beams, IFs, polarisations or spectral1010 dimensions (i.e. less beams, IFs, polarisations or spectral 1015 1011 channels)} 1016 1012 1017 \requirement{Simulated data}{Not stated}{3} 1013 \requirement{Simulated data}{Not stated}{3}{}{}{} 1018 1014 {The user should be able to create new spectra which the software 1019 1015 treats the same as the original data. This includes full specification … … 1022 1018 \subsection{Pipelining} 1023 1019 1024 \requirement{Pipelining}{Done1}{} 1020 \requirement{Pipelining}{Done1}{}{}{}{} 1025 1021 {Some sort of pipelining mode is required. This would involve doing a 1026 1022 quotient spectra, applying appropriate calibration and possibly … … 1035 1031 \subsection{Miscellaneous functionality} 1036 1032 1037 \requirement{Position fitting}{Not started}{2} 1033 \requirement{Position fitting}{Not started}{2}{}{}{} 1038 1034 {The software should be able to take a simple ``grid'' of observations 1039 1035 (normally a set of observations in a cross pattern on the sky) and, … … 1042 1038 simple ASCIIs form.} 1043 1039 1044 \requirement{Kinematic distance}{Not started}{3} 1040 \requirement{Kinematic distance}{Not started}{3}{}{}{} 1045 1041 {The kinematic distance of a source should be calculated using basic 1046 1042 Galactic rotation models. Multiple Galactic rotation models must be 1047 1043 supported and a mechanism for easily adding more.} 1048 1044 1049 \requirement{Plot sigma errors on spectra}{Not started}{3} 1045 \requirement{Plot sigma errors on spectra}{Not started}{3}{}{}{} 1050 1046 {For 1420 MHz observations of HI, the rms (Tsys) values vary 1051 1047 significantly across the band. The software should be able to compute … … 1054 1050 spectra.} 1055 1051 1056 \requirement{Simple Mapping}{Not started}{3} 1052 \requirement{Simple Mapping}{Not started}{3}{}{}{} 1057 1053 {It should be possible to take a selection of calibrated spectra which 1058 1054 are then passed to the ``Gridzilla'' program to produce an image … … 1062 1058 \section{Help} 1063 1059 1064 \requirement{Built in help}{Done1}{} 1060 \requirement{Built in help}{Done1}{}{}{}{} 1065 1061 {There should be built-in and web-based documentation, which can be 1066 1062 easily kept up-to-date} 1067 1063 1068 \requirement{Cookbook}{Done1}{} 1064 \requirement{Cookbook}{Done1}{}{}{}{} 1069 1065 {A short and simple end-to-end cookbook for basic data analysis should 1070 1066 be available.} 1071 1067 1072 \requirement{Programmers Documentation}{Not started}{2} 1068 \requirement{Programmers Documentation}{Not started}{2}{}{}{} 1073 1069 {There should be documentation aimed at astronomers wishing to write 1074 1070 there own scripts, detailing the methods needed and how to get low … … 1077 1073 \section{Data and meta-data} 1078 1074 1079 \requirement{Handle multi dimensional data}{Done1}{} 1075 \requirement{Handle multi dimensional data}{Done1}{}{}{}{} 1080 1076 {The software must be capable of handling multi-IF (potentially dozens 1081 1077 of IFs) and multi-beam data with arbitrary polarisation (e.g. single 1082 1078 pol, dual pol, full stokes etc).} 1083 1079 1084 \requirement{Handle pulsar data}{Deferred}{} 1080 \requirement{Handle pulsar data}{Deferred}{}{}{}{} 1085 1081 {The software should handle pulsar binned data for pulsar absorption 1086 1082 experiments.} … … 1088 1084 \subsection{History} 1089 1085 1090 \requirement{History}{Done1}{} 1086 \requirement{History}{Done1}{}{}{}{} 1091 1087 {A user viewable history of data processing steps should be kept as 1092 1088 part of the data. Where possible this should be retained when data is 1093 1089 imported from other packages.}{ 1094 1090 1095 \requirement{Convert history to script}{Not started}{2} 1091 \requirement{Convert history to script}{Not started}{2}{}{}{} 1096 1092 {It should be possible to use the history information to create 1097 1093 template pipeline scripts for batch processing.} … … 1099 1095 \subsection{Multiple IFs} 1100 1096 1101 \requirement{Transparently handle multi-IF data}{Done1}{} 1097 \requirement{Transparently handle multi-IF data}{Done1}{}{}{}{} 1102 1098 {If multiple IFs are present (currently Tidbinbilla can produce two 1103 1099 IFs and the new wideband spectrometer for Mopra may have dozens of … … 1109 1105 of separate ``container'').} 1110 1106 1111 \requirement{IFs with different number of spectral channels}{Not started}{2} 1107 \requirement{IFs with different number of spectral channels}{Not started}{2}{}{}{} 1112 1108 {Separate IFs may have a different number of spectral channels.} 1113 1109 1114 1110 \subsection{Multibeam} 1115 1111 1116 \requirement{Handle multibeam data}{Done1}{} 1112 \requirement{Handle multibeam data}{Done1}{}{}{}{} 1117 1113 {Basic handling of multibeam data should be possible (ie in general 1118 1114 each beam will be treated as a separate observation, but all within … … 1120 1116 individual beams or all beams in parallel.} 1121 1117 1122 \requirement{Multibeam simultaneous reference/signal}{Not started}{3} 1118 \requirement{Multibeam simultaneous reference/signal}{Not started}{3}{}{}{} 1123 1119 {The use of a single beam observing a source and the rest of the beams 1124 1120 as reference beams for sky-subtraction should be investigated.} … … 1126 1122 \subsection{Robust fitting} 1127 1123 1128 \requirement{Retain raw correlator integrations}{Done1}{} 1124 \requirement{Retain raw correlator integrations}{Done1}{}{}{}{} 1129 1125 {If robust fitting using median filtering is used, then the individual 1130 1126 integrations from the observations should {\em not} be averaged when … … 1135 1131 \subsection{Coordinate frames and units} 1136 1132 1137 \requirement{Flexible coordinate frames}{Done1}{} 1133 \requirement{Flexible coordinate frames}{Done1}{}{}{}{} 1138 1134 {Coordinate frames and unit selection and handling needs to be 1139 1135 flexible and relatively transparent to the user (i.e. if the users … … 1141 1137 reference frame in which the data was observed).} 1142 1138 1143 \requirement{Specific reference frames}{Done1}{} 1139 \requirement{Specific reference frames}{Done1}{}{}{}{} 1144 1140 {At a minimum the following reference frames and conventions should be 1145 1141 handled: \setlength{\parindent}{0pt} … … 1157 1153 \anitem{Flux}{ Jansky, Kelvin (mJy etc).}} 1158 1154 1159 \requirement{Data units and frames properly labelled}{Done1}{} 1155 \requirement{Data units and frames properly labelled}{Done1}{}{}{}{} 1160 1156 {All data should be internally labelled with the appropriate 1161 1157 coordinate frame and units. If this information is ambiguous for some … … 1163 1159 should not have to worry about it again.} 1164 1160 1165 \requirement{Current reference frames clear to user}{Done1}{} 1161 \requirement{Current reference frames clear to user}{Done1}{}{}{}{} 1166 1162 {It should be clear to the user what coordinate frame (velocity, 1167 1163 position etc) the data is being presented as.} 1168 1164 1169 \requirement{Positional Reference Frame}{Not started}{1} {The user1165 \requirement{Positional Reference Frame}{Not started}{1}{}{}{} {The user 1170 1166 should be able to specify the reference frame (Epoch,Equinox etc) for 1171 1167 which is used for exporting data, simple mapping output etc. J2000, … … 1173 1169 in what the data was recorded.} 1174 1170 1175 \requirement{Non-conformist Positional Reference Frame}{Not Started}{2}1171 \requirement{Non-conformist Positional Reference Frame}{Not started}{2}{}{}{} 1176 1172 {Non-confirmist positional frames such as Az-El should be supported.} 1177 1173 … … 1182 1178 retained. The user may wish to enter some specific values by hand. 1183 1179 1184 \requirement{View and edit header data}{Started}{1} 1180 \requirement{View and edit header data}{Started}{1}{}{}{} 1185 1181 {All header data should be viewable and editable by the user. This 1186 1182 includes changes such as scaling the given Tsys values.} 1187 1183 1188 \requirement{Missing header data}{Done1}{} 1184 \requirement{Missing header data}{Done1}{}{}{}{} 1189 1185 {Missing header data should be handled gracefully, i.e. the software 1190 1186 should fill the values with ``blanks'' and be able to continue to 1191 1187 process the data if possible.} 1192 1188 1193 \requirement{User add missing header data}{Not started}{2} 1189 \requirement{User add missing header data}{Not started}{2}{}{}{} 1194 1190 {The user must be able to add missing header data, which is not 1195 1191 present in the RPFITs file. It must be possible to add the same header 1196 1192 data to multiple scans simultaneously.} 1197 1193 1198 \extendedrequirement{Itemised header items}{Started}{1} 1194 \extendedrequirement{Itemised header items}{Started}{1}{}{}{} 1199 1195 {The following header data would be required per scan: 1200 1196 \begin{itemize} … … 1219 1215 } 1220 1216 1221 \extendedrequirement{IF header items}{Started}{1} 1217 \extendedrequirement{IF header items}{Started}{1}{}{}{} 1222 1218 {\label{req:if} 1223 1219 The following header data is required for each IF, beam etc: … … 1234 1230 } 1235 1231 1236 \requirement{Pretty print formula}{Not started}{3} 1232 \requirement{Pretty print formula}{Not started}{3}{}{}{} 1237 1233 {The molecular formula could be stored with embedded superscripted and 1238 1234 subscripted symbols for ``pretty'' printing on the plotted, but … … 1245 1241 \vspace{\parskip} 1246 1242 1247 \requirement{Multiple rest frequencies per IF}{Not started}{2} 1243 \requirement{Multiple rest frequencies per IF}{Not started}{2}{}{}{} 1248 1244 {The software should optionally support multiple lines per IF, by 1249 1245 storing a set of rest frequencies per IF, rather than a single … … 1255 1251 \section{Installation} 1256 1252 1257 \requirement{Easy installation}{Started}{1} 1253 \requirement{Easy installation}{Started}{1}{}{}{} 1258 1254 {It must be possible for astronomers to install the software at their 1259 1255 own institute with either a moderate amount of OS experience or some … … 1261 1257 on a central ``NFS'' server as well as local desk-tops.} 1262 1258 1263 \requirement{Linux Support}{Started}{1} 1259 \requirement{Linux Support}{Started}{1}{}{}{} 1264 1260 {The software must run on major flavours of Linux 1265 1261 (Fedora/Redhat, Debian, etc).} 1266 1262 1267 \subrequirement{Solaris Support}{Started}{1} 1263 \subrequirement{Solaris Support}{Started}{1}{}{}{} 1268 1264 {The software must run on Solaris} 1269 1265 1270 \requirement{Run on laptop}{Done1}{} 1266 \requirement{Run on laptop}{Done1}{}{}{}{} 1271 1267 {It must be possible for users to install the software on their 1272 1268 laptops and run with no network connection.} 1273 1269 1274 \requirement{Easy upgrade}{Done1}{} 1270 \requirement{Easy upgrade}{Done1}{}{}{}{} 1275 1271 {It should be relatively easy to upgrade to the latest version of the 1276 1272 software.} 1277 1273 1278 \requirement{MacOS/X support}{Not started}{1} 1274 \requirement{MacOS/X support}{Not started}{1}{}{}{} 1279 1275 {The software should run on MacOS/X} 1280 1276 1281 \requirement{Windows support}{Not started}{3} 1277 \requirement{Windows support}{Not started}{3}{}{}{} 1282 1278 {It would be desirable for the software to run on Windows.} 1283 1279 … … 1324 1320 \begin{itemize} 1325 1321 \item All 20-GHz data is calibrated in flux units of Kelvin. 1322 \item Elevation is not written into the rpfits file. 1326 1323 \end{itemize} 1327 1324
Note:
See TracChangeset
for help on using the changeset viewer.