53 |
|
.I \-s |
54 |
|
options follow the last input matrix, output results will be transformed |
55 |
|
and/or scaled accordingly. |
56 |
< |
These operations are discussed in greater detail further on. |
56 |
> |
These operations are discussed in greater detail below. |
57 |
|
A single concatenation matrix may be applied after element operations |
58 |
|
using the |
59 |
|
.I \-m |
71 |
|
.fi |
72 |
|
.sp |
73 |
|
The number of components indicates that each matrix element is actually |
74 |
< |
composed of multiple elements, most commonly an RGB triple. |
74 |
> |
composed of multiple channels, most commonly an RGB triple. |
75 |
|
This is essentially dividing the matrix into planes, where each component |
76 |
|
participates in a separate calculation. |
77 |
|
If an appropriate header is not present, it may be added with a call to |
94 |
|
option. |
95 |
|
Radiance spectral pictures with more than 3 components are also supported. |
96 |
|
These are typically produced by |
97 |
< |
.I rtrace(1) |
97 |
> |
.I rtpict(1) |
98 |
|
or |
99 |
|
.I rfluxmtx(1). |
100 |
|
.PP |
188 |
|
or |
189 |
|
.I \-f |
190 |
|
options are used to define a "co" variable or "co(p)" function, |
191 |
< |
this will be evaluated at each output |
192 |
< |
component for the current element. |
191 |
> |
which will be evaluated for each output |
192 |
> |
component from the current element. |
193 |
|
The "co" variable defines identical operations for all components, |
194 |
|
whereas "co(p)" may specify different operations for each component. |
195 |
|
The element position is defined |
207 |
|
If given as "ci(i)", the function returns the current component |
208 |
|
being evaluated by |
209 |
|
.I rcomb. |
210 |
< |
A different component may be referenced using th second argument. |
210 |
> |
A different component may be referenced using the second argument. |
211 |
|
For example, "ci(1,2)" accesses |
212 |
|
the second component from the first input. |
213 |
|
If the input is a picture, the the constants "R", "G", and "B" |
222 |
|
the functions "ri(i)", "gi(i)", and "bi(i)" are predefined as |
223 |
|
"ci(i,R)", "ci(i,G)", and "ci(i,B)", respectively. |
224 |
|
Accordingly, the "ro", "go", and "bo" |
225 |
< |
variables may be used in place of "co(R)", "co(G)", and "co(B)". |
225 |
> |
variables may be used in place of "co(R)", "co(G)", and "co(B)", |
226 |
> |
but all three must be defined for this substitution to take place. |
227 |
|
Finally, the total number of input files is set in the constant "nfiles". |
228 |
|
.PP |
229 |
|
Results are sent to the standard output. |
281 |
|
.I pcomb, |
282 |
|
whose capabilities somewhat overlap. |
283 |
|
The former loads each matrix into memory before operations, |
284 |
< |
and element components take 8 bytes apiece, adding up quickly. |
284 |
> |
and element components are stored as double-precision. |
285 |
|
Very large matrices therefore present a problem with that tool. |
286 |
|
Furthermore, |
287 |
|
.I rmtxop |
314 |
|
.I rcomb |
315 |
|
should be preferred over |
316 |
|
.I rmtxop |
317 |
< |
for any operations in can handle, which is everything except |
317 |
> |
for any operations it can handle, which is everything except |
318 |
|
multiple matrix concatenations and transpose |
319 |
< |
operations, which are handled more efficiently by |
320 |
< |
.I rcollate(1) |
321 |
< |
in any case. |
319 |
> |
operations. |
320 |
> |
The latter may be handled more efficiently by |
321 |
> |
.I rcollate(1). |
322 |
|
That said, there is no significant difference for |
323 |
< |
simple operations on smallish matrices, and note that only |
323 |
> |
simple operations on small matrices, and only |
324 |
|
.I rmtxop |
325 |
|
and |
326 |
|
.I dctimestep(1) |
327 |
< |
currently accept XML files as inputs. |
328 |
< |
Also, the resizing function of |
327 |
> |
accept XML files as inputs. |
328 |
> |
Also note that the resizing function of |
329 |
|
.I pcomb |
330 |
|
is not supported in |
331 |
|
.I rcomb, |
332 |
|
and should instead be handled by |
333 |
|
.I pfilt(1). |
334 |
+ |
.SH BUGS |
335 |
+ |
The |
336 |
+ |
.I rcomb |
337 |
+ |
command currently ignores the "PRIMARIES" setting in input |
338 |
+ |
headers, and does not produce any on output, even in |
339 |
+ |
circumstances where it would make sense to. |
340 |
|
.SH AUTHOR |
341 |
|
Greg Ward |
342 |
|
.SH "SEE ALSO" |