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. |
47 |
|
coordinates, and the orientation is reversed from a standard |
48 |
|
picture, where Y=0 is the bottom scanline. |
49 |
|
.PP |
50 |
+ |
All matrix formats are supported, including text (ASCII), binary float |
51 |
+ |
and double. |
52 |
|
The |
53 |
|
.I rcrop |
54 |
|
tool also works on encoded normal vector files produced by |
55 |
|
.I rcode_norm(1) |
56 |
|
and encoded depth files produced by |
57 |
|
.I rcode_depth(1). |
58 |
< |
However, it is not able to crop identifier files produced by |
59 |
< |
.I rcode_ident(1). |
58 |
> |
Data is copied verbatim, i.e., there is no internal conversion to |
59 |
> |
another representation, although white space may change in text files. |
60 |
|
.PP |
61 |
|
If no input file is given, data will be taken from the standard input. |
62 |
|
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. |
63 |
|
.SH EXAMPLES |
64 |
|
To crop a matrix down to 15 rows by 19 columns, |
65 |
|
starting at row 10 and column 12: |
74 |
|
starting from upper-left corner: |
75 |
|
.IP "" .2i |
76 |
|
rcrop 0 0 1000 1500 orig.hdr cropped.hdr |
77 |
+ |
.PP |
78 |
+ |
Two ways of computing the inner product of row 15 in matrix 1 by |
79 |
+ |
column 27 in matrix 2 and extracting the result without a header, |
80 |
+ |
the second command being more efficient: |
81 |
+ |
.IP "" .2i |
82 |
+ |
rmtxop -fa mat1.mtx mat2.mtx | rcrop 15 27 1 1 | getinfo - |
83 |
+ |
.IP "" .2i |
84 |
+ |
rmtxop -fa '!rcrop 15 0 1 0 mat1.mtx' '!rcrop 0 27 0 1 mat2.mtx' | getinfo - |
85 |
|
.SH AUTHOR |
86 |
|
Greg Ward |
87 |
|
.SH "SEE ALSO" |
88 |
|
evalglare(1), pcompos(1), rcalc(1), rcode_depth(1), |
89 |
< |
rcode_ident(1), rcode_norm(1), rcollate(1), rfluxmtx(1), rmtxop(1) |
89 |
> |
rcode_norm(1), rcollate(1), rfluxmtx(1), rmtxop(1), rsplit(1) |