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.2 by greg, Thu Sep 5 18:50:30 2013 UTC vs.
Revision 1.18 by greg, Thu Jan 25 19:25:50 2024 UTC

# Line 1 | Line 1
1   .\" RCSid "$Id$"
2 < .TH RCOLLATE 1 7/8/97 RADIANCE
2 > .TH RCOLLATE 1 9/5/2013 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 \-f[afdb][N]]
10 > .B \-w
11   ][
12 + .B \-c
13 + ][
14 + .B \-f{a|f|d|b}[N]
15 + ][
16   .B \-t
17   ][
18   .B "\-ic in_col"
# Line 18 | Line 22 | rcollate - resize or transpose matrix data
22   .B "\-oc out_col"
23   ][
24   .B "\-or out_row"
25 + ][
26 + .B "\-o RxC[xR1xC2..]"
27   ]
28   [
29   .B input.dat
# Line 28 | Line 34 | reads in a single matrix file (table) and reshapes it
34   the number of columns specified by the
35   .I \-oc
36   option.
37 + The number of rows may be specified with a
38 + .I \-or
39 + option, or may be determined automatically from the size of the input if
40 + it is an even multiple of the number of columns (as it should be).
41 + Alternatively, both may be specified using a
42 + .I \-o
43 + option with the number of rows and columns separated by an 'x', as in "30x14"
44 + for 30 rows by 14 columns.
45 + .I Rcollate
46 + can also reorder the input into nested blocks by continuing the output size
47 + string.
48 + For example, "3x10X7x2" would order output data with a 3x10 super-array of
49 + 7x2 subblocks.
50 + This type of block hierarchy is convenient for visualizing tensor data.
51 + .PP
52   By default, the file is assumed to include an information header, which
53 < is copied to the standard output along with the command name, but the
53 > is copied to the standard output along with the command name.
54 > The
55 > .I \-hi
56 > option may be used to turn off the expectation of a header on input.
57 > The
58 > .I \-ho
59 > option turns off header output, and
60   .I \-h
61 < option may be used to turn this behavior off.
61 > by itself turns off both input and output headers.
62 > The
63 > .I \-w
64 > option turns off non-fatal warning messages, such as unexpected EOD.
65   .PP
66 + Normally,
67 + .I rcollate
68 + detects whether any transformation is actually taking place, and will
69 + reproduce the data verbatim if the input size and shape should be unaltered.
70 + The
71 + .I \-c
72 + opiton forces the operation to proceed, even if it appears to be a no-op,
73 + which can be useful to correct a misshapen input matrix or check that
74 + the data is the proper size and formatted correctly (in the case of ASCII input).
75 + .PP
76   The input format is assumed to be ASCII, with three white-space separated words
77   (typically numbers) in each record.
78   A different input format may be specified with the
# Line 61 | Line 101 | and
101   would all be equivalent.
102   Note that the lack of row separators in binary files means that
103   .I rcollate
104 < does not actually do anything for binary files unless the transpose
105 < option is given, also.
104 > does not actually do anything for binary files unless the data is being
105 > re-ordered.
106   .PP
107 + If an input header is present, it may contain the format, number of components
108 + and matrix dimensions.
109 + In such cases, the
110 + .I \-ic,
111 + .I \-ir
112 + and
113 + .I \-f
114 + options are not required, but will be checked against the header
115 + information if provided.
116 + An exception is made for
117 + .I \-fbN
118 + where N>1, when no checks are made against the header,
119 + and the given length is assumed
120 + to be the exact size (in bytes) of each data record.
121 + .PP
122   The transpose option,
123   .I \-t
124   swaps rows and columns on the input.
125 < For binary files, the user must specify at least one input or output
126 < dimension to define the matrix size.
125 > For binary files with no header information, the user must
126 > specify at least one input or output dimension to define the matrix size.
127   For ASCII files,
128   .I rcollate
129   will automatically determine the number of columns based on the
130   position of the first EOL (end-of-line) character, and the number
131   of rows based on the total count of records in the file.
132   The user may override these determinations, allowing the matrix to
133 < be resized as well as transposed.
134 < If input and output dimensions are given, the number of input rows
135 < must equal the number of output columns,
133 > be resized or re-ordered as well as transposed.
134 > If input and output dimensions are given and there is no block re-ordering,
135 > the number of input rows must equal the number of output columns,
136   and the number of input columns must equal the number of output rows.
137 < For large transpose operations on Unix systems, it is most efficient
138 < to specify the input file on the command line, rather than reading
139 < from the standard input, since
140 < .I rcollate
141 < can map the file directly into memory.
142 < .SH EXAMPLE
137 > If the
138 > .I \-o
139 > option is also given with multiple block levels, the transpose operation
140 > will logically precede the re-ordering operation, regardless of their
141 > position on the command line.
142 > .SH EXAMPLES
143   To change put 8760 color triplets per row in a matrix with no header:
144   .IP "" .2i
145   rcollate -h \-oc 8760 input.dat > col8760.dat
# Line 92 | Line 147 | rcollate -h \-oc 8760 input.dat > col8760.dat
147   To transpose a binary file with 145 float triplets per input row:
148   .IP "" .2i
149   rcollate -ff3 -ic 145 -t orig.flt > transpose.flt
150 + .PP
151 + To create an appropriate header for a binary float matrix as required by
152 + .I rmtxop(1)\:
153 + .IP "" .2i
154 + rcollate -hi -ff3 -or 145 -oc 8760 input.smx | rmtxop dcoef.dmx - > res.txt
155 + .PP
156 + To visualize a Shirley-Chiu BTDF matrix where the interior resolution is
157 + 64x64 and the exterior resolution is 32x32:
158 + .IP "" .2i
159 + rcollate -o 64x64X32x32 s-c_bsdf.mtx | rmtxop -fc - > s-c_bsdf.hdr
160   .SH AUTHOR
161   Greg Ward
162   .SH NOTES
163 + For large transpose or re-ordering operations on Unix systems,
164 + it is most efficient to specify the input file on the command line,
165 + rather than reading from the standard input, since
166 + .I rcollate
167 + can map the file directly into virtual memory.
168 + .PP
169   The
170   .I rcollate
171   command is rather inflexible when it comes to output field and record
# Line 105 | Line 176 | between words and tabs as record separators on output.
176   Output row separtors will always be an EOL, which may differ between systems.
177   .PP
178   If no options are given on the command line, or a binary file is specified
179 < without a transpose,
179 > without a transpose or re-ordering,
180   .I rcollate
181   issues a warning and simply copies its input to its standard output.
182   .SH "SEE ALSO"
183 < cnt(1), histo(1), neaten(1), rcalc(1), rlam(1), tabfunc(1), total(1)
183 > cnt(1), histo(1), neaten(1), rcalc(1), rcomb(1), rcrop(1), rlam(1),
184 > rsensor(1), rmtxop(1), rsplit(1), tabfunc(1), total(1)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines