MSSelection module is currently used to only parse the channel selection expression to produce the START,STOP,STEP tuples. No channel based selection is actually applied to the data. The list of tuples per SPW is passed to the application program layer and the interpretation of the tuples for actual selection depends on the application programmer.
Channel specification (referred to as CHANSPEC in the following description) is a START,STOP,STEP tuple corresponding to the first frequency channel, the last frequency channel and the step size to increment from the first to the last channel. The START and STOP part of the tuple can be range specification for the range [START, STOP] followed by an optional STEP size.
START and STOP part of the tuple can be specified as a single integer
or physical quantity or as a range of integers or physical quantities.
A single integer is treated as a channel index and the tuple
corresponds to [ID,ID,1]. A single physical quantity is matched with
the exact frequency value of the channels and tuple of matched channel
index is constructed as [ID,ID,1]. A range of integers given as N0
N1
is used to construct a tuple [N0,N1,1]. Similarly for a range of
physical quantities.
If a START,STOP part of the tuple specification is followed by
"^STEP", the STEP is used as the third value of the tuple. STEP
specification is a single integer or physical quantity.
E.g. 0
10^2
is converted to a START,STOP,STEP tuple [0,10,2].
A channel selection expression is a semi-colon separated list of channel specifications. E.g.