Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1367
News FAQ
Search Home


next up previous contents
Next: Proposed revisions Up: MeasurementSet access in AIPS++ Previous: Requirements for the MS access classes

Current capabilities and design

The following capabilities are currently provided:

1.
Basic whole MS operations: The basic classes for creating a MS or MS sub-table are: MeasurementSet, MSAntenna, MSDataDescription, MSDoppler, MSFeed, MSField, MSFlagCmd, MSFreqOffset, MSHistory, MSObservation, MSPointing, MSPolarization, MSProcessor, MSSource, MSSpectralWindow, MSState, MSSysCal, and MSWeather. The MSTable class is a templated base class for the MS MAIN and sub-tables.

2.
Column and row access: The table column accessors are provided by MS*Columns, and the table column definitions are defined in MS*Enums. MSColumns provides access to the MS as a whole. Missing: no specialized MS row-based access.

3.
Sorting and selection: MS sorting and selection is possible using the TaQL capabilities directly. Sorting and selection are also performed by MSSelector, to some degree in MSIter, and in specialized form by reduction classes such as imager and calibrater, amongst others. Missing: i) unified MS selection to TaQL converter (partially implemented in [calibrater|imager].g) allowing aliases, sub-table lookup, derived quantities and [0,1] indexing; ii) centralization of MS selection services in a utility class; and, iii) unification of MSSelector GlishRecord selection syntax and a general MS selection syntax, including unification of MSSelector keywords and MSCalEnums.

MAIN MS iteration: Sequential iteration on limited indices is provided by MSIter and VisibilityIterator, using TableIterator. This includes velocity or frequency iteration within a row, and iteration over rows with the same time stamp within an iteration interval. Sequential iteration through multiple MeasurementSets is supported. Higher-level access to MSIter is provided by MSSelector. Missing: i) arbitrary iteration indices; ii) more control over velocity iteration including multi-source support; iii) access to general MS selection; iv) simultaneous, multi-MS iteration; v) retrieval of MS sub-table rows associated with the current MAIN iteration block; vi) write access to more columns; vii) customized sub-iteration within a MAIN iteration block; and viii) indexed MAIN access.

MS sub-table iteration: Read-only, indexed access is possible in certain forms using the MS*Index classes, which are built on top of ColumnsIndex. Missing: i) arbitrary, read-write keyed lookup, with different forms of interpolation where required; and, ii) specialized sequential iterators.

MS derived quantities: Currently provided by several classes, including MSDerivedValues, and MSDopplerUtil, amongst others. Missing: other computed quantities as needed.

MS data ranges: Currently performed by MSRange. Missing: C++ interface which does not use GlishRecords.

MS data objects: Currently provided by VisBuffer, but specialized forms also implemented in MSFlagger. Missing: i) greater MS coverage; ii) optional write-through to underlying MS; iii) customized frequency averaging; and, iv) re-select on buffer using standard MS selection syntax.

Connection to Glish: Currently provided by the ms tool, using MSSelector, MSSelUtil[2], MSRange, and MSFlagger primarily. Missing: i) greater unification with VisibilityIterator and VisBuffer; ii) duplicates some MS utility functions implemented elsewhere (e.g. time, frequency averaging).

Scratch column management: VisSet currently handles creation and addition of the MAIN columns: MODEL_DATA, CORRECTED_DATA and IMAGING_WEIGHT.

Parallel I/O support: Prototype parallel I/O capabilities exist in pimager::tryparread. Missing: full parallel I/O implementation.

Table infrastructure use: It is believed that no infrastructure is implemented in the current MS access classes which should properly be moved to the Table system. Missing: i) large file support in the Table system; and, ii) ability to remove existing columns held in TSM

Efficiency: I/O profiling curently is implemented using PABLO (UIUC). Missing: continued profiling of computational and I/O components.


next up previous contents
Next: Proposed revisions Up: MeasurementSet access in AIPS++ Previous: Requirements for the MS access classes   Contents
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-03-28