This vignette suggests a workflow for back-calculating fish length at a previous age from measurements made to annuli on a calcified structure. This vignette assumes that you have a general understanding of the purpose and methods of back-calculation as described in the Short Introduction to Back-Calculation vignette.

  1. Create a folder/directory for all files created below.

    • Generally, all files in this folder/directory should pertain to one “set” of fish (perhaps a species for a particular year at a particular location).
  2. Create a data file that contains all pertinent information about each individual fish to be examined.

    • This file should contain at least the fish’s unique identification number and length at the time of capture. Other information may include the date of capture, capture gear, location of capture, and sex of the fish, for example.
  3. Obtain quality digital images of calcified structures on which annuli can be identified.

    • Images should be saved in one of the following “bitmapped” formats – JPG/JPEG, PNG, BMP, TIFF/TIF.
    • The filename should be “informative” (suggest having at least the fish’s unique identification number).
    • Preferably, these images should have a “scale” of known length on the image. If not, then the image should be obtained at a known magnification and another image with an object of known length should be obtained at the same magnification. This image will be used to define a scaling factor to convert pixels on the image to actual lenths on the structure.
  4. Start (and save) an R script.

  5. (OPTIONAL) Use findScalingFactor() with the image of an object of known length at a specific magnification to derive an appropriate scaling factor for converting image pixels to actual lengths on the structure.

    • This is NOT required if
      • each structure image has a “scale” of known length on it.
      • you will back-calculate lengths at previous ages using a model that does not require the relationship between fish length and structure length to be known (e.g., the Dahl-Lea method or Fraser-Lee method using a known length correction), or
      • you don’t plan to back-calculate lengths at previous ages (i.e., you will simply record annuli).
    • This may need to be repeated if your structure images were captured at more than one magnification. In that case, you will need to keep track of the correction factor for each magnification.
  6. (OPTIONAL, BUT SUGGESTED) Use RFBCoptions() as described in the “Setting Argument Defaults for a Session” section of the Collecting Radii Data vignette to set options used by digitizeRadii() for all images to be digitized during the session.

    • Options commonly set at this time are reading; description; suffix; edgeIsAnnulus; and scalingFactor or scaleBar and scaleBarLength. Descriptions for each option are in the documentation for RFishBC().
  7. Use digitizeRadii() to mark annuli on a structure image as described in the “Measure Radii” section of the Collecting Radii Data vignette.

  8. (OPTIONAL, AS NEEDED) Examine the selected annuli with showDigitizedImage() as described in the “Visualize One Set of Annuli” section of the Visualize Radii Data vignette.

  9. Repeat the previous two steps for each structure in the working directory. Note that digitizeRadii() can accept more than one image name to streamline the processing of many images. The use of multiple image names is described in “Processing Multiple Images” section of the Collecting Radii Data vignette.

  10. Use combineData() to combine the radial measurements from all analyzed images into a data.frame as described in the “Combine Data from Multiple Structures” section of the Collecting Radii Data vignette.

  11. Use write.csv() to write the data.frame from the previous step to an external CSV file as described in the “Output Data File” sections of the Collecting Radii Data vignette.

  12. Back-calculate lengths at previous ages as described in the Compute Back-Calculated Lengths vignette.