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 |
|
[ |
20 |
|
.B "\-oc out_col" |
21 |
|
][ |
22 |
|
.B "\-or out_row" |
23 |
+ |
][ |
24 |
+ |
.B "\-o RxC[xR1xC2..]" |
25 |
|
] |
26 |
|
[ |
27 |
|
.B input.dat |
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. |
52 |
|
The |
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. |
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 virtual memory. |
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 |
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 |
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" |