20 |
|
and columns are changing fastest in the input, which can have any number |
21 |
|
of components per matrix element. |
22 |
|
.PP |
23 |
+ |
The input must have a valid header, including dimensions and format, |
24 |
+ |
and a header will always be produced. |
25 |
+ |
This is similar behavior to |
26 |
+ |
.I rmtxop(1). |
27 |
+ |
If the input header is missing, one can usually be added with an |
28 |
+ |
appropriate call to |
29 |
+ |
.I rcollate(1). |
30 |
+ |
If an output header is not desired, it can be removed using |
31 |
+ |
.I getinfo(1). |
32 |
+ |
.PP |
33 |
|
One cannot specify crop boundaries outside the matrix dimension limits. |
34 |
|
If a 0 value is specified for the number of rows to copy, then all rows |
35 |
|
will be copied, starting from row0. |
46 |
|
However, one must remember that rows correspond to Y |
47 |
|
coordinates, and the orientation is reversed from a standard |
48 |
|
picture, where Y=0 is the bottom scanline. |
49 |
+ |
Spectral pictures, as might be produced by |
50 |
+ |
.I rtrace(1) |
51 |
+ |
or |
52 |
+ |
.I rfluxmtx(1), |
53 |
+ |
are also supported. |
54 |
|
.PP |
55 |
+ |
All matrix formats are supported, including text (ASCII), binary float |
56 |
+ |
and double. |
57 |
|
The |
58 |
|
.I rcrop |
59 |
|
tool also works on encoded normal vector files produced by |
60 |
|
.I rcode_norm(1) |
61 |
|
and encoded depth files produced by |
62 |
|
.I rcode_depth(1). |
63 |
< |
However, it is not able to crop identifier files produced by |
64 |
< |
.I rcode_ident(1). |
63 |
> |
Data is copied verbatim, i.e., there is no internal conversion to |
64 |
> |
another representation, although white space may change in text files. |
65 |
|
.PP |
66 |
|
If no input file is given, data will be taken from the standard input. |
67 |
|
If no output file is specified, data will be copied to the standard output. |
51 |
– |
All matrix formats are supported, including text (ASCII), binary float |
52 |
– |
and double. |
53 |
– |
Data is copied verbatim, i.e., there is no internal conversion to |
54 |
– |
another representation, although white space may change in text files. |
68 |
|
.SH EXAMPLES |
69 |
|
To crop a matrix down to 15 rows by 19 columns, |
70 |
|
starting at row 10 and column 12: |
79 |
|
starting from upper-left corner: |
80 |
|
.IP "" .2i |
81 |
|
rcrop 0 0 1000 1500 orig.hdr cropped.hdr |
82 |
+ |
.PP |
83 |
+ |
Two ways of computing the inner product of row 15 in matrix 1 by |
84 |
+ |
column 27 in matrix 2 and extracting the result without a header, |
85 |
+ |
the second command being more efficient: |
86 |
+ |
.IP "" .2i |
87 |
+ |
rmtxop -fa mat1.mtx mat2.mtx | rcrop 15 27 1 1 | getinfo - |
88 |
+ |
.IP "" .2i |
89 |
+ |
rmtxop -fa '!rcrop 15 0 1 0 mat1.mtx' '!rcrop 0 27 0 1 mat2.mtx' | getinfo - |
90 |
|
.SH AUTHOR |
91 |
|
Greg Ward |
92 |
|
.SH "SEE ALSO" |
93 |
< |
evalglare(1), pcompos(1), rcalc(1), rcode_depth(1), |
94 |
< |
rcode_ident(1), rcode_norm(1), rcollate(1), rfluxmtx(1), rmtxop(1) |
93 |
> |
evalglare(1), pcompos(1), rcalc(1), rcode_depth(1), rcode_norm(1), |
94 |
> |
rcollate(1), rfluxmtx(1), rmtxop(1), rsplit(1), rtrace(1) |