| 1 |
greg |
1.6 |
.\" RCSid "$Id: rcrop.1,v 1.5 2022/03/17 17:08:27 greg Exp $" |
| 2 |
greg |
1.1 |
.TH RCROP 1 3/14/2022 RADIANCE |
| 3 |
|
|
.SH NAME |
| 4 |
|
|
rcrop - crop RADIANCE matrix or picture |
| 5 |
|
|
.SH SYNOPSIS |
| 6 |
|
|
.B "rcrop row0 col0 nrows ncols" |
| 7 |
|
|
[ |
| 8 |
|
|
.B input |
| 9 |
|
|
[ |
| 10 |
|
|
.B output |
| 11 |
|
|
] |
| 12 |
|
|
] |
| 13 |
|
|
.SH DESCRIPTION |
| 14 |
|
|
.I Rcrop |
| 15 |
|
|
copies the indicated section of a matrix or RADIANCE picture. |
| 16 |
|
|
The four required arguments are the initial row (scanline) to copy, |
| 17 |
|
|
the initial column, the number of rows to copy, and the number of columns |
| 18 |
|
|
to include per row. |
| 19 |
|
|
Note that rows are numbered from 0 at the top of a matrix or picture, |
| 20 |
|
|
and columns are changing fastest in the input, which can have any number |
| 21 |
|
|
of components per matrix element. |
| 22 |
|
|
.PP |
| 23 |
greg |
1.3 |
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 |
greg |
1.1 |
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. |
| 36 |
|
|
Similarly, a 0 value for the number of columns to copy implies all |
| 37 |
|
|
columns >= col0 will be copied. |
| 38 |
|
|
.PP |
| 39 |
|
|
Using |
| 40 |
|
|
.I rcrop |
| 41 |
|
|
on a RADIANCE picture rather than |
| 42 |
|
|
.I pcompos(1) |
| 43 |
|
|
corrects the view parameters if present, |
| 44 |
|
|
and preserves the exposure in a way that is compatible with |
| 45 |
|
|
.I evalglare(1). |
| 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 |
greg |
1.6 |
Spectral pictures, as might be produced by |
| 50 |
|
|
.I rtrace(1) |
| 51 |
|
|
or |
| 52 |
|
|
.I rfluxmtx(1), |
| 53 |
|
|
are also supported. |
| 54 |
greg |
1.1 |
.PP |
| 55 |
greg |
1.5 |
All matrix formats are supported, including text (ASCII), binary float |
| 56 |
|
|
and double. |
| 57 |
greg |
1.2 |
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 |
greg |
1.5 |
Data is copied verbatim, i.e., there is no internal conversion to |
| 64 |
|
|
another representation, although white space may change in text files. |
| 65 |
greg |
1.2 |
.PP |
| 66 |
greg |
1.1 |
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. |
| 68 |
|
|
.SH EXAMPLES |
| 69 |
|
|
To crop a matrix down to 15 rows by 19 columns, |
| 70 |
|
|
starting at row 10 and column 12: |
| 71 |
|
|
.IP "" .2i |
| 72 |
|
|
rcrop 10 12 15 19 input.mtx > output.mtx |
| 73 |
|
|
.PP |
| 74 |
|
|
To extract column 35 from a matrix: |
| 75 |
|
|
.IP "" .2i |
| 76 |
|
|
rcrop 0 35 0 1 orig.mtx > col35.mtx |
| 77 |
|
|
.PP |
| 78 |
|
|
To crop a picture to (X by Y) = (1500 by 1000), |
| 79 |
|
|
starting from upper-left corner: |
| 80 |
|
|
.IP "" .2i |
| 81 |
|
|
rcrop 0 0 1000 1500 orig.hdr cropped.hdr |
| 82 |
greg |
1.3 |
.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 |
greg |
1.1 |
.SH AUTHOR |
| 91 |
|
|
Greg Ward |
| 92 |
|
|
.SH "SEE ALSO" |
| 93 |
greg |
1.6 |
evalglare(1), pcompos(1), rcalc(1), rcode_depth(1), rcode_norm(1), |
| 94 |
|
|
rcollate(1), rfluxmtx(1), rmtxop(1), rsplit(1), rtrace(1) |