<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<!-- lifted from troff+man by doclifter -->
<refentry id='lintran1'>
<!--  @(#)lintran.1 2001/04/02 NIST -->
<!--  I Image Group -->
<!--  G. T. Candela &amp; Craig I. Watson -->

<refmeta>
<refentrytitle>LINTRAN</refentrytitle>
<manvolnum>1A</manvolnum>
<refmiscinfo class='date'>02 April 2001</refmiscinfo>
<refmiscinfo class='source'>NIST</refmiscinfo>
<refmiscinfo class='manual'>NFIS Reference Manual</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>lintran</refname>
<refpurpose>runs a linear transform on a set of vectors.</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
  <command>lintran</command>    
    <arg choice='plain'><replaceable>&lt;vecsfile_in</replaceable></arg>
    <arg choice='opt' rep='repeat'><replaceable>vecsfile_in</replaceable></arg>
    <arg>&gt;</arg>
    <arg choice='plain'><replaceable>&lt;tranmat_file&gt;&lt;nrows_use&gt;&lt;vecsfile_out&gt;&lt;vecsfile_out_desc&gt;&lt;ascii_outfile&gt;&lt;message_freq&gt;</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>


<refsect1 id='description'><title>DESCRIPTION</title>
<para><emphasis remap='B'>Lintran</emphasis>
runs a linear transform on a set of vectors and reduces the
dimensionality of the feature vectors using the given basis
set <emphasis remap='I'>tranmat_file</emphasis>.</para>

<para>If several processors are available, it may be possible to save time,
when transforming a large set of vectors.  First, run
several simultaneous instances of lintran, each instance transforming
a subset of the vectors.  Then, use stackms to combine the resulting
output files, in the sense of stacking together the matrices.  See the
stackms man page.</para>
</refsect1>

<refsect1 id='options'><title>OPTIONS</title>
<variablelist remap='TP'>
  <varlistentry>
  <term><emphasis remap='I'>&lt;vecsfile_in[vecsfile_in...]&gt;</emphasis></term>
  <listitem>
<para>Input data file(s) in PCASYS "matrix" format, each consisting of a
block of the vectors that are to be transformed.  The input vectors
are the rows.  All input vectors must have the same number of elements,
so the second dimensions of these files (if more than one file) must
all be equal. (Usually the output of the <emphasis remap='B'>mkoas</emphasis> command.)</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>&lt;tranmat_file&gt;</emphasis></term>
  <listitem>
<para>A PCASYS "matrix" file containing a transform matrix, some of whose
rows are to be used (see next argument).  The second dimension of
the transform matrix must equal the second dimension of the file(s)
of input vectors. (Usually the output of the <emphasis remap='B'>eva_evt</emphasis> or
<emphasis remap='B'>mktran</emphasis> commands.)</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>&lt;nrows_use&gt;</emphasis></term>
  <listitem>
<para>How many (first) rows of the transform matrix are to be used.
This is how many elements each output vector will have.</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>&lt;vecsfile_out&gt;</emphasis></term>
  <listitem>
<para>The output vectors, stacked together as a PCASYS "matrix" file, each
vector being one row of the matrix.</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>&lt;vecsfile_out_desc&gt;</emphasis></term>
  <listitem>
<para>A string to be written into the output file as its description string.
This string can be of any length, but must not contain embedded
newline characters.  If it contains spaces, tabs, or shell
metacharacters that are not to be expanded, then it should be quoted.
To leave the description empty, use '' (two single quotes, i.e.
single-quoted empty string).  To let lintran make a description
(indicating that lintran was used, and listing the names of the
file(s) of input vectors and of the transform matrix file), use -
(hyphen).</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>&lt;ascii_outfile&gt;</emphasis></term>
  <listitem>
<para>If y, makes an ascii output file; if n, binary.  Binary is
recommended, unless the output file must be portable across different
byte orders or floating-point formats.</para>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term><emphasis remap='I'>&lt;message_freq&gt;</emphasis></term>
  <listitem>
<para>If a positive integer, then every this many vectors through each input
file lintran writes a progress message to the standard output.  If
zero, no messages.</para>
  </listitem>
  </varlistentry>
</variablelist>
</refsect1>

<refsect1 id='examples'><title>EXAMPLE(S)</title>
<para>From <emphasis remap='I'>test/pcasys/execs/lintran/lintran.src</emphasis>:</para>

<!-- .RS -->
<para><emphasis remap='B'>% lintran ../mkoas/sv10.oas ../eva_evt/fv1-9.evt 128 sv10mlp.kls - n 100</emphasis>
<!-- .br -->
Does transformation using a eigen-vector set made by the
<emphasis remap='B'>eva_evt</emphasis> command.  Used by MLP classifier.</para>

<para><emphasis remap='B'>% lintran ../mkoas/sv10.oas ../mktran/fv1-9.opt 64 sv10pnn.kls - n 100</emphasis>
<!-- .br -->
Does transformation using a set of eigen-vectors that were
adjusted using the <emphasis remap='B'>optrws</emphasis> and <emphasis remap='B'>mktran</emphasis> commands.
Used by the PNN classifier.</para>
</refsect1>

<refsect1 id='see_also'><title>SEE ALSO</title>
<para>asc2bin (1A), bin2asc (1A), eva_evt (1A), mkoas (1A), mktran (1A),
stackms (1A)</para>

</refsect1>

<refsect1 id='author'><title>AUTHOR</title>
<para>NIST/ITL/DIV894/Image Group</para>
</refsect1>
</refentry>

