ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/man/man1/rcollate.1
(Generate patch)

Comparing ray/doc/man/man1/rcollate.1 (file contents):
Revision 1.3 by greg, Fri Sep 6 21:34:38 2013 UTC vs.
Revision 1.13 by greg, Mon Nov 11 18:50:07 2019 UTC

# Line 1 | Line 1
1   .\" RCSid "$Id$"
2   .TH RCOLLATE 1 7/8/97 RADIANCE
3   .SH NAME
4 < rcollate - resize or transpose matrix data
4 > rcollate - resize or re-order matrix data
5   .SH SYNOPSIS
6   .B rcollate
7   [
8 < .B \-h
8 > .B \-h[io]
9   ][
10   .B \-w
11   ][
12 < .B \-f[afdb][N]]
12 > .B \-f[afdb][N]
13   ][
14   .B \-t
15   ][
# Line 20 | Line 20 | rcollate - resize or transpose matrix data
20   .B "\-oc out_col"
21   ][
22   .B "\-or out_row"
23 + ][
24 + .B "\-o RxC[xR1xC2..]"
25   ]
26   [
27   .B input.dat
# Line 30 | Line 32 | reads in a single matrix file (table) and reshapes it
32   the number of columns specified by the
33   .I \-oc
34   option.
35 + The number of rows may be specified with a
36 + .I \-or
37 + option, or may be determined automatically from the size of the input if
38 + it is an even multiple of the number of columns (as it should be).
39 + Alternatively, both may be specified using a
40 + .I \-o
41 + option with the number of rows and columns separated by an 'x', as in "30x14"
42 + for 30 rows by 14 columns.
43 + .I Rcollate
44 + can also reorder the input into nested blocks by continuing the output size
45 + string.
46 + For example, "3x10X7x2" would order output data with a 3x10 super-array of
47 + 7x2 subblocks.
48 + This type of block hierarchy is convenient for visualizing tensor data.
49 + .PP
50   By default, the file is assumed to include an information header, which
51 < is copied to the standard output along with the command name, but the
51 > is copied to the standard output along with the command name.
52 > The
53 > .I \-hi
54 > option may be used to turn off the expectation of a header on input.
55 > The
56 > .I \-ho
57 > option turns off header output, and
58   .I \-h
59 < option may be used to turn this behavior off.
59 > by itself turns off both input and output headers.
60   The
61   .I \-w
62   option turns off non-fatal warning messages, such as unexpected EOD.
# Line 66 | Line 89 | and
89   would all be equivalent.
90   Note that the lack of row separators in binary files means that
91   .I rcollate
92 < does not actually do anything for binary files unless the transpose
93 < option is given, also.
92 > does not actually do anything for binary files unless the data is being
93 > re-ordered.
94   .PP
95 + If an input header is present, it may contain the format, number of components
96 + and matrix dimensions.
97 + In such cases, the
98 + .I \-ic,
99 + .I \-ir
100 + and
101 + .I \-f
102 + options are not required, but will be checked against the header
103 + information if provided.
104 + .PP
105   The transpose option,
106   .I \-t
107   swaps rows and columns on the input.
108 < For binary files, the user must specify at least one input or output
109 < dimension to define the matrix size.
108 > For binary files with no header information, the user must
109 > specify at least one input or output dimension to define the matrix size.
110   For ASCII files,
111   .I rcollate
112   will automatically determine the number of columns based on the
113   position of the first EOL (end-of-line) character, and the number
114   of rows based on the total count of records in the file.
115   The user may override these determinations, allowing the matrix to
116 < be resized as well as transposed.
117 < If input and output dimensions are given, the number of input rows
118 < must equal the number of output columns,
116 > be resized or re-ordered as well as transposed.
117 > If input and output dimensions are given and there is no block re-ordering,
118 > the number of input rows must equal the number of output columns,
119   and the number of input columns must equal the number of output rows.
120 < For large transpose operations on Unix systems, it is most efficient
121 < to specify the input file on the command line, rather than reading
122 < from the standard input, since
123 < .I rcollate
124 < can map the file directly into memory.
125 < .SH EXAMPLE
120 > If the
121 > .I \-o
122 > option is also given with multiple block levels, the transpose operation
123 > will logically precede the re-ordering operation, regardless of their
124 > position on the command line.
125 > .SH EXAMPLES
126   To change put 8760 color triplets per row in a matrix with no header:
127   .IP "" .2i
128   rcollate -h \-oc 8760 input.dat > col8760.dat
# Line 97 | Line 130 | rcollate -h \-oc 8760 input.dat > col8760.dat
130   To transpose a binary file with 145 float triplets per input row:
131   .IP "" .2i
132   rcollate -ff3 -ic 145 -t orig.flt > transpose.flt
133 + .PP
134 + To create an appropriate header for a binary float matrix as required by
135 + .I rmtxop(1)\:
136 + .IP "" .2i
137 + rcollate -hi -ff3 -or 145 -oc 8760 input.smx | rmtxop dcoef.dmx - > res.txt
138 + .PP
139 + To visualize a Shirley-Chiu BTDF matrix where the interior resolution is
140 + 64x64 and the exterior resolution is 32x32:
141 + .IP "" .2i
142 + rcollate -o 64x64X32x32 s-c_bsdf.mtx | rmtxop -fc - > s-c_bsdf.hdr
143   .SH AUTHOR
144   Greg Ward
145   .SH NOTES
146 + For large transpose or re-ordering operations on Unix systems,
147 + it is most efficient to specify the input file on the command line,
148 + rather than reading from the standard input, since
149 + .I rcollate
150 + can map the file directly into virtual memory.
151 + .PP
152   The
153   .I rcollate
154   command is rather inflexible when it comes to output field and record
# Line 110 | Line 159 | between words and tabs as record separators on output.
159   Output row separtors will always be an EOL, which may differ between systems.
160   .PP
161   If no options are given on the command line, or a binary file is specified
162 < without a transpose,
162 > without a transpose or re-ordering,
163   .I rcollate
164   issues a warning and simply copies its input to its standard output.
165   .SH "SEE ALSO"
166 < cnt(1), histo(1), neaten(1), rcalc(1), rlam(1), tabfunc(1), total(1)
166 > cnt(1), histo(1), neaten(1), rcalc(1), rlam(1), rmtxop(1),
167 > rsplit(1), tabfunc(1), total(1)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines