In-line trimming is useful for accessing a subsection of a
file rather than the whole thing. Unlike X-Midas, NeXtMidas uses zero based
indexing; the start is inclusive and the end is exclusive. To look at a piece
of a file such as the first 300 elements, or the part between 1.5 and 3.5
seconds, you could use the THIN
command to copy the segment to a temporary file and then work with it. However,
this gets time-consuming and clutters the disk. Using in-line file trimming
works best.
File Trimmers are of the form (START:END), where START offset is INCLUSIVE and END offset is EXCLUSIVE, appended to a file name to indicate a subset of data within the file. The colon ":" is used to separate the start and end offsets of the desired file segment to trim it on the fly. For example:
nM> statistics abc(199:300)
This gives the statistics on points 199 (zero based index) up to but not
including 300 of the file ABC
.
If the start offset is not given it defaults to the first element (zero),
and leaving off the end defaults to the last element (the colon is required in
either case). So, ABC(:400)
is the first 400 elements and ABC(400:)
is the file from element 401 to the end.
If the END offset starts with a plus "+", it is a relative distance from the START offset, or the length of the segment (i.e. number of elements). If either START or END offset starts with a "-", it is the offset relative to the end of the file. Thus file(-1:+1) refers to the last element of the file.
The subrange tokens (start, end or length) are assumed to be index values, unless they are preceded by a tilde ( ~ ) to make them abscissa values. A subrange token can be either a literal numeral or a numeric results parameter. Thus,
nM> statistics def(~1.5:~3.0)
gives the statistics of the file DEF
from 1.5 sec to 3.0 sec (if the DEF
abscissa is measured in seconds). You can freely mix index and abscissa
addressing: DEF(~1.5:349)
trims DEF from 1.5 sec to index #349.
Trimmers must come before qualifiers. For example:
nM> noop adatafile(0:nels){aux=cwd} outputfileuses the AUX qualifier to indicate the file to be used is in the CWD (current working directory) AUX.