-
Notifications
You must be signed in to change notification settings - Fork 1
/
digitizeRadii.html
368 lines (314 loc) · 17.2 KB
/
digitizeRadii.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Collect radial measurements from a calcified structure by interactively selecting annuli — digitizeRadii • RFishBC</title>
<!-- favicons -->
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png" />
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png" />
<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/spacelab/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous"></script>
<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js" integrity="sha256-FiZwavyI2V6+EXO1U+xzLG3IKldpiTFf3153ea9zikQ=" crossorigin="anonymous"></script>
<!-- sticky kit -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/sticky-kit/1.1.3/sticky-kit.min.js" integrity="sha256-c4Rlo1ZozqTPE2RLuvbusY3+SU1pQaJC0TjuhygMipw=" crossorigin="anonymous"></script>
<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>
<meta property="og:title" content="Collect radial measurements from a calcified structure by interactively selecting annuli — digitizeRadii" />
<meta property="og:description" content="The user interactively select points on an image of a calcified structure. When finished, radial measurements (from the structure focus to the selected points) are calculated (either with arbitrary units or actual units if a scale-bar is included on the image) and written to an external file for later use." />
<meta property="og:image" content="http://derekogle.com/RFishBC/logo.png" />
<meta name="twitter:card" content="summary" />
<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container template-reference-topic">
<header>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="../index.html">RFishBC</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.2.2</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
Vignettes
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="../articles/BCIntro.html">Short Introduction</a>
</li>
<li>
<a href="../articles/collectRadiiData.html">Collect Radii Data</a>
</li>
<li>
<a href="../articles/seeRadiiData.html">Visualize Radii Data</a>
</li>
<li>
<a href="../articles/BCCalc.html">Back-Calculating Lengths</a>
</li>
<li>
<a href="../articles/BCWorkflow.html">Suggested Workflow</a>
</li>
<li>
<a href="../articles/Other.html">Other Features</a>
</li>
</ul>
</li>
<li>
<a href="../reference/index.html">Reference</a>
</li>
<li>
<a href="../news/index.html">News</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="../index.html">
<span class="fa fa-home fa-2x"></span>
</a>
</li>
<li>
<a href="https://github.com/droglenc/RFishBC">
<span class="fa fa-github fa-2x"></span>
</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header>
<div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>Collect radial measurements from a calcified structure by interactively selecting annuli</h1>
<div class="hidden name"><code>digitizeRadii.Rd</code></div>
</div>
<div class="ref-description">
<p>The user interactively select points on an image of a calcified structure. When finished, radial measurements (from the structure focus to the selected points) are calculated (either with arbitrary units or actual units if a scale-bar is included on the image) and written to an external file for later use.</p>
</div>
<pre class="usage"><span class='fu'>digitizeRadii</span>(<span class='no'>img</span>, <span class='no'>id</span>, <span class='no'>reading</span>, <span class='no'>suffix</span>, <span class='no'>description</span>, <span class='no'>edgeIsAnnulus</span>, <span class='no'>popID</span>,
<span class='no'>IDpattern</span>, <span class='no'>IDreplace</span>, <span class='no'>windowSize</span>, <span class='no'>deviceType</span>, <span class='no'>closeWindow</span>, <span class='no'>scaleBar</span>,
<span class='no'>scaleBarLength</span>, <span class='no'>scaleBarUnits</span>, <span class='no'>col.scaleBar</span>, <span class='no'>lwd.scaleBar</span>, <span class='no'>scalingFactor</span>,
<span class='no'>makeTransect</span>, <span class='no'>snap2Transect</span>, <span class='no'>col.transect</span>, <span class='no'>lwd.transect</span>, <span class='no'>pch.sel</span>,
<span class='no'>col.sel</span>, <span class='no'>cex.sel</span>, <span class='no'>pch.del</span>, <span class='no'>col.del</span>, <span class='no'>showInfo</span>, <span class='no'>pos.info</span>, <span class='no'>cex.info</span>,
<span class='no'>col.info</span>, <span class='no'>addNote</span>, <span class='no'>note</span>)</pre>
<h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
<table class="ref-arguments">
<colgroup><col class="name" /><col class="desc" /></colgroup>
<tr>
<th>img</th>
<td><p>A vector of strings that indicates the image (must be PNG, JPG, BMP, or TIFF) to be loaded and plotted. By default the user will be provided a dialog box from which to choose the file(s). Alternatively the user can supply the name(s) of the file(s). Either way the file(s) must be in the current working directory.</p></td>
</tr>
<tr>
<th>id</th>
<td><p>A vector of unique identifiers for the fish or structure(s) being examined. Will be coerced to a character. If length of <code>img</code> is greater than 1, then the length of <code>id</code> must be the same. If missing then you will be prompted to enter a value.</p></td>
</tr>
<tr>
<th>reading</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>suffix</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>description</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>edgeIsAnnulus</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>popID</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>IDpattern</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>IDreplace</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>windowSize</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>deviceType</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>closeWindow</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>scaleBar</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>scaleBarLength</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>scaleBarUnits</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>col.scaleBar</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>lwd.scaleBar</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>scalingFactor</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>makeTransect</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>snap2Transect</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>col.transect</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>lwd.transect</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>pch.sel</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>col.sel</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>cex.sel</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>pch.del</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>col.del</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>showInfo</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>pos.info</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>cex.info</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>col.info</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>addNote</th>
<td><p>See details in <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></td>
</tr>
<tr>
<th>note</th>
<td><p>A specific note about this reading (e.g., a note that the image was poor, some annulus were suspect, or the image should be re-read.). If missing then the user will be prompted to include a note if <code>addNote=TRUE</code>.</p></td>
</tr>
</table>
<h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>
<p><code>NULL</code> if more than one file was given in <code>img</code> or, if only one file was given, a list that contains the following:</p><ul>
<li><p><code>image</code>: The full filename given in <code>img</code>.</p></li>
<li><p><code>datanm</code>: The R data filename.</p></li>
<li><p><code>description</code>: The description given in <code>description</code>.</p></li>
<li><p><code>edgeIsAnnulus</code>: The logical given in <code>edgeIsAnnulus</code> that identified whether the structure edge/margin should be considered as an annulus.</p></li>
<li><p><code>snap2Transect</code>: The logical from <code>snap2Transect</code> that identified whether the selected points were “snapped” to the transect or not.</p></li>
<li><p><code>scalingFactor</code>: A single numeric used to convert measurements on the structure image to actual measurements on the structure. Measurements on the structure image were multiplied by this value.</p></li>
<li><p><code>sfSource</code>: A character string that identifies whether the scaling factor was <code>"Provided"</code> through the <code>scalingFactor</code> argument or derived from a <code>"scaleBar"</code>.</p></li>
<li><p><code>sbPts</code>: A data.frame of <code>x</code> and <code>y</code> coordinates for the endpoints of the scale-bar if the scaling factor was derived from a scale-bar.</p></li>
<li><p><code>sbLength</code>: A single numeric that is the known (actual) length of the scale-bar if the scaling factor was derived from a scale-bar.</p></li>
<li><p><code>sbUnits</code>: A single character that is the units of measurement for the known (actual) length of the scale-bar if the scaling factor was derived from a scale-bar.</p></li>
<li><p><code>slpTransect</code>: The slope of the transect.</p></li>
<li><p><code>intTransect</code>: The intercept of the transect.</p></li>
<li><p><code>slpPerpTransect</code>: The slope of the line perpendicular to the transect.</p></li>
<li><p><code>windowSize</code>: A numeric of length two that contains the width and height of the window used to display the structure image. One of these units was set by the given <code>windowSize</code> value.</p></li>
<li><p><code>pixW2H</code>: The ratio of pixel width to height. This is used to correct measurements for when an image is not square.</p></li>
<li><p><code>pts</code>: A data.frame that contains the <code>x</code> and <code>y</code> coordinates on the image for the selected annuli. These points may have been “snapped” to the transect if <code>snap2Transect==TRUE</code>.</p></li>
<li><p><code>radii</code>: A data.frame that contains the unique <code>id</code>, the <code>reading</code> code, the age-at-capture in <code>agecap</code>, the annulus number in <code>ann</code>, the radial measurements in <code>rad</code>, and the radial measurement at capture in <code>radcap</code>.</p></li>
<li><p><code>note</code>: A string that contains a note about the reading (e.g., a note that the image was poor, some annulus were suspect, or the image should be re-read.)</p></li>
</ul><p>.</p>
<h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
<p>This function requires interaction from the user. A detailed description of its use is in the vignettes on the <a href='http://derekogle.com/RFishBC/index.html'>RFishBC website</a>.</p>
<h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2>
<div class='dont-index'><p><code><a href='showDigitizedImage.html'>showDigitizedImage</a></code> and <code><a href='RFBCoptions.html'>RFBCoptions</a></code>.</p></div>
<h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
<pre class="examples"><div class='input'>## None because this requires interaction from the user.
## See the link to the extensive documentation in the Details.
</div></pre>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="sidebar">
<h2>Contents</h2>
<ul class="nav nav-pills nav-stacked">
<li><a href="#arguments">Arguments</a></li>
<li><a href="#value">Value</a></li>
<li><a href="#details">Details</a></li>
<li><a href="#see-also">See also</a></li>
<li><a href="#examples">Examples</a></li>
</ul>
<h2>Author</h2>
<p>Derek H. Ogle, <a href='mailto:derek@derekogle.com'>derek@derekogle.com</a>.</p>
</div>
</div>
<footer>
<div class="copyright">
<p>Developed by Derek Ogle.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.3.0.</p>
</div>
</footer>
</div>
</body>
</html>