Binary data (and its processing history) is normally described by a Dictionary. If the Dictionary exists, it is normally input using the "in" alias name in either of these ways:
in= dictionary in= /dev/rst0b in= stdin:
The Dictionary should define the data format with
"format=
" and the data path to the binary with
"data=
". If these are missing or incorrect, then
the user must provide a hint by defining "in_format=
"
and "in_data=
" to override what may be in the
Dictionary.
The input data can be taken directly from a tape device by
specifying its "device name" such as "/dev/rst0b
"
(see Devices for more detail).
This can also be specified for "in_data
".
The input data can also come from a pipe by specifying
"stdin:
".
This can also be specified for "in_data
".
If no input dataset is defined, then the application may
either treat it as an optional input; give it some default (eg.
"stdin:
"); or treat it as an error.
Sometimes an input Dictionary does not exist for the binary data.
This is typical when the data was created by a non-DDS (usp,
segy, segy1, su) application. In this case,
"in_format
" and "in_data
" must be
defined to read in the binary-only data of a Standard Format dataset.
For example:
in_format=usp in_data=line2.usp
Because DDS has auto-detection capability, a Standard Format binary can be input directly via the "alias" name in place of a Dictionary. In this case the format does not need to be specified. For example in the above case, simply specify:
in=line2.usp
If the dataset is piped into an application (eg. via
"<
" or "|
") then instead of specifying
a filename, specify:
in= stdin:
If the input is defaulted to "stdin:", it is ignored if standard input is connected to a terminal or if "par:" defines "format" or "in_format". This allows "stdin:" to be used for binary data, when piping from non-DDS applications.
When piping in Standard Format binaries you can either use:
in_format=segy in_data=stdin:
or better and simpler,
in=stdin:
Hint: Avoid using shell "< file
"
redirection. Neither the application nor processing history can see
the actual filename used by the Shell. It is better to define
"in=
" or "in_data=
" instead. This hint
also applies to output redirection. Shell pipes ("|
")
introduce the same uncertainty, but it can not be easily avoided.